JTAGSWDJLink等 介紹_第1頁
JTAGSWDJLink等 介紹_第2頁
JTAGSWDJLink等 介紹_第3頁
JTAGSWDJLink等 介紹_第4頁
JTAGSWDJLink等 介紹_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、stm32 JTAG和SWD的使用區(qū)別搞嵌入式開發(fā)和ARM開發(fā)搞了半輩子了,調(diào)試程序是不可避免的。接觸了那么多的調(diào)試規(guī)范、調(diào)試工具、調(diào)試手段,彼此之間的關(guān)系卻也不是特別清楚,今天就來捋一捋:JTAG協(xié)議JTAG(Joint Test Action Group,聯(lián)合測(cè)試行動(dòng)小組)是一種國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議(IEEE 1149.1兼容),主要用于芯片內(nèi)部測(cè)試。現(xiàn)在多數(shù)的高級(jí)器件都支持JTAG協(xié)議,如ARM、DSP、FPGA器件等。標(biāo)準(zhǔn)的JTAG接口是4線:TMS、 TCK、TDI、TDO,分別為模式選擇、時(shí)鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。 相關(guān)JTAG引腳的定義為: TMS:測(cè)試模式選擇,TMS用來設(shè)置JT

2、AG接口處于某種特定的測(cè)試模式; TCK:測(cè)試時(shí)鐘輸入; TDI:測(cè)試數(shù)據(jù)輸入,數(shù)據(jù)通過TDI引腳輸入JTAG接口; TDO:測(cè)試數(shù)據(jù)輸出,數(shù)據(jù)通過TDO引 腳從JTAG接口輸出;JTAG協(xié)議在定義時(shí),由于當(dāng)時(shí)的計(jì)算機(jī)(PC機(jī))普遍帶有并口,因而在連接計(jì)算機(jī)端是定義使用的并口。而計(jì)算機(jī)到了今天,不要說筆記本電腦,現(xiàn)在臺(tái)式計(jì)算機(jī)上面有并口的都很少了,取而代之的是越來越多的USB接口。所以,目前市場(chǎng)上已經(jīng)很少看到它的身影了。SWD接口串行調(diào)試(Serial Wire Debug),應(yīng)該可以算是一種和JTAG不同的調(diào)試模式,使用的調(diào)試協(xié)議也應(yīng)該不一樣,所以最直接的體現(xiàn)在調(diào)試接口上,與JTAG的20個(gè)

3、引腳相比,SWD只需要4個(gè)(或者5個(gè))引腳,結(jié)構(gòu)簡(jiǎn)單,但是使用范圍沒有JTAG廣泛,主流調(diào)試器上也是后來才加的SWD調(diào)試模式。SWD和傳統(tǒng)的調(diào)試方式區(qū)別: SWD模式比JTAG在高速模式下面更加可靠。在大數(shù)據(jù)量的情況下面JTAG下載程序會(huì)失敗,但是SWD發(fā)生的幾率會(huì)小很多?;臼褂肑TAG仿真模式的情況下是可以直接使用SWD模式的,只要你的仿真器支持,所以推薦大家使用這個(gè)模式。 在大家GPIO剛好缺一個(gè)的時(shí)候,可以使用SWD仿真,這種模式支持更少的引腳。 在大家板子的體積有限的時(shí)候推薦使用SWD模式,它需要的引腳少,當(dāng)然需要的PCB空間就小啦!比如你可以選擇一個(gè)很小的2.54間距的5芯端子做仿

4、真接口。RDI接口遠(yuǎn)程調(diào)試接口(Remote Debug Interface),是ARM公司提出的標(biāo)準(zhǔn)調(diào)試接口,主要用于ARM芯片的仿真,由于各個(gè)IDE廠商使用的調(diào)試接口各自獨(dú)立,硬件無法進(jìn)行跨平臺(tái)的調(diào)試?,F(xiàn)在眾多的IDE廠家都逐步采用標(biāo)準(zhǔn)RDI作為ARM仿真器的調(diào)試接口,因此使跨平臺(tái)的硬件調(diào)試成為可能。EasyJTAG由于使用標(biāo)準(zhǔn)RDI調(diào)試接口,因此在任何使用標(biāo)準(zhǔn)RDI接口的IDE調(diào)試環(huán)境中都可以使用,例如ARM公司的ADS1.2/IAR公司的EWARM 3.30 。JLink仿真器J-Link是德國(guó)SEGGER公司推出基于JTAG的仿真器。簡(jiǎn)單地說,是給一個(gè)JTAG協(xié)議轉(zhuǎn)換盒,即一個(gè)小型U

