目錄
1、添加CLI到系統(tǒng)環(huán)境變量中
2、查詢ST-Link/V2燒錄器信息
3、連接待燒錄的MCU芯片
4、下載固件到Flash
5、可能會使用的命令
5.1、-Rst
5.2、-ME
5.3、-SE
6、封裝好的LabVIEW庫
在講解LabVIEW實現(xiàn)ST-Link自動燒錄之前先聊一聊ST官方提供一款專用的Flash燒錄工具:ST-Link utility。
官方下載鏈接:STSW-LINK004 - STM32 ST-LINK utility (replaced by STM32CubeProgrammer) - STMicroelectronics
安裝完成后打開界面如下圖所示,ST-Link utility具體操作請自行查看幫助文檔或網(wǎng)絡(luò)相關(guān)資源。
ST-Link utility工具提供了CLI(Command Line Interface),幫助文檔也詳細(xì)介紹了相關(guān)指令如何使用,這里我就是通過CLI去實現(xiàn)自動下載的,其中的命令有很多,我只介紹幾個有關(guān)燒錄的,其它的自行查閱文檔。
接下來看看具體的實現(xiàn)步驟。
項目資源下載請參見:https://download.csdn.net/download/m0_38106923/87661155
1、添加CLI到系統(tǒng)環(huán)境變量中
將ST-Link_CLI.exe所在目錄的路徑(如D:\Program Files (x86)\STM32 ST-LINK Utility v4.6.0\ST-LINK Utility)添加到系統(tǒng)環(huán)境變量中,如下圖所示:
2、查詢ST-Link/V2燒錄器信息
先安裝燒錄器的USB驅(qū)動以確保能夠正確識別到該燒錄器硬件,驅(qū)動下載鏈接:
官方:my.st.com
一切正??梢栽谠O(shè)備管理器中找到它,如下圖所示:
在命令行中輸入:ST-LINK_CLI -List ,即可獲取燒錄器的SN和固件版本,如下圖所示:
如果同時連接了多個,這里將展示出多個燒錄器信息,SN信息在連接芯片時需要用到。
3、連接待燒錄的MCU芯片
燒錄前請確保硬件連接正常,使用 -c [ID=<id>/SN=<sn>] [JTAG/SWD] [FREQ=<frequency>] [UR/HOTPLUG] [LPM] 命令進(jìn)行連接,其中包含了很多參數(shù),簡單說明如下:
- 參數(shù)1(ID/SN):提供燒錄器的ID或SN信息,ID從[0..9],根據(jù)連接的燒錄器數(shù)量遞增,SN信息可以通過-List命令獲?。?/li>
- 參數(shù)2(JTAG/SWD):選擇使用的接口協(xié)議類別,是用JTAG還是SWD,默認(rèn)使用的是JTAG,這里我選用SWD;
- 參數(shù)3(FREQ):設(shè)置不同協(xié)議的頻率,JTAG和SWD支持的各不相同,JTAG默認(rèn)使用的是9.0MHz, SWD默認(rèn)使用的是4.0MHz,通常使用默認(rèn)即可,也可以通過索引去設(shè)置 FREQ=x,SWD(x=0~10), JTAG(x=0~6),分別代表了不同的頻率,具體請查看文檔;
- 參數(shù)4:設(shè)置復(fù)位模式,UR(Connect to the target under reset), HOTPLUG(Connect to the target without halt or reset),這里我選用UR;
- 參數(shù)5:激活在低功耗模式下調(diào)試。
詳細(xì)內(nèi)容請閱讀幫助文檔,如下圖所示:
使用ID連接如下圖所示:
?使用SN連接如下圖所示:
4、下載固件到Flash
使用 -P <File_Path> [<Address>] 命令進(jìn)行操作,其中地址是可選的,如果沒有特定要求可以不指定,STM32的Flash映射地址是從0x08000000開始的,固件文件格式支持3種:.bin, .hex, .srec;如果文件路徑中有空格,需要包含在雙引號中,演示如下圖所示:
如果需要驗證燒錄是否成功,需要使用 -V [while_programming/after_programming] 命令,一種是在燒錄中進(jìn)行驗證,另一種是在燒錄完后進(jìn)行,如下圖所示:
?到這里燒錄功能就已經(jīng)實現(xiàn)了,接下來說幾個可能會用到的命令。
5、可能會使用的命令
5.1、-Rst
復(fù)位MCU,如下圖所示:
5.2、-ME
擦除整個芯片,如下圖所示:
5.3、-SE
擦除指定的扇區(qū),-SE <Start_Sector> [<End_Sector>],如果只指定起始扇區(qū)號,就只擦除這個扇區(qū),如 -SE 0 (擦除扇區(qū)0);如果指定了起始和結(jié)束扇區(qū)號,那么會擦除指定區(qū)間范圍內(nèi)的所有扇區(qū),如 -SE 2 12 (擦除扇區(qū)2~扇區(qū)12),如下圖所示:
關(guān)于指令就介紹這么多,其它的功能需要用到的話請自行查閱幫助文檔。
6、封裝好的LabVIEW庫
以上指令都是在命令行中輸入的,用來手動驗證還是不錯的,為了更方便地使用,我把它們封裝好了,如下圖所示:
文章來源:http://www.zghlxwxcb.cn/news/detail-452493.html
?項目資源下載請參見:https://download.csdn.net/download/m0_38106923/87661155文章來源地址http://www.zghlxwxcb.cn/news/detail-452493.html
到了這里,關(guān)于LabVIEW實現(xiàn)ST-Link自動燒錄單片機(jī)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!