micorpython固件DIY


今天我来来试试DIY自己的固件


点此查看micropython固件环境安装

环境安装完之后 一起挑战一下极限吧~

github上最新的源码STM32/里面没有了modules/文件夹所以我们要自己建一个路径是micropython/drivers/modules
在这里插入图片描述
在modules文件中添加自己的模块我写了一个简单的代码用作测试(注意格式~!!!我这个格式是错的! 图忘记重新截取了。)
在这里插入图片描述
然后在/micropython/ports/stm32/boards文件中找到manifest.py
在这里插入图片描述
在manifest.py里增加如下代码:

freeze("$(MPY_DIR)/drivers/modules","" )

每写一个文件就要在这里记录一次哦
在这里插入图片描述

修改micropython权限

sudo chmod -R 777 /home/xianyu/micropython

在这里插入图片描述
更改运行目录到交叉编译工具

cd /home/xianyu/micropython/mpy-cross #切换至交叉编译器目录下 

在这里插入图片描述
执行交叉编译make成功,在这里插入图片描述
更改运行目录至STM32

cd /home/xianyu/micropython/ports/stm32/ #切换至STM32目录下

在这里插入图片描述
执行编译

sudo make BOARD=STM32F4DISC #编译生成UDF、HEX文件

编译完成后在stm32目录下有个build-STM32F4DISC文件夹,在里面可以找到firmware.duf和firmware.hex,选择自己想要的文件烧写的硬件去吧!
在这里插入图片描述
我们去文件中瞅瞅。还真有,我们把它拖出来灌入到开发板中测试一下。
在这里插入图片描述
点击查看STM32固件怎么安装
点击查看怎么用串口测试

以下是串口工具显示的 说明我成功了 哦也~
编译失败需要重新编译前可以使用 make clean 清除一下以前编译的的内容。
这样可以避免因为更新造成的编译错误
在这里插入图片描述

MPY: sync filesystems
MPY: soft reboot
MicroPython v1.12-614-gc2317a3-dirty on 2020-07-03; F4DISC with STM32F407
Type "help()" for more information.
>>> xianyu.myprint()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'xianyu' isn't defined
>>> import xianyu
>>> xianyu.myprint()
xianyu
>>> from xianyu import myprint
>>> myprint()
xianyu
>>> 

注意:如果make失败后面会导致编译失败,这时候就按照提示 make V=1 基本能解决问题

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