0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在Keil中使用STM32CubeProgrammer

STM32單片機 ? 來源:STM32單片機 ? 2023-11-03 16:50 ? 次閱讀

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]菜單。

dfcbaf88-7a25-11ee-939d-92fbcf53809c.png

圖1.配置菜單

或者在工程瀏覽器的工程名字上點擊右鍵,選擇[Options]然后選擇[Utilities]

dfd533aa-7a25-11ee-939d-92fbcf53809c.png

圖2.工程選項

你可以看到如下菜單,說明該工程默認使用 Pack 中的 FLM 進行下載。

dfeab504-7a25-11ee-939d-92fbcf53809c.png

圖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è)置界面如下:

e001c5f0-7a25-11ee-939d-92fbcf53809c.png

圖4.配置燒寫指令

其中[Run Independent]的含義是,是否讓 Keil 不需要等待該命令行執(zhí)行完畢。我們希望按順序執(zhí)行,所以該選項沒有勾上。用戶可以切換此選項觀察效果。

03效果

這時候如果直接選擇[Debug]

e08d0606-7a25-11ee-939d-92fbcf53809c.png

圖5. 調(diào)試

則會發(fā)現(xiàn) Flash 下載并沒有發(fā)生。確實,這是其中不夠完美的地方。但是如果選擇[Download]

e09f4d3e-7a25-11ee-939d-92fbcf53809c.png

圖6.下載

則會發(fā)現(xiàn) Keil 調(diào)用 STM32CubeProgrammer 命令行進行當(dāng)前工程的下載,如下所示:

e0accdba-7a25-11ee-939d-92fbcf53809c.png

圖7.命令日志

然后,用戶可以使用[Debug]啟動調(diào)試,一切正常。所以,簡單的方法就是,用戶在調(diào)試前,按下 F8。這樣比使用 Pack 的 FLM 并沒有麻煩多少。

04小結(jié)

本文提供了在 Keil 中使用STM32CubeProgrammer 來進行調(diào)試前下載固件的方法,適合 STM32 MCU 新產(chǎn)品的早期用戶在使用 Keil 時進行參考。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    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)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    STM32CubeProgrammer能自動更新打開的固件嗎?

    ST Visual Programmer當(dāng)打開的文件更新后會提示是否重新加載,這功能很方便 換成STM32CubeProgrammer發(fā)現(xiàn)沒了這功能 每次修改程序編譯完,要在STM32CubeProgrammer先關(guān)閉文件,再打開燒錄。 請問,
    發(fā)表于 03-25 08:27

    STM32CubeProgrammer閃退怎么解決?

    當(dāng)我燒寫文件為1M時,通過STM32CubeProgrammer2.8版本以上會發(fā)生閃退。2.6是正常的。但是2.6需要jre1.8版本,再高版本不能支持STM32CubeProgrammer的運行。各位有預(yù)留過類似問題的沒有?
    發(fā)表于 03-28 06:12

    stm32cubeprogrammer下載不了是什么原因?

    stm32cubeprogrammer下載不了,什么原因
    發(fā)表于 07-02 06:21

    為什么會不能使用STM32CUBEprogrammer獨立程序呢?有誰知道嗎

    STM32CUBEprogrammer 的 V2.9 和 V2.8,但都不起作用。我的設(shè)置:(來自 cubeide cubeprogrammer 中使用的相同設(shè)置)ST-LIN
    發(fā)表于 12-08 08:35

    STM32CubeProgrammer的用法是什么呢?

    嗨社區(qū),我剛剛開始使用 STM32 MCU。STM32CubeIDE 和 STM32CubeProgrammer 有什么區(qū)別?我已經(jīng)安裝了 STM32CubeIDE,并且能夠?qū)UCL
    發(fā)表于 12-29 08:36

    STM32CubeProgrammer是否提供SWO支持?

    我們目前 Windows 的舊版 ST-Link Utility 中使用 SWO 查看器。但是,這對我們來說有點不方便,因為我們的主要開發(fā)是 Linux 中進行的。是否計劃為 STM32C
    發(fā)表于 01-11 08:02

    是否可以STM32CubeProgrammer中使用Segger探針?

    是否可以 STM32CubeProgrammer 中使用 Segger 探針?還是計劃在未來?
    發(fā)表于 02-02 08:36

    關(guān)于STM32CubeProgrammer的內(nèi)容

    幾點關(guān)于STM32CubeProgrammer的內(nèi)容
    的頭像 發(fā)表于 03-04 11:08 ?6456次閱讀

    STM32小技巧(2) STM32CubeProgrammer解除讀保護的方法

    STM32CubeProgrammer解除讀保護的方法簡述STM32CubeProgrammerSTM32CUBEPROG)為任意環(huán)境下的STM32微控制器編程提供了一個一體化的軟件
    發(fā)表于 12-09 14:51 ?21次下載
    <b class='flag-5'>STM32</b>小技巧(2) <b class='flag-5'>STM32CubeProgrammer</b>解除讀保護的方法

    STM32CubeProgrammerSTM32CubeMonitor的新功能

    ST 近期推出新版本的 STM32CubeProgrammer、STM32CubeMonitor、STM32CubeMonitor-RF 和 STM32CubeMonitor-UCPD
    的頭像 發(fā)表于 03-25 11:29 ?4393次閱讀

    AN5054 使用 STM32CubeProgrammer 進行安全編程

    AN5054 使用 STM32CubeProgrammer 進行安全編程
    發(fā)表于 11-21 17:07 ?0次下載
    AN5054 使用 <b class='flag-5'>STM32CubeProgrammer</b> 進行安全編程

    STM32CubeProgrammer軟件說明

    電子發(fā)燒友網(wǎng)站提供《STM32CubeProgrammer軟件說明.pdf》資料免費下載
    發(fā)表于 08-01 09:10 ?2次下載
    <b class='flag-5'>STM32CubeProgrammer</b>軟件說明

    中文STM32CubeProgrammer軟件說明

    中文STM32CubeProgrammer軟件說明
    發(fā)表于 11-13 15:43 ?7次下載

    STM32H503開發(fā)(2)----STM32CubeProgrammer燒錄

    STM32CubeProgrammer (STM32CubeProg) 是一款用于編程STM32產(chǎn)品的全功能多操作系統(tǒng)軟件工具。 它提供了一個易用高效的環(huán)境,通過調(diào)試接口(JTAG和SWD)和自舉程序接口(UART、USB D
    的頭像 發(fā)表于 11-28 09:25 ?520次閱讀
    <b class='flag-5'>STM32</b>H503開發(fā)(2)----<b class='flag-5'>STM32CubeProgrammer</b>燒錄

    STM32WB55RG開發(fā)(2)----STM32CubeProgrammer燒錄

    STM32CubeProgrammer (STM32CubeProg) 是一款用于編程STM32產(chǎn)品的全功能多操作系統(tǒng)軟件工具。 它提供了一個易用高效的環(huán)境,通過調(diào)試接口(JTAG和SWD)和自舉
    的頭像 發(fā)表于 12-16 15:52 ?195次閱讀
    <b class='flag-5'>STM32</b>WB55RG開發(fā)(2)----<b class='flag-5'>STM32CubeProgrammer</b>燒錄