[STM32F4] 在NUCLEO-F412ZG上移植MicroPython

[复制链接]
1875|8
 楼主| hbzjt2011 发表于 2016-11-8 21:38 | 显示全部楼层 |阅读模式
本帖最后由 hbzjt2011 于 2016-11-8 21:43 编辑

    MicroPython支持多种开发板,除了官方标准的基于STM32F405RGT6,还支持NUCLEO_F411RE、STM32F4DISC、ESP8266、CC3200等开发板。最近刚拿到申请的NUCLEO-F412ZG,便进行了移植和运行测试。
移植步骤:
【1】准备一台装有Linux系统虚拟机的笔记本,因为在Linux系统下编译MicroPython源码要比Windows下方便的多,不用安装arm-none-eabi编译工具,而且速度也要快,我这里使用的Linux系统为Ubuntu 14.04LTS;
【2】在MicroPython官网下载MicroPython源码;
【3】下载STM32 ST-LINK Utility工具用来给开发板下载编译好的固件; STSW_LINK004_V3.8.0.zip (18.14 MB, 下载次数: 30)
【4】在源码的micropython-master\micropython-master\stmhal\boards目录下新建NUCLEO_F412ZG文件夹,并将NUCLEO_F411RE文件夹下的内容复制到该文件夹下;
Screenshot from 2016-11-08 16^@^C.png
Screenshot from 2016-11-08 16^D^7.png
【5】修改mpconfigboard.h配置文件中的开发板名称为NUCLEO-F412ZG和LED引脚为412板子上PB0、PB7、PB14,同时可根据需要配置时钟,I2C,SPI,串口,按键等,保存;
Screenshot_1.png
Screenshot_2.png
【6】接下来进入stmhal目录下,修改Makefile文件中的开发板名称为NUCLEO_F412ZG,然后在stmhal目录下输入make BOARDS=NUCLEO_F412ZG来编译源码;
Screenshot_5.png
Screenshot_3.png
编译完成后会生成build-NUCLEO_F412ZG文件夹,同时在 该文件夹下生成firmware.dfu文件和firmware.hex文件;
Screenshot_4.png
Screenshot_6.png
Screenshot_7.png
【7】接下来使用ST-LINK Utility工具下载固件到开发板;
Screenshot_9.png
【8】下载完成后,保留ST-Link上的USB接线,同时使用另一根MicroUSB线连接开发板的CN13,此时电脑上会出现两个磁盘文件;
10716897319789931.jpg
Screenshot_10.png
同时可以使用设备管理器查看设备端口号,至此移植MicroPython成功。
Screenshot_11.png
如果出现Pyboard的驱动安装不成功的情况,右键属性,更新驱动程序选择PYBFlash磁盘更新即可。
Screenshot_12.png
【9】使用PuTTY等串口调试软件连接开发板,波特率设置为115200,连接成功后就可以进行MicroPython的程序测试了。
Screenshot_13.png
Screenshot_14.png
测试控制LED灯程序及效果。
Screenshot_15.png
731549396257824000.jpg
703451380232344143.jpg
【话外篇】最后晒几张板子的高清靓照:
410172280796680955.jpg
275963886760602841.jpg
322273376898851584.jpg
196965723086746762.jpg
板载芯片
888118226893691140.jpg
888118226893691140.jpg
Screenshot_8.png

评分

参与人数 2威望 +6 收起 理由
secretmimi + 3 赞一个!
shaoziyang + 3 很给力!

查看全部评分

wahahaheihei 发表于 2016-11-8 22:05 | 显示全部楼层
不错,跟那个ESP8266跑Node MCU有一拼。
paderboy 发表于 2016-11-9 08:50 | 显示全部楼层
不错,有板子可以试试看。。。
shaoziyang 发表于 2016-11-9 10:00 | 显示全部楼层
这样是使用STM32F411的内核进行编译的,不能充分利用STM32F412ZGT6的Flash和SRAM。

官方源码的STM HAL还是很旧的版本,不支持新的芯片,不知道什么时候会更新。在更新前,这种方法也很不错了。
dirtwillfly 发表于 2016-11-9 16:05 | 显示全部楼层
jinyi7016 发表于 2016-12-14 15:18 | 显示全部楼层
我只看到硬盘要爆了~~
Brand2 发表于 2016-12-14 21:19 | 显示全部楼层
楼主用Linux系统?
 楼主| hbzjt2011 发表于 2016-12-14 23:37 | 显示全部楼层
Brand2 发表于 2016-12-14 21:19
楼主用Linux系统?

恩,在linux虚拟机里编译调试的
皈依 发表于 2016-12-15 22:11 | 显示全部楼层
这个厉害!赞一个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:欢迎参与LabVIEW版块的讨论学习! 点我一键即达

323

主题

2908

帖子

45

粉丝
快速回复 在线客服 返回列表 返回顶部