尝试搭建K210的Micropython开发环境(Win10)-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: eagler8

尝试搭建K210的Micropython开发环境(Win10)

[复制链接]
 楼主| 发表于 2020-3-27 09:20 | 显示全部楼层
10.jpg

11.jpg
 楼主| 发表于 2020-3-27 09:20 | 显示全部楼层
12.jpg
 楼主| 发表于 2020-3-27 09:21 | 显示全部楼层
13.jpg
14.jpg
 楼主| 发表于 2020-3-27 09:22 | 显示全部楼层
15.jpg
16.jpg
 楼主| 发表于 2020-3-27 09:26 | 显示全部楼层
06 (5)-.jpg
  • CPU:带FPU的双核64位RISC-V;400MHz神经网络处理器
  • QVGA@60FPS/VGA@30FPS图像识别
  • 板载ESP32模块支持2.4G 802.11.b/g/n和蓝牙4.2
  • Arduino Uno外形,Arduino兼容接口
  • 板载全向I[size=75%]2S数字输出MEMS麦克风
  • 用于DVP相机的24P 0.5mm FPC连接器
  • 8位MCU LCD 24P 0.5mm FPC连接器
  • 基于卷积神经网络的机器视觉

06 (4)-.jpg

   

   
        
  • 支持自弹式micro SD卡支架
  • 重置和启动按钮;3W DAC+PA音频输出
  • 连接USB Type-C电缆以完成下载
  • 用于机器听觉的高性能麦克风阵列处理器
  • 支持MaixPy IDE、Arduino IDE、OpenMV IDE和PlatformIO IDE
  • 支持Tiny-Yolo、Mobilenet和TensorFlow Lite,用于深度学习






 楼主| 发表于 2020-3-27 09:34 | 显示全部楼层
000.jpg

四、Micropython的来历

MicroPython是英国剑桥大学的教授 Damien George(达米安·乔治)所发明,Damien George 是一名计算机工程师,他每天都要使用 Python 语言工作,同时也在做一些机器人项目。有一天,他突然冒出了一个想法:能否用Python语言来控制单片机,进行实现对机器人的操控呢?

大家都知道,Python 是一款非常容易使用的脚本语言,它的语法简洁,使用简单,功能强大,容易扩展。而且python有强大的社区支持,有非常多的库可以使用,它的网络功能和计算功能也很强,可以方便的和其它语言配合使用,使用者也可以开发自己库,因此python被广泛应用于工程管理、网络编程、科学计算、人工智能、机器人、教育等许多行业,python语言也长期在编程语言排行榜上处于前五的位置。更重要的是python也是完全开源的,不像Windows、Java那样受到某些大公司的控制和影响,它完全是靠社区在推动和维护,所以python受到越来越多的开发者青睐。不过遗憾的是,因为受到硬件成本、运行性能、开发习惯等一些原因的影响,前些年python并没有在通用嵌入式方面得到太多的应用。

随着半导体技术和制造工艺的快速发展,芯片的升级换代速度也越来越快,芯片的功能、内部的存储器容量和资源不断增加,而成本却在不断降低。特别是随着象ST公司和乐鑫公司高性价比的芯片和方案应用越来越多,这就给python在低端嵌入式系统上的使用带来了可能。

Damien 花费了六个月的时间开发了MicroPython。MicroPython本身使用GNU C进行开发,在ST公司的微控制器上实现了Python 3的基本功能,拥有完善的解析器、编译器、虚拟机和类库等。在保留了python语言主要特性的基础上,他还对嵌入式系统的底层做了非常不错的封装,将常用功能都封装到库中,甚至为一些常用的传感器和硬件编写了专门的驱动。我们使用时只需要通过调用这些库和函数,就可以快速控制LED、液晶、舵机、多种传感器、SD、UART、I2C等,实现各种功能,而不用再去研究底层模块的使用方法。这样不但降低了开发难度,而且减少了重复开发工作,可以加快开发速度,提高了开发效率。以前需要较高水平的嵌入式工程师花费数天甚至数周才能完成的功能,现在普通的嵌入式开发者用几个小时就能实现类似的功能,而且要更加轻松和简单。

 楼主| 发表于 2020-3-27 09:44 | 显示全部楼层
本帖最后由 eagler8 于 2020-3-27 09:48 编辑

MicroPython系统结构
由微控制器硬件(这里使用Maixduino开发板)、MicroPython固件和用户程序组成。硬件和MicroPython固件时最为基础也是相对固定的,而用户程序可以随时改变,可以存放多个用户程序到系统中随时调用或切换,这也是使用MircoPyton的一大优势和特点。板子刚下流水线或者官方有新版固件,用户可以重新下载MicroPython固件,类似于电脑重装系统,如果用户在应用中不小心"搞坏"了MicroPython固件,可以通过板子上的按键操作恢复出厂设置。

MicroPython特点
Python 3 语法
完整的Python词法分析器, 解析器,编译器,虚拟机和运行时。
包含命令行接口,可离线运行。
Python 字节码由内置虚拟机编译运行.
有效的内部存储算法,能带来高效的内存利用率。整数变量存储在内存堆中,而不是栈中。
使用Python decorators特性,函数可以被编译成原生机器码,虽然这一特性会带来大约2倍的内存消耗,但也使python有更快的执行速度。
函数编译可设置使用底层整数代替python内建对象作为数字使用。有些代码的运行效率可以媲美c的效率,并且可以被python直接调用,适合做时间紧迫性,运算复杂度高的应用。
通过内联汇编功能,应用可以完全接入底层运行时,内联汇编器也可以像普通的python函数一样调用。
基于简单和快速标记的内存垃圾回收算法,运行周期少于4ms,许多函数都可以避免使用栈内存段,因此也不需要垃圾回收功能。

0 (1).jpg

 楼主| 发表于 2020-3-27 09:52 | 显示全部楼层
五、MzixPy项目

17 (1).jpg
 楼主| 发表于 2020-3-27 09:53 | 显示全部楼层
18 (1).jpg
 楼主| 发表于 2020-3-27 09:56 | 显示全部楼层
本帖最后由 eagler8 于 2020-3-27 10:42 编辑

1、安装开发板串口驱动
正常情况下,win10 ,linux3.0+ ,mac os都可以自动识别并安装串口驱动。如果遇到驱动失败,可以去 FTDI 官网下载对应的 VCP 驱动程序。
https://www.ftdichip.com/Drivers/VCP.htm
win驱动下载地址:http://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip

如果到驱动安装不正确,请彻底卸载原驱动,下载官方驱动,切断网络并安装驱动即可解决问题。

19.jpg



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-27 10:13 , Processed in 0.080226 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表