嵌入式調(diào)試技術課件_第1頁
嵌入式調(diào)試技術課件_第2頁
嵌入式調(diào)試技術課件_第3頁
嵌入式調(diào)試技術課件_第4頁
嵌入式調(diào)試技術課件_第5頁
已閱讀5頁,還剩79頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

嵌入式微處理器技術基礎本章主要介紹以下內(nèi)容:嵌入式微處理器典型技術主流嵌入式微處理器嵌入式處理器的調(diào)試技術邊界掃描測試技術JTAG12/24/20221嵌入式微處理器技術基礎本章主要介紹以下內(nèi)容:12/19/203.3嵌入式系統(tǒng)調(diào)試技術指令集模擬器ROM仿真器實時在線仿真片上調(diào)試器與背景調(diào)試模式基于Angle的調(diào)試方案邊界掃描測試技術和JTAG接口概述跟蹤接口ETMNexus調(diào)試標準半主機調(diào)試方式12/24/202223.3嵌入式系統(tǒng)調(diào)試技術指令集模擬器基于Angle的調(diào)試方嵌入式系統(tǒng)調(diào)試技術概貌嵌入式計算機調(diào)試基本結(jié)構(gòu)主機—目標機結(jié)構(gòu)主機常常是PC平臺原因:運算能力相對較弱存儲能力和顯示能力較小數(shù)據(jù)吞吐率較小很難在目標程序運行的計算設備上直接進行硬件軟件調(diào)試。12/24/20223嵌入式系統(tǒng)調(diào)試技術概貌嵌入式計算機調(diào)試基本結(jié)構(gòu)12/19/2主機和目標機之間調(diào)試信道主機往往和目標機的體系結(jié)構(gòu)不同。因此,需要有通信轉(zhuǎn)換器對調(diào)試信息進行轉(zhuǎn)換。12/24/20224主機和目標機之間調(diào)試信道主機往往和目標機的體系結(jié)構(gòu)不同。因此3.3.1指令集模擬器指令集模擬器ISS,InstructionSetSimulator在一臺計算機上模擬另外一臺計算機上目標程序(機器指令)運行過程的軟件工具有時也叫做軟仿真器嵌入式系統(tǒng)開發(fā)的不可或缺工具12/24/202253.3.1指令集模擬器指令集模擬器12/19/20225指令集模擬器的結(jié)構(gòu)指令集模擬器是一個純軟件系統(tǒng)內(nèi)部有一個反映目標處理器硬件的數(shù)據(jù)結(jié)構(gòu)以時序狀態(tài)機的方式工作可以根據(jù)目標機指令集定義執(zhí)行目標指令按照實現(xiàn)方法的不同指令集模擬器分為解釋型編譯型12/24/20226指令集模擬器的結(jié)構(gòu)指令集模擬器是一個純軟件系統(tǒng)12/19/2指令集模擬器的運行指令集模擬器的操作界面與IDE類似模仿目標機的取指、譯碼和執(zhí)行操作將中間執(zhí)行結(jié)果或者最終執(zhí)行結(jié)果存入目標機映像數(shù)據(jù)結(jié)構(gòu)調(diào)試人員可以觀察目標機映像寄存器或者映像存儲器的單元,了解目標代碼的執(zhí)行結(jié)果12/24/20227指令集模擬器的運行指令集模擬器的操作界面與IDE類似12/1指令集模擬器主要用途指令集模擬器主要用在以下幾種場合:沒有目標機開發(fā)板有目標機開發(fā)板,但使用目標機開發(fā)板成本較高調(diào)試的程序模塊不需要在實際開發(fā)板上執(zhí)行,例如學習ARM匯編語言程序模塊代碼的先行調(diào)試,以加快調(diào)試速度12/24/20228指令集模擬器主要用途指令集模擬器主要用在以下幾種場合:12/流行的ARM指令集模擬器有兩種比較流行的指令集模擬器:ARMulatorSkyEye還有一些研究中的ARM指令集模擬器12/24/20229流行的ARM指令集模擬器有兩種比較流行的指令集模擬器:12/ARM公司推出的ARMulatorARMulator是業(yè)界著名的指令集仿真器運行在PC平臺上ARM體系結(jié)構(gòu)的指令集模擬器集成在SDT2.51和ADS1.2上的插件由四個部分組成:處理器核模型、存儲器接口、處理器接口、操作系統(tǒng)接口。12/24/202210ARM公司推出的ARMulatorARMulator是業(yè)界著指令模擬精度的級別指令模擬精度有三個級別指令級周期級時序(節(jié)拍)級ARMulator完全實現(xiàn)了指令級和周期級模擬精度,但是沒有完全實現(xiàn)時序級精度。12/24/202211指令模擬精度的級別指令模擬精度有三個級別12/19/2022指令集模擬器ARMulator對ARM程序運行

