micorpython固件DIY
今天我來來試試DIY自己的固件
環境安裝完之後 一起挑戰一下極限吧~
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固件怎麼安裝
點擊查看怎麼用串口測試
以下是串口工具顯示的 說明我成功了 哦也~
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 基本能解決問題