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

查看: 11668|回复: 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版