進行指令周期數(shù)統(tǒng)計的結(jié)果快照12/24/202212指令集模擬器ARMulator對ARM程序運行

進行指令周期Armulator的指令周期統(tǒng)計結(jié)果說明12/24/202213Armulator的指令周期統(tǒng)計結(jié)果說明12/19/2022SkyEye一個ARM體系結(jié)構(gòu)的嵌入式仿真和集成開發(fā)環(huán)境國內(nèi)開放源碼的自由軟件項目運行環(huán)境:Linux平臺和Windows的Cygwin能夠仿真的CPU包括:不帶MMU的Atmel91x40帶MMU的ARM720T等基于ARM7TDMI的內(nèi)核SkyEye還能夠模擬其它一些硬件外設,如串口、網(wǎng)絡芯片、內(nèi)存、時鐘等12/24/202214SkyEye一個ARM體系結(jié)構(gòu)的嵌入式仿真和集成開發(fā)環(huán)境123.3.2ROM仿真器嵌入式系統(tǒng)的程序存儲器為ROM時,如果調(diào)試需要修改代碼、設置斷點及更新程序代碼,就需要進行離線編程。離線編程是一個費時間的工作,用RAM替代ROM可以解決這個問題ROM仿真器用RAM以及附加電路制成的替代ROM進行離線編程的工具MCS-51單片機研發(fā)過程中常常使用ROM仿真工具12/24/2022153.3.2ROM仿真器嵌入式系統(tǒng)的程序存儲器為ROM時,ROM仿真器照片支持各種51系列芯片的JY-E2300仿真器照片12/24/202216ROM仿真器照片支持各種51系列芯片的JY-E2300仿真器3.3.3實時在線仿真實時在線仿真ICE,In-CircuitEmulator目前最為有效的調(diào)試嵌入式系統(tǒng)的手段通過ICE的實際執(zhí)行,開發(fā)者可以排除人們難以發(fā)現(xiàn)的隱藏在設計方案中的邏輯錯誤。ICE的另外一個主要功能是在應用系統(tǒng)中仿真微控制器的實際執(zhí)行優(yōu)點是功能強大,軟硬件均可以做到完全實時在線調(diào)試;缺點是價格昂貴。12/24/2022173.3.3實時在線仿真實時在線仿真12/19/2022173.3.4片上調(diào)試技術片上調(diào)試技術OCD,On-ChipDebugging嵌入式調(diào)試技術中運用最廣泛的一種片上調(diào)試是在CPU的內(nèi)部嵌入額外的控制模塊,即片上調(diào)試器;使得CPU的工作模式分為正常模式和調(diào)試模式。12/24/2022183.3.4片上調(diào)試技術片上調(diào)試技術12/19/202218常用的片上調(diào)試技術目前常用的片上調(diào)試技術主要有三種:背景調(diào)試模式BDM,BackgroundDebugModeJTAGIEEE1149.1NexusIEEE-5001ISTO12/24/202219常用的片上調(diào)試技術目前常用的片上調(diào)試技術主要有三種:12/1背景調(diào)試模式背景調(diào)試模式Motorola公司專有的片上調(diào)試器。Motorola公司是第一個把片上調(diào)試器集成在處理器內(nèi)核中的嵌入式微處理器廠商。BDM首先在68300系列處理器上實現(xiàn)現(xiàn)在在其他微控制器上得到應用12/24/202220背景調(diào)試模式背景調(diào)試模式12/19/202220BDM與ICE的區(qū)別傳統(tǒng)ICE調(diào)試時,使用ICE中的CPU來取代目標板中的CPU,目標板和ICE之間使用多芯扁平電纜連接。而ICE在使用時一般還需要與主機(一般是PC)連接。在BDM調(diào)試方式下嵌入式處理器被停機,各種調(diào)試命令可以被發(fā)送到處理器中訪問內(nèi)存和寄存器。因此,滿足BDM調(diào)試的微處理器內(nèi)部已經(jīng)包含了用于調(diào)試的微碼,調(diào)試時仿真器軟件和目標板上CPU的調(diào)試微碼通信,目標板上的CPU無需取出。12/24/202221BDM與ICE的區(qū)別傳統(tǒng)ICE調(diào)試時,使用ICE中的CPU來BDM調(diào)試器與主機和目標開發(fā)板

