天天看點

開發闆 內建下載下傳器 jtag_嵌入式31——程式下載下傳

由于STM32L4 IoT

開發闆 已經內建了

ST LINK V2.1 仿真器,是以都是通過

闆載的

ST LINK V2.1 仿真器下載下傳,使用 ST LINKV2.1,結合 MDK,來給 STM32L4 下載下傳代碼。

ST LINK 支援

JTAG

SWD 兩種通信接口

,同時 STM32L475

也支援 JTAG 和 SWD

。是以,我們有 2 種方式可以用來下載下傳代碼, 由于 JTAG 模式

占用的 IO 線比較多

,我們闆載的 STLINK 與 MCU(STM32L475VET6)是

通過 SWD 連接配接的

, 是以

一般選擇 SWD 模式

來給STM32L475 下載下傳代碼。

首先,我們需要安裝 ST LINK 的驅動。驅動安裝,在安裝了 ST LINK 的驅動之後, 我們隻需要一根

Micro USB 線

将開發闆的

ST_LINK USB接口與電腦

進行

連接配接

就可以了。

打開工程,點選 ,打開 Options for Target頁籤

開發闆 內建下載下傳器 jtag_嵌入式31——程式下載下傳

在 Debug 欄選擇仿真工具為 ST-Link Debugger,如圖所示:

開發闆 內建下載下傳器 jtag_嵌入式31——程式下載下傳

上圖中我們還勾選了 Run to main(),該選項選中後,

隻要點選仿真就會直接運作到 main 函數

,如果沒選擇這個選項,則會

先執行

startup_stm32l475xx.s 檔案的

Reset_Handler

,再跳到 main函數。

然後我們點選

Settings

,設定

ST LINK

的一些參數,如圖所示:

開發闆 內建下載下傳器 jtag_嵌入式31——程式下載下傳

圖中,我們使用 ST LINK 的 SW 模式調試,因為我們 JTAG 需要占用比 SW 模式

多很多的 IO 口

, 并且開發闆上

沒有預留 JTAG 接口

。是以,我們建議大家在下載下傳/調試代碼的時候,

一定要選擇 SW 模式

。 Max Clock 我們設定為最大: 4Mhz,這裡如果你的 USB 資料線

比較差

,那麼可能會出問題,此時,可以通過

降低

這裡的

速率

來試試。單擊 OK,完成此部分設定,接下來還需要在

Utilities 頁籤

裡面設定

下載下傳時的目标程式設計器

,如圖所示:

開發闆 內建下載下傳器 jtag_嵌入式31——程式下載下傳

圖中,我們直接勾選 Use Debug Driver,即和調試一樣,

選擇 ST LINK

來給目标器件

的 FLASH 程式設計

,然後點選 Settings,設定如圖所示:

開發闆 內建下載下傳器 jtag_嵌入式31——程式下載下傳

這裡 MDK5 會

根據

我們建立工程時

選擇的目标器件

自動設定 flash 算法

。我們使用的是STM32L475VET6, FLASH 容量為 512K 位元組,是以 Programming Algorithm 裡面預設會有 512K型号的 STM32L4xx_512KB FLASH 算法。

特别提醒: 這裡的 512Kflash 算法,不僅僅針對 512K 容量的 STM32L475,對于

小于 512KFLASH 的型号

也是采用這個

flash 算法的。最後,選中 Reset and Run 選項,以實作在程式設計後自動運作,其他預設設定即可。

設定完成之後,如圖所示。在設定完之後,點選 OK,然後再點選 OK,回到 IDE 界面,編譯一下工程。然後點選:(下載下傳按鈕),就可以下載下傳代碼到 STM32L475 上面了,如圖所示:

開發闆 內建下載下傳器 jtag_嵌入式31——程式下載下傳

下載下傳完成後,在 Build Output 視窗,會提示

Programming Down

Application running…

,如圖所示:

開發闆 內建下載下傳器 jtag_嵌入式31——程式下載下傳

下載下傳完後,會自動運作剛剛下載下傳的代碼(因為我們勾選了 Reset and run,見圖),接下來就可以打開序列槽調試助手,來驗證是否收到了 STM32L475 序列槽發送出來的資料。

由于開發闆上的 ST LINK

也具有序列槽功能

, 程式下載下傳

序列槽功能隻需要一根線就可實作,這裡就不需要另外接線,如果電腦上沒有安裝過 STM32 虛拟序列槽驅動,需要

先安裝驅動

後電腦才能識别到序列槽(如果已經安裝過了驅動,則應該能在裝置管理器裡面

看到 USB 序列槽

,如果不能則要先解除安裝之前的驅動,解除安裝完後重新開機電腦,再重新安裝我們提供的驅動) , 安裝該驅動即可,如圖所示:

開發闆 內建下載下傳器 jtag_嵌入式31——程式下載下傳

在驅動安裝成功之後, 将開發闆斷電後重新上電或者拔掉 USB 線後重新插入電腦,此時電腦就會自動給其安裝驅動了。在安裝完成之後,可以在電腦的裝置管理器裡面

找到 USB 序列槽

(如果找不到,則重新開機下電腦), 如圖所示:

開發闆 內建下載下傳器 jtag_嵌入式31——程式下載下傳

在圖中可以看到, 這裡的 USB 序列槽被識别為 COM12,這裡需要注意的是:不同電腦可能不一樣,你的可能是 COM3、COM4 等,但是

STMicroelectronics STLINK Virtual CON Port

這個一定是一樣的

如果沒找到 USB 序列槽,則有可能是你

安裝有誤

,或者

系統不相容

。在安裝完 USB 序列槽驅動之後,我們就可以開始驗證了(注意, USART1 跳帽選擇處必須将

PA10、 PA9 分别與 TXD、 RXD 進行連接配接

(如圖所示) ,

否則

序列槽助手上是

看不到序列槽資訊的

), 打開序列槽調試助手選擇 COM12(得根據你的實際情況選擇),設定波特率為 115200,會發現從 STM32L475 開發闆發回來的資訊,如圖所示:

開發闆 內建下載下傳器 jtag_嵌入式31——程式下載下傳
開發闆 內建下載下傳器 jtag_嵌入式31——程式下載下傳

接收到的資料和我們期望的是一樣的,證明程式沒有問題。至此, 說明我們下載下傳代碼成功了,并且從硬體上驗證了我們代碼的正确性。