作為嵌入式系統(tǒng)的一種,arm也是有軟件和硬件之分,因此我們在進(jìn)行arm培訓(xùn)的時(shí)候,細(xì)節(jié)不能放過。ARM的嵌入式跟蹤是怎么一回事?嵌入式技術(shù)培訓(xùn)課程如何講解?
在ARM開發(fā)調(diào)試時(shí),觀察系統(tǒng)的實(shí)時(shí)操作對應(yīng)用程序的調(diào)試時(shí)非常重要的。EmbeddedICE提供的斷點(diǎn)及觀察點(diǎn)將使處理器偏離正常執(zhí)行序列,破壞了軟件的實(shí)時(shí)行為,因此它不能完成上述功能。ARM結(jié)構(gòu)的處理器采用嵌入式跟蹤宏單元ETM便很好的解決了系統(tǒng)實(shí)時(shí)調(diào)試的問題。
由調(diào)試軟件配置并通過標(biāo)準(zhǔn)JTAG接口傳輸?shù)紼TM上。在程序執(zhí)行時(shí),ETM可通過產(chǎn)生對處理器地址、數(shù)據(jù)及控制總線活動(dòng)的追蹤來獲得處理器的全速操作情況。利用已有的可編程跟蹤器,追蹤可配置為4位、8位或16位數(shù)據(jù)總線寬度接口。在實(shí)時(shí)仿真時(shí),外設(shè)和中斷程序依然能夠繼續(xù)運(yùn)行。
在程序執(zhí)行且通過產(chǎn)生對處理器地址、數(shù)據(jù)及控制總線活動(dòng)的追蹤來獲得觀察處理器全速操作情況時(shí),需要巨大的數(shù)據(jù)寬帶。例如,一個(gè)以100Mhz運(yùn)行的ARM處理器產(chǎn)生的接口信息超過1GB/s。將這些信息從芯片取出需要大量的引腳,具有這種能力的芯片時(shí)不經(jīng)濟(jì)的,但是專用設(shè)備的開發(fā)必然導(dǎo)致成本上升。一般可采用數(shù)據(jù)壓縮技術(shù)。
通過使用一系列數(shù)據(jù)壓縮相關(guān)技術(shù),ETM可將跟蹤信息壓縮到必要的長度,使這些信息依配置的不同通過不同的引腳傳送到片外。當(dāng)不需要輸出跟蹤時(shí),這些引腳還可用于其他目的。
嵌入式技術(shù)培訓(xùn)說到,EmbeddedICE單元還支持?jǐn)帱c(diǎn)和觀察點(diǎn)功能,并提供主機(jī)和目標(biāo)軟件的通信通道。EMT單元壓縮處理器接口信息,并通過跟蹤端口送到片外。這兩個(gè)單元都由JTAG端口控制。SoC外部的EmbeddedICE控制器用于將主機(jī)系統(tǒng)連接到JTAG端口,跟蹤端口分析器使主機(jī)系統(tǒng)與跟蹤端口對接。主機(jī)通過一個(gè)網(wǎng)絡(luò)與跟蹤端口分析器和EmbeddedICE二者連接。
用戶控制斷點(diǎn)和觀察點(diǎn)的設(shè)置,并可配置各種跟蹤功能。可跟蹤所有應(yīng)用軟件,也可跟蹤某一特定程序。跟蹤觸發(fā)條件可以指定,跟蹤采集可在觸發(fā)之前、之后或以觸發(fā)為中心,可選擇跟蹤是否包括數(shù)據(jù)訪問。跟蹤采集可以是數(shù)據(jù)訪問的地址、數(shù)據(jù)本身,也可以是兩者兼有。
EMT是使用軟件通過JTAG端口進(jìn)行配置的,所使用的軟件是ARM軟件開發(fā)工具的一個(gè)擴(kuò)展。跟蹤數(shù)據(jù)從跟蹤端口分析儀下載并解壓,終反鏈到源代碼。
有了EmbeddedICE和ETM,ARM SoC開發(fā)者在低成本的前提下便獲得了傳統(tǒng)的在線仿真器工具能夠提供的所有功能。通過這些技術(shù)能夠全面觀察應(yīng)用代碼的實(shí)時(shí)操作,并且能夠設(shè)置斷點(diǎn)、檢查并修改處理器寄存器和存儲(chǔ)器單元,能夠真實(shí)、實(shí)時(shí)地嚴(yán)格反鏈接到語言源代碼。
學(xué)習(xí)ARM的嵌入式跟蹤并不夠,想要成為一個(gè)的arm開發(fā)工程師并非一早一夕的事,也是通過長期的學(xué)習(xí)積累的。如何學(xué)習(xí)嵌入式ARM技術(shù),考慮粵嵌嵌入式技術(shù)培訓(xùn)。