之間的連接12/24/202222BDM調(diào)試器與主機和目標開發(fā)板

之間的連接12/19/203.3.5基于Angel的調(diào)試方案Angel是ARM公司的調(diào)試監(jiān)控程序也稱為調(diào)試代理由多個程序部件組成與傳統(tǒng)調(diào)試監(jiān)控程序相類似駐留在目標機上Angel接收主機上發(fā)送過來的調(diào)試命令,執(zhí)行指定的調(diào)試操作,并將調(diào)試結(jié)果反饋回主機。適用于各種ARM硬件平臺。12/24/2022233.3.5基于Angel的調(diào)試方案Angel是ARM公司的3.3.6邊界掃描測試技術邊界掃描測試技術和JTAG接口是嵌入式系統(tǒng)最具特色的技術集成電路研制時的內(nèi)部電路測試嵌入式軟件開發(fā)時的程序調(diào)試將在后續(xù)課程中詳細介紹12/24/2022243.3.6邊界掃描測試技術邊界掃描測試技術和JTAG接口ARM處理器的JTAG調(diào)試結(jié)構(gòu)12/24/202225ARM處理器的JTAG調(diào)試結(jié)構(gòu)12/19/202225英蓓特公司的ARM仿真器照片JTAG實時在線協(xié)議轉(zhuǎn)換器通常稱為JTAG調(diào)試器(或JTAG仿真器),由于ARM處理器廣泛使用,通常也把ARM處理器的JTAG實時在線協(xié)議轉(zhuǎn)換器稱為ARM仿真器。右面給出了深圳市英蓓特公司的ARM仿真器照片。12/24/202226英蓓特公司的ARM仿真器照片JTAG實時在線協(xié)議轉(zhuǎn)換器通常稱JTAG仿真器連接JTAG仿真器連接比較方便,通過現(xiàn)有的JTAG邊界掃描口與ARMCPU核通信,屬于完全非插入式(即不使用片上資源)調(diào)試,它無需目標存儲器,不占用目標系統(tǒng)的任何端口,而這些是駐留監(jiān)控軟件所必需的。另外,由于JTAG調(diào)試的目標程序是在目標板上執(zhí)行,仿真更接近于目標硬件,因此,許多接口問題,如高頻操作限制、AC和DC參數(shù)不匹配,電線長度的限制等被最小化了。使用集成開發(fā)環(huán)境配合JTAG仿真器進行開發(fā)是目前采用最多的一種調(diào)試方式??捎糜陂_發(fā)和調(diào)試包含JTAG接口的ARM電路板。12/24/202227JTAG仿真器連接JTAG仿真器連接比較方便,通過現(xiàn)有的JTARM處理器的實時JTAG仿真器

與開發(fā)板的連線圖12/24/202228ARM處理器的實時JTAG仿真器

