JTAG接口技術(shù)及ETM
— DDEN在ARM9TDMI內(nèi)部測試模式下,是可獲取、可測試的。在ARM9TDMI外部測試模式下低電平表示將獲取數(shù)據(jù)總線上輸入的數(shù)據(jù),高電平表示將要輸出掃描鏈上存儲的數(shù)據(jù)。
本文引用地址:http://m.butianyuan.cn/article/201611/319139.htm— 在ARM9TDMI進入調(diào)試狀態(tài)時,SYSSPEED將輸出。低電平表示微內(nèi)核現(xiàn)在進入斷點調(diào)試,高電平表示微內(nèi)核進入觀察點調(diào)試狀態(tài)。
ETM嵌入式跟蹤宏
基于ARM的具有Embedded ICE和JTAG TAP的系統(tǒng)芯片通過JTAG端口和協(xié)議轉(zhuǎn)換器與主機相連。這種裝置支持正常的斷點、觀察點以及處理器和系統(tǒng)訪問狀態(tài)。但如果要進行代碼的實時跟蹤就要引入嵌入式跟蹤宏ETM。它提供了ARM處理器系列的指令和數(shù)據(jù)跟蹤。跟蹤協(xié)議被設(shè)計成可嵌入大規(guī)模專用集成電路(ASIC)中的ARM處理器內(nèi)核提供實時跟蹤能力。由于ASIC通常包含片上cache和其他電路,因此,不可能通過觀察ASIC引腳來決定處理器核的操作,可見跟蹤口是了解處理器操作所必需的。
ETM能捕獲指令和數(shù)據(jù)序列,訪問并把它們的記錄發(fā)送給芯片上或芯片外的緩沖器,ARM的ETM既可設(shè)置成允許觸發(fā)器工作也可設(shè)置成允許跟蹤結(jié)果被濾出。使用ETM的過濾功能,可以只捕獲特別中斷的或特殊文件的代碼執(zhí)行,即相當于提供了對代碼的壓縮功能。
ETM由如下兩部分組成:
— 跟蹤端口,用于實時執(zhí)行的跟蹤。代碼執(zhí)行時,CPU發(fā)送串行、經(jīng)過編碼、壓縮的分支目標地址、管線狀態(tài)、讀寫數(shù)據(jù)給ETM。
— 觸發(fā)裝置,規(guī)范已被開發(fā)。該規(guī)范允許指定特定應(yīng)用所需的觸發(fā)源的準確集合。資源包括地址和數(shù)據(jù)比較器、計數(shù)器和定序器。
軟件調(diào)試器提供與ETM的接口。調(diào)試器允許所有的ETM裝置通過JTAG接口來配置。若跟蹤口已實現(xiàn),那么調(diào)試器就可以用容易理解的格式顯示捕獲的跟蹤信息。
ETM壓縮跟蹤信息并通過跟蹤口輸出。外部跟蹤口分析器TPA(trace port analyzer)用于捕獲跟蹤信息。
當跟蹤信息已被捕獲時,調(diào)試器從TPA提取壓縮信息,并將其解壓縮以提供執(zhí)行代碼的完整反匯編。調(diào)試器還可以將其與原高級代碼連接以提供代碼如何在目標系統(tǒng)執(zhí)行的信息。
在實際的調(diào)試系統(tǒng)中ETM用于實時指令追蹤以控制寄存器、總線和存儲器。觸發(fā)點和過濾功能由調(diào)試軟件配置并通過標準JTAG接口傳輸?shù)紼TM上。利用已有可編程的跟蹤器,追蹤端口可配置為4位、8位或16位數(shù)據(jù)總線寬度。同時在仿真時外設(shè)和中斷程序依然能夠繼續(xù)運行。
ETM7和ETM9的結(jié)構(gòu)和工作原理基本相同。如它們的跟蹤保護(trace protocol)和TPA是相同的。
評論