Linux使用命令列編譯並用st-link燒錄STM32

HanzoHuang發表於2024-02-27

建立工程

在STM32CubeMX中配置,選擇Makefile並生成。

環境安裝

編譯工程需要用到arm-none-eabi,去官網下載對應系統版本,下載後解壓到任意位置。

新增環境變數

新增環境變數到.bashrc檔案:

echo 'export PATH="/toolchain/arm-none-eabi/bin:$PATH"' >> ~/.bashrc

我解壓的位置為/toolchain/arm-none-eabi,原檔名包含版本號,我修改了資料夾名。

編譯工程

在工程目錄下進行編譯

make

燒錄

軟體準備

安裝stlink

sudo apt install stlink

接入燒錄器,檢驗是否連線成功

st-info --descr

若出現晶片型號,則連線成功;無輸出則連線失敗。

燒錄晶片

執行以下命令即可燒錄

st-flash write ./build/$(basename "$PWD").bin 0x08000000
  • Learn: basename

為以上命令設定快捷命令,以後可以用stflash替代這段命令,其中stflash可以自己任意設定。

新增alias至.bashrc

echo 'alias stflash="st-flash write ./build/$(basename "$PWD").bin 0x08000000"'

相關文章