與開發(fā)板的連線圖12/19實時在線仿真(ICE)與JTAG的區(qū)別實時在線仿真系統(tǒng)的硬件主體是在線仿真器(ICE)。在8位單片機調(diào)試過程中,可以用這種ICE仿真器完全取代目標板上的MCU。因而目標系統(tǒng)對開發(fā)者來說完全是透明的、可控的。對16和32位的單片機還不能做到完全取代。JTAG調(diào)試在內(nèi)嵌了IEEE1149標準電路的CPU上進行,調(diào)試時不需要更換CPU。適用于8、16、32位的CPU。12/24/202229實時在線仿真(ICE)與JTAG的區(qū)別實時在線仿真系統(tǒng)的硬件英蓓特ARM仿真器的主要特征下載速度達25KB/S;支持主流開發(fā)環(huán)境ADS、EmbestIDE、SDT;支持各種ARM系列處理器;支持標準的14/20針JTAG接口;支持最多兩個硬件斷點/兩個數(shù)據(jù)斷點/不限數(shù)目的軟件斷點;支持匯編級調(diào)試,支持ARM、THUMB及指令集交叉調(diào)試;支持標準C語言程序調(diào)試;支持Flash在線編程;通過軟件升級方式支持更高版本的ARM核處理器。12/24/202230英蓓特ARM仿真器的主要特征下載速度達25KB/S;12/13.3.7嵌入追蹤宏單元ETM跟蹤追蹤宏單元ETM也稱為跟蹤調(diào)試接口ARM公司開發(fā)的一種高級實時軟件開發(fā)調(diào)試工具,是ARM片上系統(tǒng)的一個組件。在CPU運行過程中把現(xiàn)場信息捕捉壓縮后輸出,然后在PC端就可以對這些數(shù)據(jù)進行解壓分析。12/24/2022313.3.7嵌入追蹤宏單元ETM跟蹤追蹤宏單元ETM12/1ETM—嵌入跟蹤宏單元本質(zhì)上ETM相當于一個嵌入芯片的邏輯分析儀12/24/202232ETM—嵌入跟蹤宏單元本質(zhì)上ETM相當于一個嵌入芯片的邏輯分JTAG仿真器和ETM的功能區(qū)別基于JTAG的仿真器debug方法是利用芯片內(nèi)部的EmbeddedICE模塊來控制內(nèi)核,達到單步/斷點等調(diào)試目的,這種方法的特點是需要把目標CPU停住后才能觀察現(xiàn)場情況。在真正的實時系統(tǒng)中,停止CPU運行往往導致現(xiàn)場失真,ETM就能夠在CPU運行過程中把現(xiàn)場信息捕捉壓縮進行輸出,然后在PC端就可以對這些數(shù)據(jù)進行解壓分析;用戶還可以對ETM設置很多過濾及觸發(fā)條件,對一些隨即出現(xiàn)的異常進行捕捉(還能得到異常前后一段時間內(nèi)的系統(tǒng)信息)。本質(zhì)上ETM相當于一個嵌入芯片內(nèi)部的邏輯分析儀。12/24/202233JTAG仿真器和ETM的功能區(qū)別基于JTAG的仿真器debu3.3.8Nexus調(diào)試標準Nexus5001論壇飛思卡爾公司、福特汽車公司和風河公司等世界領先的嵌入式系統(tǒng)開發(fā)廠商于1998年成立了該論壇。官方網(wǎng)址是:屬于IEEE工業(yè)標準和技術組織(IEEE-ISTO)的一個項目目前已經(jīng)有24個團體會員該論壇提出的調(diào)試標準稱為Nexus調(diào)試標準12/24/2022343.3.8Nexus調(diào)試標準Nexus5001論壇12/Nexus5001論壇目標Nexus5001論壇追求提高實時可視性和多嵌入式處理器內(nèi)核的可控性致力于提出一個在JTAG之上的全球范圍適用的開放性嵌入式處理器調(diào)試標準該技術標準被稱為Nexus5001標準,簡稱為Nexus標準12/24/202235Nexus5001論壇目標Nexus5001論壇追求提高3.3.9半主機調(diào)試方式半主機的英文原文是“semihosting”也稱為半主機機制、半主機方式、半主機調(diào)試或者半主機調(diào)試方式。目前的幾種ARM調(diào)試器都支持的半主機調(diào)試功能。半主機的實質(zhì)是讓不支持ANSIC函數(shù)庫功能的目標系統(tǒng)使用調(diào)試主機提供的C函數(shù)庫功能。以下給出兩張ADS集成開發(fā)環(huán)境的調(diào)試界面12/24/2022363.3.9半主機調(diào)試方式半主機的英文原文是“semihosADS1.2IDE的半主機方式界面12/24/202237ADS1.2IDE的半主機方式界面12/19/202237ADS1.2IDE的主要工具窗口12/24/202238ADS1.2IDE的主要工具窗口12/19/202238第4講重點指令集模擬器實時在線仿真片上調(diào)試器與背景調(diào)試模式基于Angle的調(diào)試方案邊界掃描測試技術和JTAG接口概述跟蹤接口ETM半主機調(diào)試方式12/24/202239第4講重點指令集模擬器12/19/202239第4講復習題與思考題PC和嵌入式系統(tǒng)的調(diào)試技術有什么主要不同之處?什么是背景調(diào)試?指令集模擬器SkyEye和ARMulator各有什么特點?請簡單地概述JTAG測試技術?;贏ngel的調(diào)試方案是怎么一回事?試描述ETM與JTAG的異同點。ARM仿真器的作用是什么?能夠完全取代目標板的ICE仿真器是什么樣的仿真器。Nexus調(diào)試標準的用途是什么?何謂半主機方式?12/24/202240第4講復習題與思考題PC和嵌入式系統(tǒng)的調(diào)試技術有什么主要第4講復習題和思考題(續(xù))基于ADS1.2的半主機方式的調(diào)試技術體驗 1)編寫C程序或者ARM匯編程序,完成一個求整數(shù)平方根的代碼。該整數(shù)從主機鍵盤輸入,結(jié)果在ADS的控制臺窗口上輸出。 2)編寫一個ARM匯編程序調(diào)用C程序的代碼。它將兩個二維矩陣A和B的相加,輸出和矩陣C=A+B。用半主機方式輸入A矩陣和B矩陣的8個整數(shù)元素,然后調(diào)用C語言程序,計算矩陣C并輸出之。12/24/202241第4講復習題和思考題(續(xù))基于ADS1.2的半主機方式的第2次習題布置題1,試說明嵌入式系統(tǒng)有哪幾種主要的調(diào)試手段。題2,半主機方式是否是一種通用的調(diào)試方式?12/24/202242第2次習題布置題1,試說明嵌入式系統(tǒng)有哪幾種主要的調(diào)試手段。嵌入式微處理器技術基礎本章主要介紹以下內(nèi)容:嵌入式微處理器典型技術主流嵌入式微處理器嵌入式處理器的調(diào)試技術邊界掃描測試技術JTAG12/24/202243嵌入式微處理器技術基礎本章主要介紹以下內(nèi)容:12/19/203.3嵌入式系統(tǒng)調(diào)試技術指令集模擬器ROM仿真器實時在線仿真片上調(diào)試器與背景調(diào)試模式基于Angle的調(diào)試方案邊界掃描測試技術和JTAG接口概述跟蹤接口ETMNexus調(diào)試標準半主機調(diào)試方式12/24/2022443.3嵌入式系統(tǒng)調(diào)試技術指令集模擬器基于Angle的調(diào)試方嵌入式系統(tǒng)調(diào)試技術概貌嵌入式計算機調(diào)試基本結(jié)構(gòu)主機—目標機結(jié)構(gòu)主機常常是PC平臺原因:運算能力相對較弱存儲能力和顯示能力較小數(shù)據(jù)吞吐率較小很難在目標程序運行的計算設備上直接進行硬件軟件調(diào)試。12/24/202245嵌入式系統(tǒng)調(diào)試技術概貌嵌入式計算機調(diào)試基本結(jié)構(gòu)12/19/2主機和目標機之間調(diào)試信道主機往往和目標機的體系結(jié)構(gòu)不同。因此,需要有通信轉(zhuǎn)換器對調(diào)試信息進行轉(zhuǎn)換。12/24/202246主機和目標機之間調(diào)試信道主機往往和目標機的體系結(jié)構(gòu)不同。因此3.3.1指令集模擬器指令集模擬器ISS,InstructionSetSimulator在一臺計算機上模擬另外一臺計算機上目標程序(機器指令)運行過程的軟件工具有時也叫做軟仿真器嵌入式系統(tǒng)開發(fā)的不可或缺工具12/24/2022473.3.1指令集模擬器指令集模擬器12/19/20225指令集模擬器的結(jié)構(gòu)指令集模擬器是一個純軟件系統(tǒng)內(nèi)部有一個反映目標處理器硬件的數(shù)據(jù)結(jié)構(gòu)以時序狀態(tài)機的方式工作可以根據(jù)目標機指令集定義執(zhí)行目標指令按照實現(xiàn)方法的不同指令集模擬器分為解釋型編譯型12/24/202248指令集模擬器的結(jié)構(gòu)指令集模擬器是一個純軟件系統(tǒng)12/19/2指令集模擬器的運行指令集模擬器的操作界面與IDE類似模仿目標機的取指、譯碼和執(zhí)行操作將中間執(zhí)行結(jié)果或者最終執(zhí)行結(jié)果存入目標機映像數(shù)據(jù)結(jié)構(gòu)調(diào)試人員可以觀察目標機映像寄存器或者映像存儲器的單元,了解目標代碼的執(zhí)行結(jié)果12/24/202249指令集模擬器的運行指令集模擬器的操作界面與IDE類似12/1指令集模擬器主要用途指令集模擬器主要用在以下幾種場合:沒有目標機開發(fā)板有目標機開發(fā)板,但使用目標機開發(fā)板成本較高調(diào)試的程序模塊不需要在實際開發(fā)板上執(zhí)行,例如學習ARM匯編語言程序模塊代碼的先行調(diào)試,以加快調(diào)試速度12/24/202250指令集模擬器主要用途指令集模擬器主要用在以下幾種場合:12/流行的ARM指令集模擬器有兩種比較流行的指令集模擬器:ARMulatorSkyEye還有一些研究中的ARM指令集模擬器12/24/202251流行的ARM指令集模擬器有兩種比較流行的指令集模擬器:12/ARM公司推出的ARMulatorARMulator是業(yè)界著名的指令集仿真器運行在PC平臺上ARM體系結(jié)構(gòu)的指令集模擬器集成在SDT2.51和ADS1.2上的插件由四個部分組成:處理器核模型、存儲器接口、處理器接口、操作系統(tǒng)接口。12/24/202252ARM公司推出的ARMulatorARMulator是業(yè)界著指令模擬精度的級別指令模擬精度有三個級別指令級周期級時序(節(jié)拍)級ARMulator完全實現(xiàn)了指令級和周期級模擬精度,但是沒有完全實現(xiàn)時序級精度。12/24/202253指令模擬精度的級別指令模擬精度有三個級別12/19/2022指令集模擬器ARMulator對ARM程序運行