5、SB到JTAG的轉(zhuǎn)換盒,其連接到計(jì)算機(jī)用的是USB接口,而到目標(biāo)板內(nèi)部用的還是jtag協(xié)議。它完成了一個(gè)從軟件到硬件轉(zhuǎn)換的工作。JLINK是一個(gè)通用的開發(fā)工具,可以用于KEIL、IAR、ADS 等平臺(tái)。速度,效率,功能都很好,據(jù)說是眾多仿真器里最強(qiáng)悍的。ULink仿真器ULINK是ARM/KEIL公司推出的仿真器,目前網(wǎng)上可找到的是其升級(jí)版本,ULINK2和ULINK Pro仿真器。ULINK/ULINK2可以配合Keil軟件實(shí)現(xiàn)仿真功能,并且僅可以在Keil軟件上使用,增加了串行調(diào)試(SWD)支持,返回時(shí)鐘支持和實(shí)時(shí)代理等功能。開發(fā)工程師通過結(jié)合使用RealView MDK的調(diào)試器和ULIN

6、K2,可以方便的在目標(biāo)硬件上進(jìn)行片上調(diào)試(使用on-chip JTAG,SWD和OCDS)、Flash編程。但是要注意的是,ULINK是KEIL公司開發(fā)的仿真器,專用于KEIL平臺(tái)下使用,ADS、IAR下不能使用。ST-Link仿真器ST-LINK是專門針對(duì)意法半導(dǎo)體STM8和STM32系列芯片的仿真器。ST-LINK /V2指定的SWIM標(biāo)準(zhǔn)接口和JTAG / SWD標(biāo)準(zhǔn)接口,其主要功能有: 編程功能:可燒寫FLASH ROM、EEPROM、AFR等; 仿真功能:支持全速運(yùn)行、單步調(diào)試、斷點(diǎn)調(diào)試等各種調(diào)試方法,可查看IO狀態(tài),變量數(shù)據(jù)等; 仿真性能:采用USB2.0接口進(jìn)行仿真調(diào)試,單步調(diào)試

7、,斷點(diǎn)調(diào)試,反應(yīng)速度快; 編程性能:采用USB2.0接口,進(jìn)行SWIM / JTAG / SWD下載,下載速度快;CMSISARM Cortex 微控制器軟件接口標(biāo)準(zhǔn)(CMSIS:Cortex Microcontroller Software Interface Standard) 是 Cortex-M 處理器系列的與供應(yīng)商無關(guān)的硬件抽象層(英文原文為:a vendor-independent hardware abstraction layer for the Cortex-M processor series and defines generic tool interfaces來自ARM

8、官方定義)。 使用CMSIS,可以為處理器和外設(shè)實(shí)現(xiàn)一致且簡(jiǎn)單的軟件接口,從而簡(jiǎn)化軟件的重用、縮短微控制器新開發(fā)人員的學(xué)習(xí)過程,并縮短新設(shè)備的上市時(shí)間。軟件的創(chuàng)建被嵌入式行業(yè)公認(rèn)為主要成本系數(shù)。通過在所有Cortex-M 芯片供應(yīng)商產(chǎn)品中標(biāo)準(zhǔn)化軟件接口,這一成本會(huì)明顯降低,尤其是在創(chuàng)建新項(xiàng)目或?qū)F(xiàn)有軟件遷移到新設(shè)備時(shí)。最新版本的CMSIS為4.5。CMSIS是ARM公司與多家不同的芯片和軟件供應(yīng)商一起緊密合作定義的,提供了內(nèi)核與外設(shè)、實(shí)時(shí)操作系統(tǒng)和中間設(shè)備之間的通用接口。CMSIS軟件層次CMSIS可以分為多個(gè)軟件層次,分別由ARM公司、芯片供應(yīng)商提供。其中ARM提供了下列部分,可用于多種編譯

