還記得剛畢業(yè)那會弄過一臺測試設備,測試空調主板功能,測試前需要進行固件燒錄,其中用到的主控芯片就是STM32Fxxx,具體型號不記得了,當時是哪種方式去實現的也不太記得了,現在又需要解決STM32F4xx的芯片自動燒錄問題,索性整理成檔便于以后查閱。
用ST官方提供的一個工具即可實現,那就是ST-Link utility,使用簡單下載方便。
安裝完成后打開界面如下圖所示,具體操作請自行查看幫助文檔或網絡相關資源。
該工具提供了CLI(Command Line Interface),幫助文檔也詳細介紹了相關指令如何使用,這里我就是通過CLI去實現的,其中的命令有很多,我只介紹幾個有關燒錄的,其它的自行查閱文檔。
接下來看看具體的實現步驟:
------1. 添加CLI到系統(tǒng)環(huán)境變量中------
將ST-Link_CLI.exe所在目錄的路徑(如D:Program Files (x86)STM32 ST-LINK Utility v4.6.0ST-LINK Utility)添加到系統(tǒng)環(huán)境變量中,如下圖所示:
------2. 查詢ST-Link/V2燒錄器信息------
先安裝燒錄器的USB驅動以確保能夠正確識別到該燒錄器硬件
安裝一切正常可以在設備管理器中找到它,如下圖所示:
在命令行中輸入:ST-LINK_CLI -List ,即可獲取燒錄器的SN和固件版本,如下圖所示:
?
如果同時連接了多個,這里將展示出多個燒錄器信息,SN信息在連接芯片時需要用到。
------3. 連接待燒錄的MCU芯片------
燒錄前請確保硬件連接正常,使用 -c [ID=/SN=] [JTAG/SWD] [FREQ=] [UR/HOTPLUG] [LPM] 命令進行連接,其中包含了很多參數,簡單說明如下:
參數1(ID/SN):提供燒錄器的ID或SN信息,ID從[0..9],根據連接的燒錄器數量遞增,SN信息可以通過-List命令獲取;
參數2(JTAG/SWD):選擇使用的接口協(xié)議類別,是用JTAG還是SWD,默認使用的是JTAG,這里我選用SWD;
參數3(FREQ):設置不同協(xié)議的頻率,JTAG和SWD支持的各不相同,JTAG默認使用的是9.0MHz, SWD默認使用的是4.0MHz,通常使用默認即可,也可以通過索引去設置 FREQ=x,SWD(x=0~10), JTAG(x=0~6),分別代表了不同的頻率,具體請查看文檔;
參數4:設置復位模式,UR(Connect to the target under reset), HOTPLUG(Connect to the target without halt or reset),這里我選用UR;
參數5:激活在低功耗模式下調試; 詳細內容請閱讀幫助文檔,如下圖所示:
使用ID連接如下圖所示:
使用SN連接如下圖所示:
------4. 下載固件到Flash------
使用-P
如果需要驗證燒錄是否成功,需要使用 -V [while_programming/after_programming] 命令,一種是在燒錄中進行驗證,另一種是在燒錄完后進行;如下圖所示:
到這里燒錄功能就已經實現了,接下來說幾個可能會用到的命令。
------5. 可能會使用的命令------
5.1 -Rst
復位MCU,如下圖所示:
?
5.2 -ME
擦除整個芯片,如下圖所示:
?
5.3 -SE
擦除指定的扇區(qū),-SE
?
關于指令就介紹這么多,其它的功能需要用到的話請自行查閱幫助文檔。
------6. 封裝好的LabVIEW庫------
以上指令都是在命令行中輸入的,用來手動驗證還是不錯的,為了更方便地使用,我把它們封裝好了,如下圖所示:
審核編輯:劉清
-
LabVIEW
+關注
關注
1964文章
3652瀏覽量
322537 -
STM32
+關注
關注
2266文章
10876瀏覽量
354922 -
CLI
+關注
關注
1文章
79瀏覽量
8530 -
st-link
+關注
關注
1文章
43瀏覽量
9604
原文標題:LabVIEW實現ST-Link自動燒錄
文章出處:【微信號:LabVIEW QT 修煉之路,微信公眾號:LabVIEW QT 修煉之路】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論