進行指令周期數(shù)統(tǒng)計的結(jié)果快照12/24/202254指令集模擬器ARMulator對ARM程序運行

進行指令周期Armulator的指令周期統(tǒng)計結(jié)果說明12/24/202255Armulator的指令周期統(tǒng)計結(jié)果說明12/19/2022SkyEye一個ARM體系結(jié)構(gòu)的嵌入式仿真和集成開發(fā)環(huán)境國內(nèi)開放源碼的自由軟件項目運行環(huán)境:Linux平臺和Windows的Cygwin能夠仿真的CPU包括:不帶MMU的Atmel91x40帶MMU的ARM720T等基于ARM7TDMI的內(nèi)核SkyEye還能夠模擬其它一些硬件外設,如串口、網(wǎng)絡芯片、內(nèi)存、時鐘等12/24/202256SkyEye一個ARM體系結(jié)構(gòu)的嵌入式仿真和集成開發(fā)環(huán)境123.3.2ROM仿真器嵌入式系統(tǒng)的程序存儲器為ROM時,如果調(diào)試需要修改代碼、設置斷點及更新程序代碼,就需要進行離線編程。離線編程是一個費時間的工作,用RAM替代ROM可以解決這個問題ROM仿真器用RAM以及附加電路制成的替代ROM進行離線編程的工具MCS-51單片機研發(fā)過程中常常使用ROM仿真工具12/24/2022573.3.2ROM仿真器嵌入式系統(tǒng)的程序存儲器為ROM時,ROM仿真器照片支持各種51系列芯片的JY-E2300仿真器照片12/24/202258ROM仿真器照片支持各種51系列芯片的JY-E2300仿真器3.3.3實時在線仿真實時在線仿真ICE,In-CircuitEmulator目前最為有效的調(diào)試嵌入式系統(tǒng)的手段通過ICE的實際執(zhí)行,開發(fā)者可以排除人們難以發(fā)現(xiàn)的隱藏在設計方案中的邏輯錯誤。ICE的另外一個主要功能是在應用系統(tǒng)中仿真微控制器的實際執(zhí)行優(yōu)點是功能強大,軟硬件均可以做到完全實時在線調(diào)試;缺點是價格昂貴。12/24/2022593.3.3實時在線仿真實時在線仿真12/19/2022173.3.4片上調(diào)試技術片上調(diào)試技術OCD,On-ChipDebugging嵌入式調(diào)試技術中運用最廣泛的一種片上調(diào)試是在CPU的內(nèi)部嵌入額外的控制模塊,即片上調(diào)試器;使得CPU的工作模式分為正常模式和調(diào)試模式。12/24/2022603.3.4片上調(diào)試技術片上調(diào)試技術12/19/202218常用的片上調(diào)試技術目前常用的片上調(diào)試技術主要有三種:背景調(diào)試模式BDM,BackgroundDebugModeJTAGIEEE1149.1NexusIEEE-5001ISTO12/24/202261常用的片上調(diào)試技術目前常用的片上調(diào)試技術主要有三種:12/1背景調(diào)試模式背景調(diào)試模式Motorola公司專有的片上調(diào)試器。Motorola公司是第一個把片上調(diào)試器集成在處理器內(nèi)核中的嵌入式微處理器廠商。BDM首先在68300系列處理器上實現(xiàn)現(xiàn)在在其他微控制器上得到應用12/24/202262背景調(diào)試模式背景調(diào)試模式12/19/202220BDM與ICE的區(qū)別傳統(tǒng)ICE調(diào)試時,使用ICE中的CPU來取代目標板中的CPU,目標板和ICE之間使用多芯扁平電纜連接。而ICE在使用時一般還需要與主機(一般是PC)連接。在BDM調(diào)試方式下嵌入式處理器被停機,各種調(diào)試命令可以被發(fā)送到處理器中訪問內(nèi)存和寄存器。因此,滿足BDM調(diào)試的微處理器內(nèi)部已經(jīng)包含了用于調(diào)試的微碼,調(diào)試時仿真器軟件和目標板上CPU的調(diào)試微碼通信,目標板上的CPU無需取出。12/24/202263BDM與ICE的區(qū)別傳統(tǒng)ICE調(diào)試時,使用ICE中的CPU來BDM調(diào)試器與主機和目標開發(fā)板