9、器: 內(nèi)核設(shè)備訪問層:包含了用來訪問內(nèi)核的寄存器設(shè)備的名稱定義,地址定義和助手函數(shù)。同時(shí)也為RTOS(實(shí)時(shí)操作系統(tǒng))定義了獨(dú)立于微控制器的接口,該接口包括調(diào)試通道定義。 中間設(shè)備訪問層:為軟件提供了訪問外設(shè)的通用方法。芯片供應(yīng)商應(yīng)當(dāng)修改中間設(shè)備訪問層,以適應(yīng)中間設(shè)備組件用到的微控制器上的外設(shè)。目前中間設(shè)備訪問層仍處于開發(fā)過程中,本文不做詳述。 芯片供應(yīng)商擴(kuò)展下列軟件層: 微控制器外設(shè)訪問層:提供片上所有外設(shè)的定義。 外設(shè)的訪問函數(shù)(可選):為外設(shè)提供額外的助手函數(shù)。CMSIS為Cortex-Mx微控制器系統(tǒng)定義了: 訪問外設(shè)寄存器的通用方法和定義異常向量的通用方法。 內(nèi)核設(shè)備的寄存器名稱和內(nèi)核

10、異常向量的名稱。 獨(dú)立于微控制器的RTOS接口,帶調(diào)試通道。 中間設(shè)備組件接口(TCP/IP協(xié)議棧,閃存文件系統(tǒng))。CMSIS包含的組件1、外圍寄存器和中斷定義: 適用于設(shè)備寄存器和中斷的一致接口2、內(nèi)核外設(shè)函數(shù):特定處理器功能和內(nèi)核外設(shè)的訪問函數(shù)3、DSP 庫(kù):優(yōu)化的信號(hào)處理算法,并為 SIMD 指令提供Cortex-M4 支持4、系統(tǒng)視圖說明(SVD):描述設(shè)備外設(shè)和中斷的XML 文件。該標(biāo)準(zhǔn)完全可擴(kuò)展,可確保其適合于所有 Cortex-M處理器系列微控制器,從最小的8 KB 設(shè)備到具有復(fù)雜通信外設(shè)(如以太網(wǎng)或USB)的設(shè)備。(內(nèi)核外設(shè)函數(shù)的內(nèi)存要求少于1 KB 代碼,少于10 字節(jié)RAM

11、)?;贑MSIS應(yīng)用程序的基本結(jié)構(gòu)CMSIS-外設(shè)訪問層的文件基于CMSIS應(yīng)用程序的基本結(jié)構(gòu)獨(dú)立于編譯器的文件: Cortex-M3內(nèi)核及其設(shè)備文件(core_cm3.h + core_cm3.c) 訪問Cortex-M3內(nèi)核及其設(shè)備:NVIC,SysTick等 訪問Cortex-M3的CPU寄存器和內(nèi)核外設(shè)的函數(shù) 微控制器專用頭文件(device.h) 指定中斷號(hào)碼(與啟動(dòng)文件一致) 外設(shè)寄存器定義(寄存器的基地址和布局) 控制微控制器其他特有的功能的函數(shù)(可選) 微控制器專用系統(tǒng)文件(system_device.c) 函數(shù)SystemInit,用來初始化微控制器 函數(shù)Sysem_Ext

12、MemCtl,用來配置外部存儲(chǔ)器控制器。它位于文件startup_stm32f10x_xx.s /.c,在跳轉(zhuǎn)到main前調(diào)用SystemFrequncy,該值代表系統(tǒng)時(shí)鐘頻率 微控制器的其他功能(可選)編譯器供應(yīng)商+微控制器專用啟動(dòng)文件 編譯器啟動(dòng)代碼(匯編或者C)(startup_device.s) 微控制器專用的中斷處理程序列表(與頭文件一致) 弱定義(Weak)的中斷處理程序默認(rèn)函數(shù)(可以被用戶代碼覆蓋)ispISP,即In-System Programming,在線編程。具有ISP功能的單片機(jī)芯片,可以通過簡(jiǎn)單的下載線直接在電路板上給芯片寫入或者擦除程序,并且支持在線調(diào)試。ISP(In-System Programming)在系統(tǒng)可編程,指電路板上的空白器件可以編程寫入最終用戶代碼,而不需要從電路板上取下器件,已經(jīng)編程的器件也可以用ISP方式擦除或再編程。ISP技術(shù)是未來發(fā)展方向。ISP的工作原理ISP 的實(shí)現(xiàn)相對(duì)要簡(jiǎn)單一些,一般通用做法是內(nèi)部的存儲(chǔ)器可以由上位機(jī)的軟件通過串

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論