1. 程式人生 > >stm32的兩種韌體下載模式:JTAG和SWD

stm32的兩種韌體下載模式:JTAG和SWD

一、JTAG模式

這種模式一般有10pin的、14pin的和20pin的,儘管引腳數和引腳的排列順序不同,但是其中有一些引腳是一樣的。值得注意的是,不同的IC公司會自己定義自家產品專屬的Jtag頭,來下載或除錯程式。

Test Clock Input (TCK) -----強制要求1:TCK在IEEE1149.1標準裡是強制要求的。TCK為TAP的操作提供了一個獨立的、基本的時鐘訊號,TAP的所有操作都是通過這個時鐘訊號來驅動的。

Test Mode Selection Input (TMS) -----強制要求2:TMS訊號在TCK的上升沿有效。TMS在IEEE1149.1標準裡是強制要求的。TMS訊號用來控制TAP狀態機的轉換。通過TMS訊號,可以控制TAP在不同的狀態間相互轉換。

Test Data Input (TDI) -----強制要求3:TDI在IEEE1149.1標準裡是強制要求的。TDI是資料輸入的介面。所有要輸入到特定暫存器的資料都是通過TDI介面一位一位序列輸入的(由TCK驅動)。

Test Data Output (TDO) -----強制要求4:TDO在IEEE1149.1標準裡是強制要求的。TDO是資料輸出的介面。所有要從特定的暫存器中輸出的資料都是通過TDO介面一位一位序列輸出的(由TCK驅動)。

Test Reset Input (TRST) ----可選項1:這個訊號介面在IEEE 1149.1標準裡是可選的,並不是強制要求的。TRST可以用來對TAPController進行復位(初始化)。因為通過TMS也可以對TAP Controll進行復位(初始化)。所以有四線JTAG與五線JTAG之分。

 (VTREF) -----強制要求5:介面訊號電平參考電壓一般直接連線Vsupply。這個可以用來確定ARM的JTAG介面使用的邏輯電平(比如3.3V還是5.0V?)

Return Test Clock ( RTCK) ----可選項2:可選項,由目標端反饋給模擬器的時鐘訊號,用來同步TCK訊號的產生,不使用時直接接地。

System Reset ( nSRST)----可選項3:可選項,與目標板上的系統復位訊號相連,可以直接對目標系統復位。同時可以檢測目標系統的復位情況,為了防止誤觸發應在目標端加上適當的上拉電阻。

USER IN:使用者自定義輸入。可以接到一個IO上,用來接受上位機的控制。

USER OUT:使用者自定義輸出。可以接到一個IO上,用來向上位機的反饋一個狀態

由於JTAG經常使用排線連線,為了增強抗干擾能力,在每條訊號線間加上地線就出現了這種20針的介面。但事實上,RTCK、USER IN、USER OUT一般都不使用,於是還有一種14針的介面。對於實際開發應用來說,由於實驗室電源穩定,電磁環境較好,干擾不大。

上述Jtag頭的管腳名稱是對IC而言的。例如TDI腳,表示該腳應該與IC上的TDI腳相連,而不是表示資料從該腳進入download cable。

實際上10針的只需要接4根線。4號是自連回路,不需要接。1和2號接的都是1管腳;而8和10接的是GND,也可以不接。

二、SWD模式

在給STM32燒寫程式除錯的時候,傳統20腳JTAG底座個頭大,佔用PCB面積多,連線線複雜。

採用SWD模式Jlink,只需要三根線即可與目標板實現通訊,可實現程式下載,單步除錯等功能,除了不能檢測目標板電壓、不能給目標板供電、速度有所降低之外,與完整版JLink的功能是一樣的。

20腳JTAG底座, 只需要 SWDIO、SWCLK、GND三根線,即 7號、9號及GND 中的任意一根針。由於韌體燒寫一次後就不再使用(掉韌體的可能性非常低),因此不需要再焊排針上去了,杜邦排針連線即可