之間的連接12/24/202264BDM調(diào)試器與主機和目標開發(fā)板

之間的連接12/19/203.3.5基于Angel的調(diào)試方案Angel是ARM公司的調(diào)試監(jiān)控程序也稱為調(diào)試代理由多個程序部件組成與傳統(tǒng)調(diào)試監(jiān)控程序相類似駐留在目標機上Angel接收主機上發(fā)送過來的調(diào)試命令,執(zhí)行指定的調(diào)試操作,并將調(diào)試結(jié)果反饋回主機。適用于各種ARM硬件平臺。12/24/2022653.3.5基于Angel的調(diào)試方案Angel是ARM公司的3.3.6邊界掃描測試技術邊界掃描測試技術和JTAG接口是嵌入式系統(tǒng)最具特色的技術集成電路研制時的內(nèi)部電路測試嵌入式軟件開發(fā)時的程序調(diào)試將在后續(xù)課程中詳細介紹12/24/2022663.3.6邊界掃描測試技術邊界掃描測試技術和JTAG接口ARM處理器的JTAG調(diào)試結(jié)構(gòu)12/24/202267ARM處理器的JTAG調(diào)試結(jié)構(gòu)12/19/202225英蓓特公司的ARM仿真器照片JTAG實時在線協(xié)議轉(zhuǎn)換器通常稱為JTAG調(diào)試器(或JTAG仿真器),由于ARM處理器廣泛使用,通常也把ARM處理器的JTAG實時在線協(xié)議轉(zhuǎn)換器稱為ARM仿真器。右面給出了深圳市英蓓特公司的ARM仿真器照片。12/24/202268英蓓特公司的ARM仿真器照片JTAG實時在線協(xié)議轉(zhuǎn)換器通常稱JTAG仿真器連接JTAG仿真器連接比較方便,通過現(xiàn)有的JTAG邊界掃描口與ARMCPU核通信,屬于完全非插入式(即不使用片上資源)調(diào)試,它無需目標存儲器,不占用目標系統(tǒng)的任何端口,而這些是駐留監(jiān)控軟件所必需的。另外,由于JTAG調(diào)試的目標程序是在目標板上執(zhí)行,仿真更接近于目標硬件,因此,許多接口問題,如高頻操作限制、AC和DC參數(shù)不匹配,電線長度的限制等被最小化了。使用集成開發(fā)環(huán)境配合JTAG仿真器進行開發(fā)是目前采用最多的一種調(diào)試方式??捎糜陂_發(fā)和調(diào)試包含JTAG接口的ARM電路板。12/24/202269JTAG仿真器連接JTAG仿真器連接比較方便,通過現(xiàn)有的JTARM處理器的實時JTAG仿真器

