7226| 0
|
[官方教程] Maixduino系列实验 (9)- 学习搭建MaixPy IDE(Micropython)开发... |
Maixduino系列实验(9)---学习搭建MaixPy IDE(Micropython)开发环境MaixPy是将Micropython移植到K210(一款64位双核带硬件FPU丶卷积加速器丶FFT丶sha256的RISC-V CPU)的一个项目,支持MCU常规操作,更集成了机器视觉和麦克风阵列,以快速开发具有极低成本和体积实用的AIOT领域智能应用。 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等,实现各种功能,而不用再去研究底层模块的使用方法。这样不但降低了开发难度,而且减少了重复开发工作,可以加快开发速度,提高了开发效率。以前需要较高水平的嵌入式工程师花费数天甚至数周才能完成的功能,现在普通的嵌入式开发者用几个小时就能实现类似的功能,而且要更加轻松和简单。 MicroPython系统的经典结构由三部分组成,分别是微控制器硬件(这里是-Maixduino)、MicroPython固件、用户程序。MicroPython支持的类型开发板,需要自己编译源代码,产生固件,并将固件下载到微控制器中才能运行MicroPython。 第一步是更新MaixPy 固件
https://dl.sipeed.com/MAIX/MaixPy/release/master/ 第二步是下载烧录软件kflash_gui 应用,直接下载GitHub项目工程,下载完成点击“kflash_gui.exe”文件。资料页 https://github.com/sipeed/kflash_gui 下载页面 https://github.com/sipeed/kflash_gui/releases 经测试,1.24、1.25和1.32都能打开(这里使用v1.32版本来烧录固件) 几个选项选好 附: 支持 .bin 和 .kfpgk 文件, 支持文件选择器选择 支持开发板选择 可选择程序烧录到 Flash 或者 SRAM 自动检测电脑上的串口 波特率可编辑 黑白两种皮肤可供选择 界面支持中英文切换 支持烧录进度显示和烧录速度显示 支持取消下载进程 支持合并多个 bin 文件为一个 bin 文件 支持把 kfpkg 文件转换为一个 bin 文件 支持使能 bin 文件 自动识别文件是不是固件 kflash_gui 使用方法 解压, 并双击 kflash_gui.exe 或 kflash_gui 如果是 Linux, 可以修改 kflash_gui.desktop 里面的路径, 然后用管理员身份复制到/usr/share/application 目录, 然后就可以在系统菜单里面找到kflash_gui的图标了,点击即可打开 选择 bin 文件或者 kfpkg 文件, 如果是bin文件需要指定地址,如果是固件需要指定0×0000地址 选择开发板 选择串口 通常一个固件文件中至少有四个文件,以“maixpy_v0.5.0_31_gd3e71c0”固件为例,具体说明如下: eif_maixpy_v0.5.0_31_gd3e71c0.7z:普通用户不用关心,用于死机调试; maixpy_v0.5.0_31_gd3e71c0_m5stickv:M5STACK环境; maixpy_v0.5.0_31_gd3e71c0_minimum: MaixPy固件最小集合,不支持 MaixPy IDE, 不包含OpenMV的相关算法; maixpy_v0.5.0_31_gd3e71c0.bin:完整版的MaixPy固件。 这里我们需要使用maixpy_v0.5.0_31_gd3e71c0.bin:完整版的MaixPy固件。 第三步是安装MaixPy IDE
https://cn.dl.sipeed.com/MAIX/MaixPy/ide http://dl.sipeed.com/MAIX/MaixPy/ide/_/v0.2.4/maixpy-ide-windows-0.2.4.exe
第四步是测试运行MaixPy IDE
rst:0×1(POWERON-u RESET),引导:0×13(SPI FAST-u FLASH-u引导) 配置SIP:0,SPIWP:0xee Drv:0×00,q:0×00,d Drv:0×00,cs0 Drv:0×00,hd Drv:0×00,wp Drv:0×00 模式:DIO,时钟div:2 负载:0×3fff0018,长度:4 负载:0×3fff001c,长度:868 负载:0×40078000,长度:9436 负载:0×40080400,长度:5668 条目0×4008068c
经检查,前面烧录的固件错了,应该是最后这个(完整版) 烧录完成,打开串口,可以看到相关详情 终于连接上了,见底栏的固件版本 0.50
实时拍照
实时采集并显示图像在TFT屏上,并获取和显示实时帧数
阴天光线不太好,实时帧数为16 fps 第五步是使用串口工具
查看设备是否已经正确识别: 在 Windows 下可以打开设备管理器来查看 如果没有发现设备, 需要确认有没有装驱动以及接触是否良好
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
https://xshell.en.softonic.com/download
然后点击回车键,即可看到 MaixPy 的交互界面了
使用串口终端PuTTY打开串口,然后复位(或按ctrl+D),看输出的版本信息,与github 或者 master 分支 的固件版本对比,根据当前版本情况考虑升级到最新版本。这里版本是 v0.5.0-31-gd3e71c0
KPU gc random uio Maix hashlib re ujson main heapq sensor ulab _boot image socket uos _thread json struct urandom _webrepl lcd sys ure array machine time usocket audio math touchscreen ustruct binascii math ubinascii utime board micropython ucollections utimeq builtins modules ucryptolib uzlib cmath nes uctypes video collections network uerrno zlib errno os uhashlib fpioa_manager pye_mp uheapq Plus any modules on the filesystem |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed