在线时间1737 小时
UID3338155
ST金币0
蝴蝶豆32
注册时间2016-12-11
论坛元老
- 最后登录
- 2020-12-9
|
a0a.1 32b0c
现在python使用的越来越多,之前工作中使用的编译脚本就是用python写的,只是对python略有了解,后来了解有个开源项目micropython git地址 已经支持STM32平台,正好手里有块STM32F4O7VET6(淘宝购买的)的开发板,决定感受下micropython 在STM32F4平台运行的效果。
一,编译环境准备:
①我使用的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。
③在源码目录下 ~/micropython/ports/stm32 目录下执行make BOARD=HIBOARD开始编译。
④成功会在如下目录下~/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
②选择编译出来的firmware.dfu 下载入单片机后,设置boot0 bbot1 引脚为0 0就可以开始体验micropython了,重启开发板后后会在生成一个磁盘文件和虚拟串口,如果没有生成反复插拔USB口尝试。
③用串口工具设置波特率115200 连接方式8N1连接生成的虚拟串口,就可以看到python的运行效果了。
④点亮led,我的开发板的两颗LED分别接着PA6,PA7低电平点灯。
暂时先写到这,以后可以进一步修改我的板子和STM32F4DISC外设的不同配置来适配我的开发板,不写帖子的人表示写帖子不易,向经常发帖的同志致敬,写的也仓促难免有错误的地方,有问题请各位指正。
|
评分
-
查看全部评分
|