與開發(fā)板的連線圖12/24/202270ARM處理器的實時JTAG仿真器

與開發(fā)板的連線圖12/19實時在線仿真(ICE)與JTAG的區(qū)別實時在線仿真系統(tǒng)的硬件主體是在線仿真器(ICE)。在8位單片機調(diào)試過程中,可以用這種ICE仿真器完全取代目標板上的MCU。因而目標系統(tǒng)對開發(fā)者來說完全是透明的、可控的。對16和32位的單片機還不能做到完全取代。JTAG調(diào)試在內(nèi)嵌了IEEE1149標準電路的CPU上進行,調(diào)試時不需要更換CPU。適用于8、16、32位的CPU。12/24/202271實時在線仿真(ICE)與JTAG的區(qū)別實時在線仿真系統(tǒng)的硬件英蓓特ARM仿真器的主要特征下載速度達25KB/S;支持主流開發(fā)環(huán)境ADS、EmbestIDE、SDT;支持各種ARM系列處理器;支持標準的14/20針JTAG接口;支持最多兩個硬件斷點/兩個數(shù)據(jù)斷點/不限數(shù)目的軟件斷點;支持匯編級調(diào)試,支持ARM、THUMB及指令集交叉調(diào)試;支持標準C語言程序調(diào)試;支持Flash在線編程;通過軟件升級方式支持更高版本的ARM核處理器。12/24/202272英蓓特ARM仿真器的主要特征下載速度達25KB/S;12/13.3.7嵌入追蹤宏單元ETM跟蹤追蹤宏單元ETM也稱為跟蹤調(diào)試接口ARM公司開發(fā)的一種高級實時軟件開發(fā)調(diào)試工具,是ARM片上系統(tǒng)的一個組件。在CPU運行過程中把現(xiàn)場信息捕捉壓縮后輸出,然后在PC端就可以對這些數(shù)據(jù)進行解壓分析。12/24/2022733.3.7嵌入追蹤宏單元ETM跟蹤追蹤宏單元ETM12/1ETM—嵌入跟蹤宏單元本質(zhì)上ETM相當于一個嵌入芯片的邏輯分析儀12/24/202274ETM—嵌入跟蹤宏單元本質(zhì)上ETM相當于一個嵌入芯片的邏輯分JTAG仿真器和ETM的功能區(qū)別基于JTAG的仿真器debug方法是利用芯片內(nèi)部的EmbeddedICE模塊來控制內(nèi)核,達到單步/斷點等調(diào)試目的,這種方法的特點是需要把目標CPU停住后才能觀察現(xiàn)場情況。在真正的實時系統(tǒng)中,停止CPU運行往往導致現(xiàn)場失真,ETM就能夠在CPU運行過程中把現(xiàn)場信息捕捉壓縮進行輸出,然后在PC端就可以對這些數(shù)據(jù)進行解壓分析;用戶還可以對ETM設置很多過濾及觸發(fā)條件,對一些隨即出現(xiàn)的異常進行捕捉(還能得到異常前后一段時間內(nèi)的系統(tǒng)信息)。本質(zhì)上ETM相當于一個嵌入芯片內(nèi)部的邏輯分析儀。12/24/202275JTAG仿真器和ETM的功能區(qū)別基于JTAG的仿真器debu3.3.8Nexus調(diào)試標準Nexus5001論壇飛思卡爾公司、福特汽車公司和風河公司等世界領先的嵌入式系統(tǒng)開發(fā)廠商于1998年成立了該論壇。官方網(wǎng)址是:屬于IEEE工業(yè)標

溫馨提示

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

評論

0/150

提交評論