你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 11631|回复: 15

[micropython] 【stm32f407vet6移植micropython】

[复制链接]

36

主题

1996

回帖

32

蝴蝶豆

论坛元老

最后登录
2020-12-9
发表于 2018-1-12 11:35:06 | 显示全部楼层 |阅读模式
现在python使用的越来越多,之前工作中使用的编译脚本就是用python写的,只是对python略有了解,后来了解有个开源项目micropython git地址 已经支持STM32平台,正好手里有块STM32F4O7VET6(淘宝购买的)的开发板,决定感受下micropython 在STM32F4平台运行的效果。
board.jpg

一,编译环境准备:
①我使用的ubuntu16.04虚拟机,虚拟机需要安装git工具。
②我使用的交叉编译工具链arm-none-eabi-gcc版本如下,可以从网上直接下载到。
Target: arm-none-eabi
Configured with: /home/build/work/GCC-5-build/src/gcc/configure --target=arm-none-eabi --prefix=/home/build/work/GCC-5-build/install-native --libexecdir=/home/build/work/GCC-5-build/install-native/lib --infodir=/home/build/work/GCC-5-build/install-native/share/doc/gcc-arm-none-eabi/info --mandir=/home/build/work/GCC-5-build/install-native/share/doc/gcc-arm-none-eabi/man --htmldir=/home/build/work/GCC-5-build/install-native/share/doc/gcc-arm-none-eabi/html --pdfdir=/home/build/work/GCC-5-build/install-native/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --enable-plugins --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-newlib --with-headers=yes --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/home/build/work/GCC-5-build/install-native/arm-none-eabi --build=i686-linux-gnu --host=i686-linux-gnu --with-gmp=/home/build/work/GCC-5-build/build-native/host-libs/usr --with-mpfr=/home/build/work/GCC-5-build/build-native/host-libs/usr --with-mpc=/home/build/work/GCC-5-build/build-native/host-libs/usr --with-isl=/home/build/work/GCC-5-build/build-native/host-libs/usr --with-cloog=/home/build/work/GCC-5-build/build-native/host-libs/usr --with-libelf=/home/build/work/GCC-5-build/build-native/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-pkgversion='GNU Tools for ARM Embedded Processors' --with-multilib-list=armv6-m,armv7-m,armv7e-m,armv7-r,armv8-m.base,armv8-m.main
Thread model: single
gcc version 5.4.1 20160919 (release) [ARM/embedded-5-branch revision 240496] (GNU Tools for ARM Embedded Processors)
安装stm32dfu上位机软件


二, 编译micropython
①从git获取micropython源代码,放入虚拟机(16.04)中我都放在了家目录下,可以根据自己环境状况来放置。
       http://github.com/micropython/micropython
②添加自己的开发板,我使用的是是STM32F407和官方的STM32F4DISC都是M4的内核只是外设上有些差别,索性直接复制~/micropython/ports/stm32/boards的STM32F4DISC开发板相关目录并修改为HIBOARD。
board.PNG

③在源码目录下 ~/micropython/ports/stm32 目录下执行make BOARD=HIBOARD开始编译。

build.PNG

④成功会在如下目录下~/micropython/ports/stm32/build-HIBOARD生成 firmware.dfu文件,这个文件是一会我们要是用的文件。
三,在开饭版上验证

安装stm32dfu上位机软件 成功安装后将开发板的boot0 boot1 状态为 1 0设定为从system memery启动,设置好后重启开发板,运行刚下载的上位机软件,dfu软件会识别到开发板,如果识别不到,如果是默认安装路径的话,安装如下路径的驱动,我的系统是win10 64的,用的win7 64的可以使用。
C:\Program Files (x86)\STMicroelectronics\Software\DfuSe v3.0.5\Bin\Driver
DFU.PNG
②选择编译出来的firmware.dfu 下载入单片机后,设置boot0 bbot1 引脚为0 0就可以开始体验micropython了,重启开发板后后会在生成一个磁盘文件和虚拟串口,如果没有生成反复插拔USB口尝试。
U盘.PNG
③用串口工具设置波特率115200 连接方式8N1连接生成的虚拟串口,就可以看到python的运行效果了。

