01前言
STM32 MCU 新產(chǎn)品的早期用戶有時候會遇見工具鏈還在完善中的情形,例如,一部分STM32 工具已經(jīng)支持該產(chǎn)品,而另外一部分 STM32 工具還在更新中。具體到 Keil 用戶,用戶有可能可以使用 STM32CubeProgrammer 進行下載,但是 Keil 編譯器中支持該產(chǎn)品系列的軟件 Pack 還需要一些時間才會被更新。從而,用戶能夠使用 Keil 編譯器進行編譯甚至調(diào)試,但沒法直接在 Keil 環(huán)境中對新產(chǎn)品進行下載。對此,用戶可以選擇等待,也可以自行擴展 Keil 的 FLM 來支持該產(chǎn)品。但考慮到用戶產(chǎn)品開發(fā)的時間限制以及新的STM32 正式 Pack 很快就會發(fā)布,更簡單快速的一種解決方案是在 Keil 中直接使用STM32CubeProgammer 在進行調(diào)試前下載。
02步驟
這里以一個 NUCLEO-H723ZG 的 CRC_Example 為例。它是 STM32Cube 包中的一個完善的工程,可以正常使用配套的 Pack 進行編譯下載調(diào)試。我們只是使用這個工程說明如何直接使用 STM32CubeProgrammer 進行 Flash 下載,沒有其他特別的含義。首先,在 Keil 工程界面里,選擇[Flash]->[Configure Flash Tools]菜單。
圖1.配置菜單
或者在工程瀏覽器的工程名字上點擊右鍵,選擇[Options]然后選擇[Utilities]
圖2.工程選項
你可以看到如下菜單,說明該工程默認使用 Pack 中的 FLM 進行下載。
圖3.配置工具選項
我們將其切換成[Use External Tool for Flash Programming]。
在[Command]中選擇 STM32_Programmer_CLI.exe,它會自動填上所在的全路徑,例如:
C:ProgramFilesSTMicroelectronicsSTM32CubeSTM32CubeProgrammerinSTM32_Programmer_CLI.exe
在[Agruments]中輸入使用 ST-Link 以及文件名參數(shù),如下:
-c port=swd -w #L
STM32_Programmer_CLI 的更多用法,例如,在調(diào)試前修改某個特定選項字節(jié),可以參考STM32CubeProgrammer 用戶手冊 UM2237。
這里值得一提的是 Keil #L 參數(shù)的使用。為了該命令行的通用性,我們應(yīng)該使用編譯器工具提供的一些參數(shù)間接指向所需要燒錄的路徑及文件,而不是硬編碼。這樣,工程選項的改動,不影響該命令行;而且該命令行也可以在多個工程中復(fù)制使用。#L 以及其他類似參數(shù)的含義可以在 Keil 聯(lián)機幫助中搜索 “ Key Sequence for Tool Parameters ”。設(shè)置界面如下:
圖4.配置燒寫指令
其中[Run Independent]的含義是,是否讓 Keil 不需要等待該命令行執(zhí)行完畢。我們希望按順序執(zhí)行,所以該選項沒有勾上。用戶可以切換此選項觀察效果。
03效果
這時候如果直接選擇[Debug]
圖5. 調(diào)試
則會發(fā)現(xiàn) Flash 下載并沒有發(fā)生。確實,這是其中不夠完美的地方。但是如果選擇[Download]
圖6.下載
則會發(fā)現(xiàn) Keil 調(diào)用 STM32CubeProgrammer 命令行進行當(dāng)前工程的下載,如下所示:
圖7.命令日志
然后,用戶可以使用[Debug]啟動調(diào)試,一切正常。所以,簡單的方法就是,用戶在調(diào)試前,按下 F8。這樣比使用 Pack 的 FLM 并沒有麻煩多少。
04小結(jié)
本文提供了在 Keil 中使用STM32CubeProgrammer 來進行調(diào)試前下載固件的方法,適合 STM32 MCU 新產(chǎn)品的早期用戶在使用 Keil 時進行參考。
-
mcu
+關(guān)注
關(guān)注
146文章
17148瀏覽量
351185 -
STM32
+關(guān)注
關(guān)注
2270文章
10900瀏覽量
355982 -
調(diào)試
+關(guān)注
關(guān)注
7文章
578瀏覽量
33936 -
keil
+關(guān)注
關(guān)注
68文章
1213瀏覽量
166875 -
編譯器
+關(guān)注
關(guān)注
1文章
1634瀏覽量
49129
原文標(biāo)題:實戰(zhàn)經(jīng)驗 | 在 Keil中使用STM32CubeProgrammer
文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論