版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、stm32 JTAG和SWD的使用區(qū)別搞嵌入式開發(fā)和ARM開發(fā)搞了半輩子了,調試程序是不可避免的。接觸了那么多的調試規(guī)范、調試工具、調試手段,彼此之間的關系卻也不是特別清楚,今天就來捋一捋:JTAG協(xié)議JTAG(Joint Test Action Group,聯(lián)合測試行動小組)是一種國際標準測試協(xié)議(IEEE 1149.1兼容),主要用于芯片內部測試?,F(xiàn)在多數(shù)的高級器件都支持JTAG協(xié)議,如ARM、DSP、FPGA器件等。標準的JTAG接口是4線:TMS、 TCK、TDI、TDO,分別為模式選擇、時鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。 相關JTAG引腳的定義為: TMS:測試模式選擇,TMS用來設置JT
2、AG接口處于某種特定的測試模式; TCK:測試時鐘輸入; TDI:測試數(shù)據(jù)輸入,數(shù)據(jù)通過TDI引腳輸入JTAG接口; TDO:測試數(shù)據(jù)輸出,數(shù)據(jù)通過TDO引 腳從JTAG接口輸出;JTAG協(xié)議在定義時,由于當時的計算機(PC機)普遍帶有并口,因而在連接計算機端是定義使用的并口。而計算機到了今天,不要說筆記本電腦,現(xiàn)在臺式計算機上面有并口的都很少了,取而代之的是越來越多的USB接口。所以,目前市場上已經(jīng)很少看到它的身影了。SWD接口串行調試(Serial Wire Debug),應該可以算是一種和JTAG不同的調試模式,使用的調試協(xié)議也應該不一樣,所以最直接的體現(xiàn)在調試接口上,與JTAG的20個
3、引腳相比,SWD只需要4個(或者5個)引腳,結構簡單,但是使用范圍沒有JTAG廣泛,主流調試器上也是后來才加的SWD調試模式。SWD和傳統(tǒng)的調試方式區(qū)別: SWD模式比JTAG在高速模式下面更加可靠。在大數(shù)據(jù)量的情況下面JTAG下載程序會失敗,但是SWD發(fā)生的幾率會小很多?;臼褂肑TAG仿真模式的情況下是可以直接使用SWD模式的,只要你的仿真器支持,所以推薦大家使用這個模式。 在大家GPIO剛好缺一個的時候,可以使用SWD仿真,這種模式支持更少的引腳。 在大家板子的體積有限的時候推薦使用SWD模式,它需要的引腳少,當然需要的PCB空間就小啦!比如你可以選擇一個很小的2.54間距的5芯端子做仿
4、真接口。RDI接口遠程調試接口(Remote Debug Interface),是ARM公司提出的標準調試接口,主要用于ARM芯片的仿真,由于各個IDE廠商使用的調試接口各自獨立,硬件無法進行跨平臺的調試?,F(xiàn)在眾多的IDE廠家都逐步采用標準RDI作為ARM仿真器的調試接口,因此使跨平臺的硬件調試成為可能。EasyJTAG由于使用標準RDI調試接口,因此在任何使用標準RDI接口的IDE調試環(huán)境中都可以使用,例如ARM公司的ADS1.2/IAR公司的EWARM 3.30 。JLink仿真器J-Link是德國SEGGER公司推出基于JTAG的仿真器。簡單地說,是給一個JTAG協(xié)議轉換盒,即一個小型U
5、SB到JTAG的轉換盒,其連接到計算機用的是USB接口,而到目標板內部用的還是jtag協(xié)議。它完成了一個從軟件到硬件轉換的工作。JLINK是一個通用的開發(fā)工具,可以用于KEIL、IAR、ADS 等平臺。速度,效率,功能都很好,據(jù)說是眾多仿真器里最強悍的。ULink仿真器ULINK是ARM/KEIL公司推出的仿真器,目前網(wǎng)上可找到的是其升級版本,ULINK2和ULINK Pro仿真器。ULINK/ULINK2可以配合Keil軟件實現(xiàn)仿真功能,并且僅可以在Keil軟件上使用,增加了串行調試(SWD)支持,返回時鐘支持和實時代理等功能。開發(fā)工程師通過結合使用RealView MDK的調試器和ULIN
6、K2,可以方便的在目標硬件上進行片上調試(使用on-chip JTAG,SWD和OCDS)、Flash編程。但是要注意的是,ULINK是KEIL公司開發(fā)的仿真器,專用于KEIL平臺下使用,ADS、IAR下不能使用。ST-Link仿真器ST-LINK是專門針對意法半導體STM8和STM32系列芯片的仿真器。ST-LINK /V2指定的SWIM標準接口和JTAG / SWD標準接口,其主要功能有: 編程功能:可燒寫FLASH ROM、EEPROM、AFR等; 仿真功能:支持全速運行、單步調試、斷點調試等各種調試方法,可查看IO狀態(tài),變量數(shù)據(jù)等; 仿真性能:采用USB2.0接口進行仿真調試,單步調試
7、,斷點調試,反應速度快; 編程性能:采用USB2.0接口,進行SWIM / JTAG / SWD下載,下載速度快;CMSISARM Cortex 微控制器軟件接口標準(CMSIS:Cortex Microcontroller Software Interface Standard) 是 Cortex-M 處理器系列的與供應商無關的硬件抽象層(英文原文為:a vendor-independent hardware abstraction layer for the Cortex-M processor series and defines generic tool interfaces來自ARM
8、官方定義)。 使用CMSIS,可以為處理器和外設實現(xiàn)一致且簡單的軟件接口,從而簡化軟件的重用、縮短微控制器新開發(fā)人員的學習過程,并縮短新設備的上市時間。軟件的創(chuàng)建被嵌入式行業(yè)公認為主要成本系數(shù)。通過在所有Cortex-M 芯片供應商產(chǎn)品中標準化軟件接口,這一成本會明顯降低,尤其是在創(chuàng)建新項目或將現(xiàn)有軟件遷移到新設備時。最新版本的CMSIS為4.5。CMSIS是ARM公司與多家不同的芯片和軟件供應商一起緊密合作定義的,提供了內核與外設、實時操作系統(tǒng)和中間設備之間的通用接口。CMSIS軟件層次CMSIS可以分為多個軟件層次,分別由ARM公司、芯片供應商提供。其中ARM提供了下列部分,可用于多種編譯
9、器: 內核設備訪問層:包含了用來訪問內核的寄存器設備的名稱定義,地址定義和助手函數(shù)。同時也為RTOS(實時操作系統(tǒng))定義了獨立于微控制器的接口,該接口包括調試通道定義。 中間設備訪問層:為軟件提供了訪問外設的通用方法。芯片供應商應當修改中間設備訪問層,以適應中間設備組件用到的微控制器上的外設。目前中間設備訪問層仍處于開發(fā)過程中,本文不做詳述。 芯片供應商擴展下列軟件層: 微控制器外設訪問層:提供片上所有外設的定義。 外設的訪問函數(shù)(可選):為外設提供額外的助手函數(shù)。CMSIS為Cortex-Mx微控制器系統(tǒng)定義了: 訪問外設寄存器的通用方法和定義異常向量的通用方法。 內核設備的寄存器名稱和內核
10、異常向量的名稱。 獨立于微控制器的RTOS接口,帶調試通道。 中間設備組件接口(TCP/IP協(xié)議棧,閃存文件系統(tǒng))。CMSIS包含的組件1、外圍寄存器和中斷定義: 適用于設備寄存器和中斷的一致接口2、內核外設函數(shù):特定處理器功能和內核外設的訪問函數(shù)3、DSP 庫:優(yōu)化的信號處理算法,并為 SIMD 指令提供Cortex-M4 支持4、系統(tǒng)視圖說明(SVD):描述設備外設和中斷的XML 文件。該標準完全可擴展,可確保其適合于所有 Cortex-M處理器系列微控制器,從最小的8 KB 設備到具有復雜通信外設(如以太網(wǎng)或USB)的設備。(內核外設函數(shù)的內存要求少于1 KB 代碼,少于10 字節(jié)RAM
11、)。基于CMSIS應用程序的基本結構CMSIS-外設訪問層的文件基于CMSIS應用程序的基本結構獨立于編譯器的文件: Cortex-M3內核及其設備文件(core_cm3.h + core_cm3.c) 訪問Cortex-M3內核及其設備:NVIC,SysTick等 訪問Cortex-M3的CPU寄存器和內核外設的函數(shù) 微控制器專用頭文件(device.h) 指定中斷號碼(與啟動文件一致) 外設寄存器定義(寄存器的基地址和布局) 控制微控制器其他特有的功能的函數(shù)(可選) 微控制器專用系統(tǒng)文件(system_device.c) 函數(shù)SystemInit,用來初始化微控制器 函數(shù)Sysem_Ext
12、MemCtl,用來配置外部存儲器控制器。它位于文件startup_stm32f10x_xx.s /.c,在跳轉到main前調用SystemFrequncy,該值代表系統(tǒng)時鐘頻率 微控制器的其他功能(可選)編譯器供應商+微控制器專用啟動文件 編譯器啟動代碼(匯編或者C)(startup_device.s) 微控制器專用的中斷處理程序列表(與頭文件一致) 弱定義(Weak)的中斷處理程序默認函數(shù)(可以被用戶代碼覆蓋)ispISP,即In-System Programming,在線編程。具有ISP功能的單片機芯片,可以通過簡單的下載線直接在電路板上給芯片寫入或者擦除程序,并且支持在線調試。ISP(In-System Programming)在系統(tǒng)可編程,指電路板上的空白器件可以編程寫入最終用戶代碼,而不需要從電路板上取下器件,已經(jīng)編程的器件也可以用ISP方式擦除或再編程。ISP技術是未來發(fā)展方向。ISP的工作原理ISP 的實現(xiàn)相對要簡單一些,一般通用做法是內部的存儲器可以由上位機的軟件通過串
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年標準砌體工程分包合同樣本一
- 美食springboot課程設計
- 專題01基礎知識綜合(原卷版)
- 用戶畫像課程設計
- 自然課程設計營銷推廣
- 換熱網(wǎng)絡課程設計
- 理論課程設計需要考慮
- 湖南省株洲市2024-2025學年高三上學期期末考試政治試題(解析版)
- 直播器材培訓課程設計
- 汽修行業(yè)修理工技能提升總結
- 中國聯(lián)通動環(huán)監(jiān)控系統(tǒng)C接口-0812
- GB/T 30680-2014氟橡膠板通用技術條件
- 41.脅痛(膽囊結石)中醫(yī)臨床路徑
- 車間現(xiàn)場安全培訓內容課件參考
- 油藏工程-油藏物質平衡方法-1課件
- 三上書法《撇》教學課件
- 河北省廊坊市藥品零售藥店企業(yè)藥房名單目錄
- 超星爾雅學習通《三國志導讀》章節(jié)測試(含答案)
- 簡單的個人原因辭職報告(通用17篇)
- 交響曲欣賞-完整版PPT
- 公司軟件銷售管理制度
評論
0/150
提交評論