版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、嵌入式系統(tǒng)原理與開發(fā)第04講南京大學(xué)計(jì)算機(jī)系 俞建新主講嵌入式系統(tǒng)原理與開發(fā)第04講第3章 嵌入式微處理器技術(shù)基礎(chǔ)本章主要介紹以下內(nèi)容:嵌入式處理器的調(diào)試技術(shù)邊界掃描測試技術(shù)JTAG第3章 嵌入式微處理器技術(shù)基礎(chǔ)本章主要介紹以下內(nèi)容:3.3 嵌入式系統(tǒng)調(diào)試技術(shù)指令集模擬器ROM仿真器實(shí)時(shí)在線仿真片上調(diào)試器與背景調(diào)試模式基于Angle的調(diào)試方案邊界掃描測試技術(shù)和JTAG接口概述Nexus調(diào)試標(biāo)準(zhǔn)半主機(jī)調(diào)試方式3.3 嵌入式系統(tǒng)調(diào)試技術(shù)指令集模擬器基于Angle的調(diào)試方嵌入式系統(tǒng)調(diào)試技術(shù)概貌嵌入式計(jì)算機(jī)調(diào)試基本結(jié)構(gòu)主機(jī)目標(biāo)機(jī)結(jié)構(gòu)主機(jī)常常是PC平臺(tái)原因:運(yùn)算能力相對(duì)較弱存儲(chǔ)能力和顯示能力較小數(shù)據(jù)吞吐
2、率較小很難在目標(biāo)程序運(yùn)行的計(jì)算設(shè)備上直接進(jìn)行硬件軟件調(diào)試。嵌入式系統(tǒng)調(diào)試技術(shù)概貌嵌入式計(jì)算機(jī)調(diào)試基本結(jié)構(gòu)嵌入式系統(tǒng)調(diào)試技術(shù)概貌8051單片機(jī)尋址范圍:0000H FFFFH 容量64KB地址長度:16位片內(nèi)數(shù)據(jù)存儲(chǔ)器為8位地址,所以最大可尋址的范圍為256個(gè)單元地址DPTR是16位地址指針,尋址范圍就可達(dá)到64KBkeil C51嵌入式系統(tǒng)調(diào)試技術(shù)概貌8051單片機(jī)Keil C51的系統(tǒng)要求Keil C51的系統(tǒng)要求主機(jī)和目標(biāo)機(jī)之間調(diào)試信道主機(jī)往往和目標(biāo)機(jī)的體系結(jié)構(gòu)不同。因此,需要有通信轉(zhuǎn)換器對(duì)調(diào)試信息進(jìn)行轉(zhuǎn)換。主機(jī)和目標(biāo)機(jī)之間調(diào)試信道主機(jī)往往和目標(biāo)機(jī)的體系結(jié)構(gòu)不同。因此SDT(Softwar
3、e Development Kit ,軟件開發(fā)工具包)介紹ARM SDT包括一套完整的應(yīng)用軟件開發(fā)工具 *armcc ARM的C編譯器,具有優(yōu)化功能,兼容于ANSI C(American National Standards Institute,美國國家標(biāo)準(zhǔn)學(xué)會(huì))。 *tcc THUMB的C編譯器,同樣具有優(yōu)化功能,兼容于ANSI C。 *armasm 支持ARM和THUMB的匯編器。 *armlink ARM連接器,連接一個(gè)和多個(gè)目標(biāo)文件,最終生成ELF( executable and linkable format )格式的可執(zhí)行映像文件 *armsd ARM和THUMB的符號(hào)調(diào)試器。SD
4、T(Software Development Kit ,Keil簡介Keil簡介調(diào)試程序界面Keil調(diào)試界面調(diào)試程序界面Keil調(diào)試界面Keil生成的hex文件(STC-ISP打開)Hex文件和Elf文件都是程序匯編的產(chǎn)物。Keil生成的hex文件(STC-ISP打開)Hex文件和E3.3.1 指令集模擬器指令集模擬器ISS,Instruction Set Simulator在一臺(tái)計(jì)算機(jī)上模擬另外一臺(tái)計(jì)算機(jī)上目標(biāo)程序(機(jī)器指令)運(yùn)行過程的軟件工具有時(shí)也叫做軟仿真器嵌入式系統(tǒng)開發(fā)的不可或缺工具 3.3.1 指令集模擬器指令集模擬器指令集模擬器的結(jié)構(gòu)指令集模擬器是一個(gè)純軟件系統(tǒng)內(nèi)部有一個(gè)反映目標(biāo)處
5、理器硬件的數(shù)據(jù)結(jié)構(gòu)以時(shí)序狀態(tài)機(jī)的方式工作可以根據(jù)目標(biāo)機(jī)指令集定義執(zhí)行目標(biāo)指令按照實(shí)現(xiàn)方法的不同指令集模擬器分為解釋型編譯型指令集模擬器的結(jié)構(gòu)指令集模擬器是一個(gè)純軟件系統(tǒng)解釋型和編譯型編譯型語言寫的程序執(zhí)行之前,需要一個(gè)專門的編譯過程,把程序編譯成為機(jī)器語言的文件,比如exe文件,翻譯只做了一次,運(yùn)行時(shí)不需要翻譯,像C/C+、Pascal/Object Pascal(Delphi)等都是編譯語言。解釋則不同,解釋性語言的程序不需要編譯,解釋性語言每執(zhí)行一次就要翻譯一次,效率比較低,解釋是一句一句的翻譯,如Java、JavaScript、VBScript、Perl、Python、Ruby、MATL
6、AB 等等。解釋型和編譯型編譯型語言寫的程序執(zhí)行之前,需要一個(gè)專門的編譯指令集模擬器的運(yùn)行指令集模擬器的操作界面與IDE (Integrated Development,集成開發(fā)環(huán)境)類似模仿目標(biāo)機(jī)的取指、譯碼和執(zhí)行操作將中間執(zhí)行結(jié)果或者最終執(zhí)行結(jié)果存入目標(biāo)機(jī)映像數(shù)據(jù)結(jié)構(gòu)調(diào)試人員可以觀察目標(biāo)機(jī)映像寄存器或者映像存儲(chǔ)器的單元,了解目標(biāo)代碼的執(zhí)行結(jié)果調(diào)試程序界面指令集模擬器的運(yùn)行指令集模擬器的操作界面與IDE (Inte指令集模擬器主要用途指令集模擬器主要用在以下幾種場合:沒有目標(biāo)機(jī)開發(fā)板有目標(biāo)機(jī)開發(fā)板,但使用目標(biāo)機(jī)開發(fā)板成本較高調(diào)試的程序模塊不需要在實(shí)際開發(fā)板上執(zhí)行,例如學(xué)習(xí)ARM匯編語言程序模
7、塊代碼的先行調(diào)試,以加快調(diào)試速度指令集模擬器主要用途指令集模擬器主要用在以下幾種場合:流行的ARM指令集模擬器有兩種比較流行的指令集模擬器:ARMulatorSkyEye還有一些研究中的ARM指令集模擬器流行的ARM指令集模擬器有兩種比較流行的指令集模擬器:ARM公司推出的ARMulatorARMulator是業(yè)界著名的指令集仿真器運(yùn)行在PC平臺(tái)上ARM體系結(jié)構(gòu)的指令集模擬器集成在SDT 2.51(軟件開發(fā)工具包)和ADS 1.2( ARM Developer Suite ,全套的實(shí)時(shí)開發(fā)軟件工具)上的插件由四個(gè)部分組成:處理器核模型、存儲(chǔ)器接口、處理器接口、操作系統(tǒng)接口。ARM公司推出的AR
8、MulatorARMulator是業(yè)界著指令模擬精度的級(jí)別指令模擬精度有三個(gè)級(jí)別指令級(jí)周期級(jí)時(shí)序(節(jié)拍)級(jí)ARMulator完全實(shí)現(xiàn)了指令級(jí)和周期級(jí)模擬精度,但是沒有完全實(shí)現(xiàn)時(shí)序級(jí)精度。指令模擬精度的級(jí)別指令模擬精度有三個(gè)級(jí)別指令集模擬器ARMulator對(duì)ARM程序運(yùn)行進(jìn)行指令周期數(shù)統(tǒng)計(jì)的結(jié)果快照指令集模擬器ARMulator對(duì)ARM程序運(yùn)行進(jìn)行指令周期Armulator的指令周期統(tǒng)計(jì)結(jié)果說明Armulator的指令周期統(tǒng)計(jì)結(jié)果說明SkyEye一個(gè)ARM體系結(jié)構(gòu)的嵌入式仿真和集成開發(fā)環(huán)境國內(nèi)開放源碼的自由軟件項(xiàng)目運(yùn)行環(huán)境:Linux平臺(tái)和Windows的Cygwin( cygwin是一個(gè)在w
9、indows平臺(tái)上運(yùn)行的Unix模擬環(huán)境)能夠仿真的CPU包括:不帶MMU( Memory Management Unit,內(nèi)存管理單元)的Atmel 91x40帶MMU的ARM720T等基于ARM7TDMI的內(nèi)核SkyEye還能夠模擬其它一些硬件外設(shè),如串口、網(wǎng)絡(luò)芯片、內(nèi)存、時(shí)鐘等SkyEye一個(gè)ARM體系結(jié)構(gòu)的嵌入式仿真和集成開發(fā)環(huán)境指令集模擬器缺點(diǎn)部分集成開發(fā)環(huán)境提供了指令集模擬器,可方便用戶在 PC 機(jī)上完成一部分簡單的調(diào)試工作,但是由于指令集模擬器與真實(shí)的硬件環(huán)境相差很大,因此即使用戶使用指令集模擬器調(diào)試通過的程序也有可能無法在真實(shí)的硬件環(huán)境下運(yùn)行,用戶最終必須在硬件平臺(tái)上完成整個(gè)應(yīng)
10、用的開發(fā)。指令集模擬器缺點(diǎn)部分集成開發(fā)環(huán)境提供了指令集模擬器,可方便用3.3.2 ROM仿真器嵌入式系統(tǒng)的程序存儲(chǔ)器為ROM(只讀存儲(chǔ)器)時(shí),如果調(diào)試需要修改代碼、設(shè)置斷點(diǎn)及更新程序代碼,就需要進(jìn)行離線編程。離線編程是一個(gè)費(fèi)時(shí)間的工作,用RAM(隨機(jī)存取存儲(chǔ)器)替代ROM可以解決這個(gè)問題ROM(只讀存儲(chǔ)器)仿真器用RAM(隨機(jī)存儲(chǔ)器)以及附加電路制成的替代ROM進(jìn)行離線編程的工具M(jìn)CS-51單片機(jī)研發(fā)過程中常常使用ROM仿真工具3.3.2 ROM仿真器嵌入式系統(tǒng)的程序存儲(chǔ)器為ROM(只ROM仿真系統(tǒng)組成和結(jié)構(gòu)框圖ROM仿真系統(tǒng)組成和結(jié)構(gòu)框圖ROM仿真器原理仿真器由兩組RAM區(qū),RAM1和RAM
11、2區(qū),分別被目標(biāo)機(jī)和仿真器分別操作,隔離電路的動(dòng)作是由仿真器CUP控制,仿真器CUP是聽命于上位機(jī)指令。某一時(shí)刻仿真器CPU對(duì)應(yīng)于RAM1區(qū),目標(biāo)機(jī)CUP對(duì)應(yīng)于RAM2區(qū),此時(shí)上位機(jī)可以對(duì)RAM1區(qū)的數(shù)據(jù)進(jìn)行更改,而RAM2區(qū)作為目標(biāo)機(jī)的ROM被使用;比如說兩個(gè)RAM起始數(shù)據(jù)都為P3=0 xFE,RAM1被上位機(jī)指令修改為P3=0 xFF,此時(shí)的RAM2仍然被目標(biāo)機(jī)CUP控制,P3口輸出為0 xFE;ROM仿真器原理仿真器由兩組RAM區(qū),RAM1和RAM2區(qū),ROM仿真器原理當(dāng)上位機(jī)發(fā)出切換指令,仿真器接受此指令并且進(jìn)行隔離切換,此時(shí)的仿真器CUP對(duì)應(yīng)于RAM2(P3=0 xFE),目標(biāo)機(jī)對(duì)應(yīng)
12、于RAM1(P3=0 xFF),所以目標(biāo)機(jī)輸出P3=0 xFF,而ROM2將會(huì)繼續(xù)做修改操作,直到下次切換信號(hào)到來。ROM仿真器原理當(dāng)上位機(jī)發(fā)出切換指令,仿真器接受此指令并且進(jìn)ROM仿真器原理為了避免目標(biāo)機(jī)在取指或參數(shù)期間產(chǎn)生切換,采用和 來進(jìn)行控制。ROM仿真器原理為了避免目標(biāo)機(jī)在取指或參數(shù)期間產(chǎn)生切換,采用ROM仿真器照片支持各種51系列芯片的JY-E2300仿真器照片ROM仿真器照片支持各種51系列芯片的JY-E2300仿真器3.3.3 實(shí)時(shí)在線仿真實(shí)時(shí)在線仿真ICE,In-Circuit Emulator目前最為有效的調(diào)試嵌入式系統(tǒng)的手段通過ICE的實(shí)際執(zhí)行,開發(fā)者可以排除人們難以發(fā)現(xiàn)
13、的隱藏在設(shè)計(jì)方案中的邏輯錯(cuò)誤。ICE的另外一個(gè)主要功能是在應(yīng)用系統(tǒng)中仿真微控制器的實(shí)際執(zhí)行優(yōu)點(diǎn)是功能強(qiáng)大,軟硬件均可以做到完全實(shí)時(shí)在線調(diào)試;缺點(diǎn)是價(jià)格昂貴。3.3.3 實(shí)時(shí)在線仿真實(shí)時(shí)在線仿真在線仿真器在線仿真器使用仿真頭完全取代目標(biāo)板上的 CPU ,可以完全仿真 ARM 芯片的行為,提供更加深入的調(diào)試功能。但這類仿真器為了能夠全速仿真時(shí)鐘速度高于 100MHz 的處理器,通常必須采用極其復(fù)雜的設(shè)計(jì)和工藝,因而其價(jià)格比較昂貴。在線仿真器通常用在 ARM 的硬件開發(fā)中,在軟件的開發(fā)中較少使用,其價(jià)格高昂也是在線仿真器難以普及的因素。在線仿真器在線仿真器使用仿真頭完全取代目標(biāo)板上的 CPU ,嵌入
14、式系統(tǒng)基礎(chǔ)教程第04講第3章嵌入式調(diào)試技術(shù)課件3.3.4 片上調(diào)試技術(shù)片上調(diào)試技術(shù)OCD,On-Chip Debugging嵌入式調(diào)試技術(shù)中運(yùn)用最廣泛的一種片上調(diào)試是在CPU的內(nèi)部嵌入額外的控制模塊,即片上調(diào)試器;使得CPU的工作模式分為正常模式和調(diào)試模式。3.3.4 片上調(diào)試技術(shù)片上調(diào)試技術(shù)常用的片上調(diào)試技術(shù)目前常用的片上調(diào)試技術(shù)主要有三種:背景調(diào)試模式BDM,Background Debug ModeJTAGIEEE 1149.1NexusIEEE-5001 ISTO常用的片上調(diào)試技術(shù)目前常用的片上調(diào)試技術(shù)主要有三種:背景調(diào)試模式背景調(diào)試模式Motorola(摩托羅拉)公司專有的片上調(diào)試器
15、。Motorola公司是第一個(gè)把片上調(diào)試器集成在處理器內(nèi)核中的嵌入式微處理器廠商。BDM首先在68300系列處理器上實(shí)現(xiàn)現(xiàn)在在其他微控制器上得到應(yīng)用背景調(diào)試模式背景調(diào)試模式BDM與ICE的區(qū)別傳統(tǒng)ICE調(diào)試時(shí),使用ICE中的CPU來取代目標(biāo)板中的CPU,目標(biāo)板和ICE之間使用多芯扁平電纜連接。而ICE在使用時(shí)一般還需要與主機(jī)(一般是PC)連接。(ICE調(diào)試是可以完全取代目標(biāo)板的CPU)。在BDM調(diào)試方式下嵌入式處理器被停機(jī),各種調(diào)試命令可以被發(fā)送到處理器中訪問內(nèi)存和寄存器。因此,滿足BDM調(diào)試的微處理器內(nèi)部已經(jīng)包含了用于調(diào)試的微碼(不是所有的芯片都可以用BDM調(diào)試的),調(diào)試時(shí)仿真器軟件和目標(biāo)板
16、上CPU的調(diào)試微碼通信,目標(biāo)板上的CPU無需取出。(不完全取代)。BDM與ICE的區(qū)別傳統(tǒng)ICE調(diào)試時(shí),使用ICE中的CPU來BDM的燒寫及在線調(diào)試BDM調(diào)試器內(nèi)部有一個(gè)8位的MC9HC08JB16單片機(jī),該單片機(jī)有USB接口,可與PC機(jī)信息交互。HC08單片機(jī)和目標(biāo)單片機(jī)間僅使用一根I/O線通信,這根相連的信號(hào)線名為BKGD。HC08單片機(jī)將BKGD置為輸出,以串行發(fā)送命令,發(fā)送完成后轉(zhuǎn)為輸入,以接收信息。目標(biāo)單片機(jī)收到命令后轉(zhuǎn)為輸出,根據(jù)調(diào)試器發(fā)來的命令回送信息,然后立即轉(zhuǎn)入接收態(tài)。BDM工具以此方式實(shí)現(xiàn)目標(biāo)單片機(jī)的在線調(diào)試、內(nèi)部閃存的燒寫等功能BDM的燒寫及在線調(diào)試BDM調(diào)試器內(nèi)部有一個(gè)
17、8位的MC9HCBDM接口雖然使用的是6引腳接插件,實(shí)際上有用引腳只有4個(gè)。其中BKGD連接到目標(biāo)處理器的BKGD引腳,RESET連接到目標(biāo)處理器的RESET引腳,GND是目標(biāo)板的地信號(hào),而VDD信號(hào)是來自目標(biāo)板的電源信號(hào)。BDM接口雖然使用的是6引腳接插件,實(shí)際上有用引腳只有4個(gè)。BDM調(diào)試器與主機(jī)和目標(biāo)開發(fā)板之間的連接 BDM調(diào)試器與主機(jī)和目標(biāo)開發(fā)板之間的連接 3.3.5 基于Angel的調(diào)試方案Angel是ARM公司的調(diào)試監(jiān)控程序也稱為調(diào)試代理由多個(gè)程序部件組成與傳統(tǒng)調(diào)試監(jiān)控程序相類似駐留在目標(biāo)機(jī)上Angel接收主機(jī)上發(fā)送過來的調(diào)試命令,執(zhí)行指定的調(diào)試操作,并將調(diào)試結(jié)果反饋回主機(jī)。適用于
18、各種ARM硬件平臺(tái)。3.3.5 基于Angel的調(diào)試方案Angel是ARM公司的調(diào)試監(jiān)控程序/駐留監(jiān)控軟件駐留監(jiān)控軟件( Resident Monitors )是一段運(yùn)行在目標(biāo)板上的程序,集成開發(fā)環(huán)境中的調(diào)試軟件通過以太網(wǎng)口、并行端口、串行端口等通訊端口與駐留監(jiān)控軟件進(jìn)行交互,由調(diào)試軟件發(fā)布命令通知駐留監(jiān)控軟件控制程序的執(zhí)行、讀寫存儲(chǔ)器、讀寫寄存器、設(shè)置斷點(diǎn)等。 駐留監(jiān)控軟件是一種比較低廉有效的調(diào)試方式,不需要任何其他的硬件調(diào)試和仿真設(shè)備。調(diào)試監(jiān)控程序/駐留監(jiān)控軟件駐留監(jiān)控軟件( Resident 調(diào)試監(jiān)控程序/駐留監(jiān)控軟件ARM 公司的 Angel 就是該類軟件,大部分嵌入式實(shí)時(shí)操作系統(tǒng)也是
19、采用該類軟件進(jìn)行調(diào)試,不同的是在嵌入式實(shí)時(shí)操作系統(tǒng)中,駐留監(jiān)控軟件是作為操作系統(tǒng)的一個(gè)任務(wù)存在的。 駐留監(jiān)控軟件的不便之處在于它對(duì)硬件設(shè)備的要求比較高,一般在硬件穩(wěn)定之后才能進(jìn)行應(yīng)用軟件的開發(fā),同時(shí)它占用目標(biāo)板上的一部分資源,而且不能對(duì)程序的全速運(yùn)行進(jìn)行完全仿真,所以對(duì)一些要求嚴(yán)格的情況不是很適合。調(diào)試監(jiān)控程序/駐留監(jiān)控軟件ARM 公司的 Angel 就是該3.3.6 邊界掃描測試技術(shù)邊界掃描測試技術(shù)和JTAG接口是嵌入式系統(tǒng)最具特色的技術(shù),一般情況具有兩個(gè)功能:1.測試芯片的電氣特性,檢測芯片是否有問題;2.一類用于Debug3.3.6 邊界掃描測試技術(shù)邊界掃描測試技術(shù)和JTAG接口ARM處
20、理器的JTAG調(diào)試結(jié)構(gòu)ARM處理器的JTAG調(diào)試結(jié)構(gòu)ARM調(diào)試系統(tǒng)說明調(diào)試系統(tǒng)一般包括3部分:調(diào)試主機(jī)是運(yùn)行軟件調(diào)試器的計(jì)算機(jī)例如ADW,ARM Debugger for Windows調(diào)試主機(jī)允許發(fā)出高級(jí)命令,如設(shè)置斷點(diǎn)或檢查存儲(chǔ)器內(nèi)容。協(xié)議轉(zhuǎn)換器處理調(diào)試主機(jī)和ARM7TDMI處理器JTAG接口之間的通訊包括調(diào)試主機(jī)發(fā)出的高級(jí)命令以及JTAG接口的低級(jí)命令。一般通過增強(qiáng)型并行口進(jìn)行連接。ARM調(diào)試系統(tǒng)說明調(diào)試系統(tǒng)一般包括3部分:ARM調(diào)試系統(tǒng)說明(續(xù))調(diào)試目標(biāo)ARM CPU主處理器邏輯:對(duì)調(diào)試有硬件支持。嵌入式ICE-RT邏輯:這是用于產(chǎn)生調(diào)試異常(如斷點(diǎn))的寄存器和比較器的集合。TAP控制
21、器:用JTAG串行接口控制掃描鏈的動(dòng)作。ARM調(diào)試系統(tǒng)說明(續(xù))調(diào)試目標(biāo)2008年3月14日南京大學(xué)計(jì)算機(jī)系473.4.3 ARM7TDMI掃描鏈布局2008年3月14日南京大學(xué)計(jì)算機(jī)系473.4.3 ARM2008年3月14日南京大學(xué)計(jì)算機(jī)系48ARM7TDMI內(nèi)核掃描鏈結(jié)構(gòu)113位38位33位2008年3月14日南京大學(xué)計(jì)算機(jī)系48ARM7TDMI內(nèi)核2008年3月14日南京大學(xué)計(jì)算機(jī)系49掃描鏈編號(hào)分配掃描鏈編號(hào)功能0宏單元掃描測試1調(diào)試2嵌入式ICE-RT邏輯編程3外部邊界掃描(由ASIC(集成電路設(shè)計(jì))設(shè)計(jì)者實(shí)現(xiàn))4保留8保留2008年3月14日南京大學(xué)計(jì)算機(jī)系49掃描鏈編號(hào)分配掃描
22、鏈2008年3月14日南京大學(xué)計(jì)算機(jī)系50掃描鏈0Scan Chain 0:有113個(gè)掃描單元,包括ARM核的所有的I/O、地址數(shù)據(jù)總線和輸入輸出控制信號(hào)。這條鏈上的信號(hào)復(fù)雜,不易控制,但是包含的信息豐富,可以通過這條鏈得到ARM7TDMI內(nèi)核的所有信息。從查詢數(shù)據(jù)輸入到輸出,掃描鏈的順序?yàn)椋?1)數(shù)據(jù)總線位0-位31;(2)內(nèi)核控制信號(hào);(3)地址總線位31-位0;(4)嵌入式ICE-RT控制信號(hào)。嵌入式ICE-RT控制信號(hào)(特別是DBGRQI)首先被掃描輸出。2008年3月14日南京大學(xué)計(jì)算機(jī)系50掃描鏈0Scan C2008年3月14日南京大學(xué)計(jì)算機(jī)系51掃描鏈0單元編號(hào)信號(hào)類型編號(hào)信號(hào)
23、類型132D0D31輸入/輸出41BL0輸入33BREAKPT輸入42BL1輸入34NENIN輸入43BL2輸入35NENOUT輸出44BL3輸入36LOCK輸出45DCTL輸出37BIGEND輸入46nRW輸出38DBE輸入47DBGACK輸出39MAS0輸出48CGENDBGACK輸出40MAS1輸出49nFIQ輸入2008年3月14日南京大學(xué)計(jì)算機(jī)系51掃描鏈0單元編號(hào)信號(hào)2008年3月14日南京大學(xué)計(jì)算機(jī)系52掃描鏈0單元(續(xù)1)編號(hào)信號(hào)類型編號(hào)信號(hào)類型50nIRQ輸入59nMREQ輸出51nRESET輸入60SEQ輸入52ISYNC輸入61nTRANS輸入53BRGRQ輸入62CPB
24、輸入54ABORT輸入63nM4輸出55CPA輸入64nM3輸出56nOPC輸出65nM2輸出57IFEN輸入66nM1輸出58nCPI輸出67nM0輸出2008年3月14日南京大學(xué)計(jì)算機(jī)系52掃描鏈0單元(續(xù)1)2008年3月14日南京大學(xué)計(jì)算機(jī)系53掃描鏈0單元(續(xù)2)編號(hào)信號(hào)類型編號(hào)信號(hào)類型68nEXEC輸出69ALE輸出70ABE輸入71APE輸入72TBIT輸出73nWAIT輸入74105A31A0輸出106113ICE-RT信號(hào)2008年3月14日南京大學(xué)計(jì)算機(jī)系53掃描鏈0單元(續(xù)2)2008年3月14日南京大學(xué)計(jì)算機(jī)系54掃描鏈1掃描鏈1:有33個(gè)掃描單元,包括ARM核的數(shù)據(jù)總
25、線和一個(gè)斷點(diǎn)控制信號(hào)。這是一條很有用的鏈,通過控制這條鏈,可以控制ARM核執(zhí)行指定的指令,從而實(shí)現(xiàn)對(duì)ARM的內(nèi)部寄存器、協(xié)處理器以及外部存儲(chǔ)器的讀寫操作。2008年3月14日南京大學(xué)計(jì)算機(jī)系54掃描鏈1掃描鏈1:有2008年3月14日南京大學(xué)計(jì)算機(jī)系55掃描鏈1(續(xù))掃描鏈1的前32位用于數(shù)據(jù)值,加上在BREAKPT內(nèi)核輸入上的掃描單元。第33位有如下4個(gè)用途:在正常INTEST測試條件下,允許將已知值掃描到BREAKPT的輸入。在EXTEST測試條件下,捕獲從系統(tǒng)加到BREAKPT輸入的值。在調(diào)試期間,第33位的值決定在執(zhí)行指令之前ARM7TDMI核是否同步回系統(tǒng)速度。ARM7TDMI核進(jìn)入
26、調(diào)試狀態(tài)后,該位第一次被捕獲并被掃描輸出。其值告訴調(diào)試器內(nèi)核是否由斷點(diǎn)(位33清零)或由觀察點(diǎn)(位33置位)進(jìn)入調(diào)試狀態(tài)。2008年3月14日南京大學(xué)計(jì)算機(jī)系55掃描鏈1(續(xù))掃描鏈2008年3月14日南京大學(xué)計(jì)算機(jī)系56掃描鏈2Scan Chain 2共有38個(gè)掃描單元,通過控制EmbeddedICE宏單元,實(shí)現(xiàn)對(duì)ARM執(zhí)行指令的斷點(diǎn)、觀察點(diǎn)的控制。從TDI到TDO的掃描鏈次序如下:讀/寫;寄存器地址位4-位0;數(shù)據(jù)值位31-位0。2008年3月14日南京大學(xué)計(jì)算機(jī)系56掃描鏈2Scan CARM處理器的實(shí)時(shí)JTAG仿真器與開發(fā)板的連線圖ARM處理器的實(shí)時(shí)JTAG仿真器與開發(fā)板的連線圖200
27、8年3月14日南京大學(xué)計(jì)算機(jī)系58JTAG信號(hào)TMS:測試模式選擇(Test Mode Select)通過TMS信號(hào)控制JTAG狀態(tài)機(jī)的狀態(tài)。TCK:JTAG的時(shí)鐘信號(hào)TDI:數(shù)據(jù)輸入信號(hào)TDO:數(shù)據(jù)輸出信號(hào)nTRST:JTAG復(fù)位信號(hào),復(fù)位JTAG的狀態(tài)機(jī)和內(nèi)部的宏單元(Macrocell)。2008年3月14日南京大學(xué)計(jì)算機(jī)系58JTAG信號(hào)TMS:2008年3月14日南京大學(xué)計(jì)算機(jī)系593.4.4 TAP控制器TAP控制器內(nèi)部有多個(gè)寄存器測試數(shù)據(jù)寄存器JTAG控制指令寄存器旁路寄存器ARM7TDMI器件識(shí)別碼(ID)寄存器掃描路徑選擇寄存器2008年3月14日南京大學(xué)計(jì)算機(jī)系593.4.
28、4 TAP2008年3月14日南京大學(xué)計(jì)算機(jī)系60JTAG的TAP控制器結(jié)構(gòu)2008年3月14日南京大學(xué)計(jì)算機(jī)系60JTAG的TAP控制2008年3月14日南京大學(xué)計(jì)算機(jī)系61JTAG接口的IC內(nèi)部結(jié)構(gòu)2008年3月14日南京大學(xué)計(jì)算機(jī)系61JTAG接口的IC內(nèi)2008年3月14日南京大學(xué)計(jì)算機(jī)系623.4.5 JTAG掃描鏈工作原理JTAG掃描鏈由掃描單元組成每一個(gè)被測試邏輯電路引出信號(hào)線同它的引腳之間配置一個(gè)掃描單元每一個(gè)掃描單元的內(nèi)部由兩個(gè)D觸發(fā)器和兩個(gè)多路選擇器組成分別把邏輯電路輸入輸出線同引腳之間的穿越掃描單元的電流方向成為橫向,沿掃描單元串接線運(yùn)動(dòng)的電流方向成為縱向。JTAG掃描鏈
29、一共有四種操作:掛起、捕獲、移位和更新。2008年3月14日南京大學(xué)計(jì)算機(jī)系623.4.5 JTA2008年3月14日南京大學(xué)計(jì)算機(jī)系63JTAG掃描單元構(gòu)造縱向縱向橫向橫向橫向四種操作: 掛起,移位,捕獲,更新2008年3月14日南京大學(xué)計(jì)算機(jī)系63JTAG掃描單元構(gòu)造2008年3月14日南京大學(xué)計(jì)算機(jī)系64JTAG掃描鏈的組成LogicPinPinPinPinLogicLogicLogicLogic縱向橫向PinPinLogic2008年3月14日南京大學(xué)計(jì)算機(jī)系64JTAG掃描鏈的組成2008年3月14日南京大學(xué)計(jì)算機(jī)系65JTAG處于掛起狀態(tài)橫向直行橫向直行如同掃描鏈不存在2008年3
30、月14日南京大學(xué)計(jì)算機(jī)系65JTAG處于掛起狀態(tài)2008年3月14日南京大學(xué)計(jì)算機(jī)系66捕獲JTAG狀態(tài)當(dāng)前引腳信號(hào)的快照存入掃描鏈2008年3月14日南京大學(xué)計(jì)算機(jī)系66捕獲JTAG狀態(tài)當(dāng)前2008年3月14日南京大學(xué)計(jì)算機(jī)系67移位數(shù)據(jù)縱向直行此刻處理器的工作脈沖暫停2008年3月14日南京大學(xué)計(jì)算機(jī)系67移位數(shù)據(jù)縱此刻處理器2008年3月14日南京大學(xué)計(jì)算機(jī)系68移位結(jié)束縱向直行此刻處理器的工作脈沖暫停2008年3月14日南京大學(xué)計(jì)算機(jī)系68移位結(jié)束縱此刻處理器2008年3月14日南京大學(xué)計(jì)算機(jī)系69數(shù)據(jù)更新JTAG掃描鏈取代系統(tǒng)向處理器輸入信號(hào),并且替代處理器向系統(tǒng)輸出信號(hào)。2008年
31、3月14日南京大學(xué)計(jì)算機(jī)系69數(shù)據(jù)更新JTAG掃描實(shí)時(shí)在線仿真(ICE)與JTAG的區(qū)別實(shí)時(shí)在線仿真系統(tǒng)的硬件主體是在線仿真器(ICE)。在8位單片機(jī)調(diào)試過程中,可以用這種ICE仿真器完全取代目標(biāo)板上的MCU。因而目標(biāo)系統(tǒng)對(duì)開發(fā)者來說完全是透明的、可控的。對(duì)16和32位的單片機(jī)還不能做到完全取代。JTAG調(diào)試在內(nèi)嵌了IEEE 1149標(biāo)準(zhǔn)電路的CPU上進(jìn)行,調(diào)試時(shí)不需要更換CPU。適用于8、16、32位的CPU。實(shí)時(shí)在線仿真(ICE)與JTAG的區(qū)別實(shí)時(shí)在線仿真系統(tǒng)的硬件英蓓特ARM仿真器的主要特征下載速度達(dá)25KB/S;支持主流開發(fā)環(huán)境ADS、 Embest IDE、 SDT;支持各種ARM
32、系列處理器;支持標(biāo)準(zhǔn)的14/20針JTAG接口;支持最多兩個(gè)硬件斷點(diǎn)/兩個(gè)數(shù)據(jù)斷點(diǎn)/不限數(shù)目的軟件斷點(diǎn);支持匯編級(jí)調(diào)試,支持ARM、THUMB及指令集交叉調(diào)試;支持標(biāo)準(zhǔn)C語言程序調(diào)試;支持Flash在線編程;通過軟件升級(jí)方式支持更高版本的ARM核處理器。英蓓特ARM仿真器的主要特征下載速度達(dá)25KB/S;3.3.7 嵌入追蹤宏單元ETM跟蹤追蹤宏單元ETM也稱為跟蹤調(diào)試接口ARM公司開發(fā)的一種高級(jí)實(shí)時(shí)軟件開發(fā)調(diào)試工具,是ARM片上系統(tǒng)的一個(gè)組件。在CPU運(yùn)行過程中把現(xiàn)場信息捕捉壓縮后輸出,然后在PC端就可以對(duì)這些數(shù)據(jù)進(jìn)行解壓分析。3.3.7 嵌入追蹤宏單元ETM跟蹤追蹤宏單元ETMETM嵌入跟
33、蹤宏單元本質(zhì)上ETM相當(dāng)于一個(gè)嵌入芯片的邏輯分析儀ETM嵌入跟蹤宏單元本質(zhì)上ETM相當(dāng)于一個(gè)嵌入芯片的邏輯分JTAG仿真器和ETM的功能區(qū)別基于JTAG的仿真器debug方法是利用芯片內(nèi)部的EmbeddedICE模塊來控制內(nèi)核,達(dá)到單步/斷點(diǎn)等調(diào)試目的,這種方法的特點(diǎn)是需要把目標(biāo)CPU停住后才能觀察現(xiàn)場情況。在真正的實(shí)時(shí)系統(tǒng)中,停止CPU運(yùn)行往往導(dǎo)致現(xiàn)場失真,ETM就能夠在CPU運(yùn)行過程中把現(xiàn)場信息捕捉壓縮進(jìn)行輸出,然后在PC端就可以對(duì)這些數(shù)據(jù)進(jìn)行解壓分析;用戶還可以對(duì)ETM設(shè)置很多過濾及觸發(fā)條件,對(duì)一些隨即出現(xiàn)的異常進(jìn)行捕捉(還能得到異常前后一段時(shí)間內(nèi)的系統(tǒng)信息)。本質(zhì)上ETM相當(dāng)于一個(gè)嵌入芯片內(nèi)部的邏輯分析儀。JTAG仿真器和ETM的功能區(qū)別基于JTAG的仿真器debu3.3.8 Nexus調(diào)試標(biāo)準(zhǔn)Nexus 5001論壇飛思卡爾公司、福特汽車公司和風(fēng)河公司等世界領(lǐng)先的嵌入式系統(tǒng)開發(fā)廠商于1998年成立了該論壇。官
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- PLPro軟件說明施耐德專業(yè)教案(2025-2026學(xué)年)
- 高考語文一輪復(fù)習(xí)專題十五圖文轉(zhuǎn)換分點(diǎn)突破二圖文轉(zhuǎn)換教案
- 細(xì)節(jié)描寫公開課學(xué)習(xí)教案
- 大班美術(shù)滑稽的小丑教案(2025-2026學(xué)年)
- 小學(xué)語文《網(wǎng)頁制作》教案(2025-2026學(xué)年)
- 2025廣西貴港市平南縣官成鎮(zhèn)政府公開招聘鄉(xiāng)鎮(zhèn)殘聯(lián)專職委員1人參考考試題庫及答案解析
- 護(hù)理知識(shí)下載網(wǎng)站大全教案
- 九年級(jí)道德法治上冊(cè)第一單元?dú)v史啟示錄歷史的足跡習(xí)題教科版教案
- 中醫(yī)內(nèi)科學(xué)第四章黃疸教案
- 《朝花夕拾》專題培訓(xùn)教案
- 家具生產(chǎn)工藝流程標(biāo)準(zhǔn)手冊(cè)
- 消防新隊(duì)員安全培訓(xùn)課件
- 2025瑪納斯縣司法局招聘編制外專職人民調(diào)解員人筆試備考題庫及答案解析
- 德邦物流系統(tǒng)講解
- 初中歷史時(shí)間軸(中外對(duì)照橫向版)
- DB3205∕T 1139-2024 巡游出租汽車營運(yùn)管理規(guī)范
- 醫(yī)藥KA經(jīng)理工作總結(jié)
- 四害消殺員工安全培訓(xùn)課件
- 南京市煙草公司2025秋招市場分析崗位面試模擬題及答案
- 貿(mào)易跟單專業(yè)知識(shí)培訓(xùn)課件
- 冠脈痙攣診療新進(jìn)展
評(píng)論
0/150
提交評(píng)論