對於全功能JLink,1號針腳的功能有兩個:檢測目標板電壓為內部的電平轉換晶片提供輸出端參考電壓。也就是說,如果目標板電壓為3.3V,那麼這裡也必須給1號針腳提供3.3V電壓,才能保證正常輸出。由上圖可知,20針JTAG的2號針可以提供VCC供電。開啟J-Link Commander輸入power on時,發現2號針腳輸出的是5V電壓,無法通過直接短路1、2號針來解決問題。所以必須給目標板上Jlink聯結器的1號管腳提供3.3V的電壓,可以在Jlink中獲取,也可以在待燒寫的板子中獲得,這與三線SWD下載模式無關

燒寫程式接線順序:插杜邦排針,原始JLink上電,待程式設計、燒寫器上電(USB)。斷開時步驟相反,切不可顛倒!尤其不能在上電時斷開上圖中的連線,否則會燒壞器件!

相關推薦

stm32下載模式JTAGSWD

一、JTAG模式 這種模式一般有10pin的、14pin的和20pin的,儘管引腳數和引腳的排列順序不同,但是其中有一些引腳是一樣的。值得注意的是,不同的IC公司會自己定義自家產品專屬的Jtag頭,來下載或除錯程式。 Test Clock Input (TCK) --

做直播業務,協議可供選擇HLS RMTP

隨著直播業務的興起,越來越多的直播平臺開始湧現,這火熱的程度好像一個應用不帶上直播業務出來都不好意思跟人打招呼。想要做一個直播業務,主要包括三個部分:採集推流端、流媒體服務端、播放端。這裡不多說,就主要結合 iOS 平臺,從觀看端出發,介紹一下對直播協議的選擇。 HLS,是蘋果公司實現的

esp8266學習筆記①nodeMCU的編譯環境配置下載

一、工具下載 連結:https://pan.baidu.com/s/1Xl9mhIZFTpw1yaOvTOB6pQ 提取碼:2wls 二、開發環境的搭建 1、驅動安裝 首先開啟檔案包裡面的串列埠驅動檔案選擇需要安裝的驅動,看你的開發板是哪個串列埠晶片就選擇安裝哪個,一般開

無線通訊調製方式LoRa與FSK的共性與區別

當無線資料的傳輸越來越廣泛,我們彷彿才意識到無線傳輸的技術真真切切的就在我們的身邊。本文簡單介紹兩種無線通訊調製方式:LoRa與FSK的共性與區別。   首先了解一下近年在國內較為火爆的無線技術——LoRa。   LoRa調變解調器採用專利擴頻調製和前向糾錯技術,

嵌入式的幾燒錄方式

嵌入式的幾種韌體燒錄方式 1. 名詞說明 1.1 什麼是韌體 韌體,也成為firmware。下面引用百度的定義: 韌體(firmware)一般儲存於裝置中的電可擦除只讀儲存器EEPROM(Electrically Erasable Programmable ROM)或

執行緒(十一)傳統傳統方式建立(thread、Runnable), 執行緒池方式ExcutorServicePool

傳統方式建立執行緒: 1、繼承Thread類,重寫run方法 2、實現Runnable介面,覆蓋介面中的run方法,然後將介面實現扔給Thread run方法探祕: Thread原始碼中的run方法,如下: @Override public void run

高效的併發模式

前言   我們都知道,併發程式設計的目的是讓程式“同時”執行多個任務,提高效率。當一個程式是計算密集型的時,併發程式設計並沒有優勢,反而由於任務的切換時效率降低。但是,當一個程式是IO密集型時,採用併發程式設計會極大地提高cpu的利用率。因為IO操作的速度遠遠

以太坊go-ethereum客戶端(三)全節點啟動模式

這篇部落格介紹一下go-ethereum全節點的兩種啟動模式:主網路快速啟動和測試網路快速啟動。這也是客戶端所提供的兩種啟動方式,直接拿來使用即可。下面具體介紹一下使用方法。 主網路快速啟動 其實,我們大多數人再使用節點的時候並不關係之前的歷史資料。我們啟動

棧的定義,基本的儲存結構順序儲存結構鏈式儲存結構

