Mac系統(tǒng)下編譯STM32并通過T-Link下載
本文是在之前的文章《STM32CubeMX使用之初始化項(xiàng)目》的基礎(chǔ)上進(jìn)行編譯和下載。主要介紹如何使用gcc編譯代碼,并通過T-Link下載到STM32開發(fā)板上。以跑馬燈為例,以下是具體步驟:1. 環(huán)境
本文是在之前的文章《STM32CubeMX使用之初始化項(xiàng)目》的基礎(chǔ)上進(jìn)行編譯和下載。主要介紹如何使用gcc編譯代碼,并通過T-Link下載到STM32開發(fā)板上。以跑馬燈為例,以下是具體步驟:
1. 環(huán)境準(zhǔn)備
首先,需要安裝gcc。在終端中執(zhí)行命令`brew cask install gcc-arm-embedded`即可安裝。接著,安裝T-Link。執(zhí)行命令`brew install stlink`即可完成安裝。確保NUCLEO-F401RE開發(fā)板的跳線設(shè)置正確,并連接好電腦。
2. 進(jìn)入項(xiàng)目目錄
進(jìn)入之前生成的項(xiàng)目目錄,執(zhí)行編譯命令`make`??赡軙?huì)出現(xiàn)一些錯(cuò)誤,我們將逐一介紹如何解決。
第一次執(zhí)行`make`時(shí),可能會(huì)提示"No such file or directory",表示找不到文件或目錄。解決方法是打開項(xiàng)目根目錄下的`makefile`文件,修改其中的`BINPATH`,指定`arm-none-eabi-gcc`的路徑??梢酝ㄟ^執(zhí)行`which arm-none-eabi-gcc`命令來獲取路徑信息。
保存修改后,再次執(zhí)行`make`,可能會(huì)出現(xiàn)"multiple definition of `main'"的錯(cuò)誤。這個(gè)錯(cuò)誤意味著有多個(gè)地方定義了`main`函數(shù)。解決方法是刪除`makefile`中重復(fù)設(shè)置的`C_SOURCES`資源。
再次執(zhí)行`make`,如果成功編譯,可以在項(xiàng)目目錄的`build`目錄下找到生成的BIN和HEX文件。
3. 下載到開發(fā)板
下面介紹如何將BIN文件下載到開發(fā)板上。在確保之前的步驟已經(jīng)準(zhǔn)備好的情況下,執(zhí)行命令`st-flash write 0x8000000`。將``替換為實(shí)際生成的文件名。如果下載失敗,請(qǐng)嘗試重新啟動(dòng)單片機(jī)并檢查跳線帽是否正確。
如果上述步驟成功,但在開發(fā)板上無法看到效果,可以嘗試修改`src`目錄下的`main.c`文件,添加跑馬燈代碼。然后重新編譯并下載,命令為`make`和`st-flash write 0x8000000`。下載完成后,LD2指示燈應(yīng)該會(huì)閃爍。
以上就是在Mac系統(tǒng)下編譯STM32并通過T-Link下載的步驟。希望對(duì)你有所幫助!