help.PNG

④点亮led,我的开发板的两颗LED分别接着PA6,PA7低电平点灯。

led.PNG

微信图片_20180112113011.jpg

暂时先写到这,以后可以进一步修改我的板子和STM32F4DISC外设的不同配置来适配我的开发板,不写帖子的人表示写帖子不易,向经常发帖的同志致敬,写的也仓促难免有错误的地方,有问题请各位指正。

评分

参与人数 2ST金币 +18 收起 理由
g921002 + 8 很给力!
zero99 + 10

查看全部评分

回复

使用道具 举报

0

主题

38

回帖

5

蝴蝶豆

金牌会员

最后登录
2020-12-5
发表于 2018-1-12 13:14:39 | 显示全部楼层
这款板子怎么样?想买一块407的板子,可是找不到心仪的。
回复 支持 反对

使用道具 举报

36

主题

1996

回帖

32

蝴蝶豆

论坛元老

最后登录
2020-12-9
 楼主| 发表于 2018-1-12 14:11:43 | 显示全部楼层
木森林的年轮 发表于 2018-1-12 13:14
这款板子怎么样?想买一块407的板子,可是找不到心仪的。

相对官方的板子这个主要优势就是便宜点,没啥外设就一个W25Q16的spiflash,但几乎所有的IO都引出来了,自己扩展模块还是很方便的。
回复 支持 反对

使用道具 举报

1182

主题

3785

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-3-17
发表于 2018-2-12 14:04:38 | 显示全部楼层
感谢分享,已汇总到1月技术原创  https://www.stmcu.org.cn/module/forum/thread-614550-1-1.html
回复 支持 反对

使用道具 举报

0

主题

2

回帖

0

蝴蝶豆

新手上路

最后登录
2019-6-15
发表于 2018-7-2 18:21:33 | 显示全部楼层
楼主,你好。我的vet6板子烧了micropython的固件后,ctrl+D 软件复位不起作用,板子上的RST按键也时好时坏,你遇到过吗?是板子问题,还是固件啊
回复 支持 反对

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

初级会员

最后登录
2019-9-28
发表于 2018-9-7 10:02:52 | 显示全部楼层
楼主能否分享一下,编译好的dfu文件,新手表示命令行真的搞不懂
回复 支持 反对

使用道具 举报

36

主题

1996

回帖

32

蝴蝶豆

论坛元老

最后登录
2020-12-9
 楼主| 发表于 2018-9-7 11:17:27 | 显示全部楼层
linjing_up 发表于 2018-7-2 18:21
楼主,你好。我的vet6板子烧了micropython的固件后,ctrl+D 软件复位不起作用,板子上的RST按键也时好时坏 ...

板子让我搞坏了,好久不玩了,之前编译的东西不知道还能不能找到,回头找下看看能找到的话私信你。
回复 支持 反对

使用道具 举报

1

主题

51

回帖

0

蝴蝶豆

初级会员

最后登录
2019-11-3
发表于 2018-11-26 10:27:59 | 显示全部楼层
学习了,楼主。。。
回复 支持 反对

使用道具 举报

1

主题

157

回帖

0

蝴蝶豆

高级会员

最后登录
2020-8-11
发表于 2019-7-26 08:23:03 | 显示全部楼层
感謝分享!辛苦了!!
回复 支持 反对

使用道具 举报

0

主题

2

回帖

0

蝴蝶豆

新手上路

最后登录
2019-8-14
发表于 2019-8-14 13:17:08 | 显示全部楼层
楼主,我移植了之后,板子插到电脑上一点反应都没有,是不是还要修改串口?
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版