棧的定義 棧(stack )又稱堆疊,它是運算受限的線性表。 其限制是僅允許在表的一端進行插入和刪除操作,不允許在其他任何位置進行插入、查詢、刪除等操作。 表中進行插入、刪除操作的一端稱為 棧頂(top) ,棧頂儲存的元素稱為 棧頂元素。 相對的,表的另一端稱為棧底(bottom) 

Android 工具類的寫法---單例模式與靜態方法

第一種:單例模式 方法非靜態 public class LogUtil { private static volatile LogUtil instance; private Lo

不同的人工智慧觀工程觀點科學觀點

來源:人機與認知實驗室作者按:人工智慧是作為工程還是科學,這個問題是一個很嚴肅的問題,如果從工程

STM32 BootLoader升級

BootLoader 關於Bootloader,從書上的文字描述,很難理解這個名詞是什麼,有什麼用。這次用到了,算是有了更進一步的認識。 一、知識點 1、BootLoader就是微控制器啟動

【程式】Marvell 88W8782/88W8801 WiFi模組的下載程式碼

本程式所用的微控制器型號為:STM32F103VEPB12接WiFi模組的復位引腳(RST),上電時RST=0先復位,然後RST=1開始工作。所用的WiFi模組為:88W8801。雖然綠色的板子上面寫的是88W8782,但實際上中間的黑色晶片用的是88W8801。【sd880

實現多執行緒的方法(轉自http://www.2cto.com/kf/201507/423032.html)

 實現多執行緒的兩種方法:繼承Thread類或實現Runnable介面 Java中實現多執行緒有兩種方法:繼承Thread類和實現Runnable介面,在程式開發中只要是多執行緒,我們一般都是實現Runnable介面,原因歸結為一點:實現介面比繼承類要好。 多執行緒的第

下載】iPhone 全系OS官方自制下載刷機升級方法(更新os4.02自制)

 相信很朋友和我一樣,iPhone 用久了會覺得執行有點緩慢,確實在日常使用中我們經常安裝和解除安裝很多新舊軟體 ,和電腦一樣同時就會產生了殘留檔案,導致執行和記憶體的影響。       不過,也沒什麼能難倒我們的,刷機!刷機就是最有效最實用的方法了,當然

Gokit3(S)筆記01 ESP12F(ESP8266)開發環境搭建及下載列印

1 前言 ESP8266以前玩過一陣子,在CSDN寫了一系列的學習筆記,閱讀量還不錯,微信公眾號的幾十個關注者基本都是這階段來的。那時是用ESP-01+安信可開發板,這次有別的想法,ESP-01的IO太少,趁春節假期想玩玩看ESP-12F。剛好Gokit3就有

Windows下啟動關閉MySQL的方式(服務模式/非服務模式

現在MySQL的最新版本是8.0 ,雖然提到支援了JSON什麼的效能很強,但你的系統如果很穩定還是不要變動,已踩過坑。此處使用 5.5.47進行測試; window服務模式 啟動mysql 的方式 比較穩定推薦的做法通過系統服務註冊。 如果你下載的版本是解壓版本,可以進

Netgear WNR1000v2路由器 Openwrt 下載路徑

https://wiki.openwrt.org/toh/hwdata/netgear/netgear_wnr1000_v2 factorty to openwrt   https://downloads.openwrt.org/chaos_calmer/15.05.1/

【C#多執行緒】2.執行緒池簡述+傳統的非同步模式

執行緒池簡述+兩種傳統的非同步程式設計模式 1.執行緒池簡述   首先我們要明確一點,程式設計中講的執行緒與平時我們形容CPU幾核幾線程中的執行緒是不一樣的,CPU執行緒是指邏輯處理器,比如4核8執行緒,講的是這個cpu有8個邏輯處理器,可以同時處理8個執行緒。我們程式設計中講的執行緒在計算機中可以有許多許多

CSS設計模式OOCSS SMACSS

pop 文本 eset ESS setting 元素 architect lai pla 真心覺得寫出 CSS 並不難,但是要寫出可被維護的 CSS 比其他程式語言都還難。所幸已經有許多大師級的人物,提出許多設計模式和思維,借由站在巨人的肩膀上可以讓事情事半功倍。這篇文章就