選擇合適的嵌入式系統軟、硬件調試工具
——
嵌入式系統需要兩種調試形式,其中一種基于軟件,另一種則以硬件為中心。而且,業(yè)界在這兩方面都已經(jīng)做了大量標準化工作。其中,基于軟件的調試正在轉向一種基于Eclipse框架的開(kāi)放式系統方法。大多數軟件開(kāi)發(fā)工具公司現在都有相應的插件,使其調試工具成為Eclipse集成開(kāi)發(fā)環(huán)境(IDE)的一部分。例如,由于A(yíng)ltium公司的TaskingVX工具集允許內部集成在Eclipse平臺中,以支持更多的工具配置選項。嵌入式工具公司也在加入到Eclipse基金會(huì )中來(lái),從而有助于確保嵌入式工具能在未來(lái)Eclipse平臺的進(jìn)一步開(kāi)發(fā)中扮演重要的角色。
這些工具插件的普及正在幫助催生Eclipse的標準化擴展途徑,使原本針對企業(yè)級軟件開(kāi)發(fā)而創(chuàng )建的Eclipse平臺如今也包含了嵌入式和器件級軟件。這其中的一個(gè)倡導項目,便是由風(fēng)河系統公司牽頭的器件軟件開(kāi)發(fā)平臺(DSDP),該平臺涵蓋了嵌入式系統的大量特定硬件要求。
DSDP倡導組織正在努力克服Eclipse處理調試方式的嚴苛性問(wèn)題。原來(lái)的Eclipse(3.1版以前)接口具有“target-process-thread”堆棧幀層次,當調試視圖改變時(shí)會(huì )跟著(zhù)改變調試的相關(guān)內容。而DSDP組織則提供了可自適應的接口層,如用作瀏覽器和調試模型之間的橋的內容適配器,因此允許內容定制和模型驅動(dòng)的內容瀏覽。這種方法還支持針對目標硬件的特殊配置實(shí)現調試器的定制。朝著(zhù)實(shí)現這種方法邁出的第一步出現在2006年中期發(fā)布的Eclipse(3.2版)中,并且仍在不斷得到修正。
JTAG主導處理器探測
在硬件調試方面,通過(guò)在線(xiàn)仿真(ICE)以及類(lèi)似的工具來(lái)查看處理器內部的方法,正在從用外綁定處理器的定制探測轉向內置調試。目前可以訪(fǎng)問(wèn)這種內置功能的標準接口是IEEE標準1149.1所定義的JTAG接口。JTAG的初衷是使用每個(gè)芯片內部的硬件資源檢查高密度PCB上的連接完整性。如今,JTAG可以用作以追蹤內置軟件、讀取內部處理器寄存器的訪(fǎng)問(wèn)端口,甚至用于存儲器和可配置邏輯的板上編程。
將JTAG用于硬件調試的其中一個(gè)新興趨勢是通過(guò)單個(gè)接口同時(shí)控制多個(gè)器件的能力。JTAG的定義允許器件以菊花鏈的結構鏈接在一起,因此單個(gè)控制器可以訪(fǎng)問(wèn)電路板上的所有器件。而在嵌入式開(kāi)發(fā)中,工具供應商最早是將JTAG接口用于單器件訪(fǎng)問(wèn)—也就是訪(fǎng)問(wèn)處理器。
然而,現代系統設計通常要使用兩個(gè)以上的處理器,因此開(kāi)發(fā)人員需要將單獨的工具連接到每個(gè)處理器,然后獨立地調試每個(gè)器件。硬件工具的因應措施是逐漸能夠使用調試器探測菊花鏈處理器,并對它們同時(shí)實(shí)施控制以獲得更協(xié)調的調試效果。另外,探測器逐漸能夠通過(guò)處理器的JTAG接口訪(fǎng)問(wèn)其它硬件,如存儲器。
Macraigor系統公司的OCDemon系列探測器就是近期涌現出來(lái)的這類(lèi)多功能JTAG探測的一個(gè)例子。器件通過(guò)支持軟件的配置可以控制目標處理器,從而提供了對處理器操作和寄存器訪(fǎng)問(wèn)的控制。
此外,它還能控制與目標處理器連接的閃存。這種功能允許開(kāi)發(fā)人員用單個(gè)器件和連接來(lái)加載軟件,并測試它的執行情況,從而提高反復調試的速度。
然而,由于有潛力改變嵌入式系統調試實(shí)現的地點(diǎn)和方式,硬件調試的下一步發(fā)展將不僅是這類(lèi)簡(jiǎn)單的功能擴展。當JTAG硬件調試象其它各種數據傳送方式那樣采用無(wú)線(xiàn)連接時(shí),這將成為事實(shí)。到處理器的JTAG連接已經(jīng)從并行端口轉向USB,因此再從USB轉到無(wú)線(xiàn)USB或其它無(wú)線(xiàn)形式只需一小步即可。
硬件調試連接無(wú)線(xiàn)化所提供的優(yōu)勢不言而喻:簡(jiǎn)化訪(fǎng)問(wèn)連接,并且無(wú)須使用線(xiàn)纜,還給現場(chǎng)系統維護和升級提供了新的可能性。通過(guò)JTAG接口已經(jīng)可以使用硬件調試和存儲器編程的全部功能。而使連接無(wú)線(xiàn)化,將允許已部署系統中這些功能的性能隨時(shí)得以充分發(fā)揮。
根據所實(shí)現的無(wú)線(xiàn)鏈路類(lèi)型,嵌入式系統設計可以通過(guò)筆記本電腦實(shí)現現場(chǎng)調試和維護,或者甚至通過(guò)與互聯(lián)網(wǎng)的Wi-Fi連接實(shí)現遠程操作。這樣就擴展了維護方式,并且開(kāi)啟多種應用可能性,如收集事件統計數據用于故障分析,或確定應用模式以改進(jìn)設計。
評論