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