Micropython編譯固件的操作步驟


目標:編譯STM32F4固件並刷入到我們的開發板:STM32F407VET6

1.在Linux系統下進行編譯操作,windows用戶可以在虛擬機下運行Linux系統,推薦下載kali Linux系統:https://www.kali.org/downloads/,推薦使用虛擬機對應的系統包,虛擬機安裝方法請到百度上獲取。

  2.進入Linux系統后,打開終端(打開方法:點擊魚頭指向的圖標):

3.輸入指令:sudo apt-get install git        敲擊回車

目的:安裝git工具

git的功能:下載數據

4.輸入指令:sudo apt-get install gcc

  輸入指令:sudo apt-get install gcc-arm-none-eabi

目的:安裝交叉編譯器,交叉編譯器的功能是對高級語言(比如:python、c語言...)翻譯成低級語言(比如:匯編語言、機器語言...)的操作

5.輸入指令:(必須采用git clone方式下載到Linux里面,不然會出錯)

git clone --recursive https://github.com/micropython/micropython.git

git clone --depth=1 https://github.com/micropython/micropython.git

目的:利用git工具來下載我們目標文件--micropython源碼

下載完成:會在home目錄下找到名為micropython的文件夾

請閱讀該文件夾下的README.md文件,里面有詳細介紹各個文件的功能。

在micropython/ports/stm32/boards文件夾里面可以看到支持的處理器和開發板。

 6.輸入指令:cd micropython

目的:從home根目錄下進入到下一級micropython文件夾里面

指令:ls可以列出當前目錄下面的文件

7.輸入指令:cd ports/stm32/boards

目的:進入該目錄選擇我們的開發板芯片型號(STM32F407VET6),但是里面並沒有該型號的對應版本,而是該系列的STM32F4DISC,所有我們使用該源文件編譯出我們需要的STM32F4的固件文件。

8.輸入指令:cp -r STM32F4DISC STM32F407VET6

目的:復制該源文件並重新命名為:STM32F407VET6

9.輸出指令: cd ..

        cd ..

        cd ..

目的:cd ..指令是返回到上一級目錄,目的是要返回至micropython目錄下 (注意cd后面有一個空格)

10.輸入指令:cd mpy-cross

          make

目的:先編譯一下MicroPython cross-compiler (micropython交叉編譯器)

11.輸入指令:cd ..

       git init

       git submodule update --init

目的:返回到micropython目錄下,獲取submodule子模塊並更新

12.cd ports/stm32/make BOARD=STM32F407VET6

目的:進入stm32目錄下進行編譯操作,生成固件文件DFU或HEX或ELF......,BOARD=STM32F407VET6是用於指定到要編譯的開發板(就是讀取里面的源文件)

 

等待編譯完成:編譯成功會在stm32目錄下生成一個build-STM32F407VET6文件夾,找到firmware.dfu或firmware.hex...固件文件拷貝到windows桌面。

13.去ST官方網站下載DfuSe工具:https://www.stmicroelectronics.com.cn/content/st_com/zh/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-stm32080.html

14.開發板硬件設置boot0:1,boot1:0,使用USB連接電腦,打開DfuSe軟件,連接上時會在DFU Devices下面會顯示,有顯示就是連接上了,然后點擊右下角的Choose選擇固件文件,然后點擊Upgrade燒錄,等待顯示燒錄成功。

github上stm32f407vet6升級版源碼:https://github.com/mcauser/MCUDEV_DEVEBOX_F407VET6


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM