當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]應對高級嵌入式處理器系統(tǒng)調(diào)試挑戰(zhàn)

  FPGA最大的優(yōu)點在于其靈活性,可激發(fā)設計人員創(chuàng)造出無數(shù)不同的設計。然而,設計調(diào)試通常最后才加以考慮——如果還加以考慮的話,因此調(diào)試器通常要適應系統(tǒng)的要求。

  好消息是一家在嵌入式領域耕耘近30年的公司推出了一款調(diào)試器,它對于解決所有您能想象得到的問題,甚至包括那些您都不愿意去聽到的問題具有豐富的經(jīng)驗。在本文中,我們將通過一些例子說明Lauterbach公司的TRACE32調(diào)試器所具有的功能,這些功能將節(jié)省您的時間,甚至保全您的項目。

        面向靈活平臺的靈活調(diào)試

  談到靈活設計,我們想到了客戶推出的一套十分有趣的系統(tǒng)。該系統(tǒng)在VirtexTM-5 LX50T器件上集成兩個Xilinx®MicroBlazeTM處理器核和一個內(nèi)部block RAM存儲器塊。這種設計的特殊之處在于每個MicroBlaze處理器只有一個與block RAM模塊相連的I-side接口以實現(xiàn)指令提取。Block RAM的另一個存儲端口被連接到PCI Express接口上,以便在運行時遠程改變應用代碼和啟動處理器。在此面臨的挑戰(zhàn)在于如何在調(diào)試器無法讀寫的存儲器區(qū)域進行調(diào)試,因為在存儲器區(qū)域MicroBlaze處理器本身無法進行加載/存儲操作。
  我們利用TRACE32的內(nèi)部“虛擬存儲器”來解決這個問題,這個調(diào)試器內(nèi)部的仿真存儲器具有無限的地址空間(64位),可以按照需要分配存儲容量。我們將目標程序加載到這個虛擬存儲器中,并且通過配置調(diào)試器的內(nèi)部地址轉(zhuǎn)換機制將無法讀取的目標存儲器映射到虛擬存儲器上。這使得甚至可在匯編級上進行程序診斷。

  但是這里面臨著另外一個挑戰(zhàn):為了實現(xiàn)程序的按步執(zhí)行,特別是高級語言行以及條件分支,人們通常使用軟件斷點。由于無法通過MicroBlaze處理器訪問Block RAM,顯然無法做到這一點。我們的解決方案是提供“map.break”指令,強制調(diào)試器在給定的地址范圍內(nèi)使用硬件斷點。映射指令還可使您指定存儲器的數(shù)據(jù)寬度,更改大小頭特性,或者完全禁止調(diào)試器訪問某些具有關鍵外設寄存器的地址范圍。

        小而有用的功能

  Lauterbach在JTAG調(diào)試器和仿真器方面的經(jīng)驗充分體現(xiàn)在TRACE32調(diào)試器的功能以及其他諸多微小和意想不到的細節(jié)中??紤]到Lauterbach完全利用自身工具開發(fā)所有軟件,這一點并不奇怪。而日常出現(xiàn)的問題通常會激發(fā)人們設計出最有用的功能。

  您是否曾經(jīng)需要在調(diào)試階段關掉煩人的計時器中斷處理器,或者在無需重啟的情況下改變條件分支?是否曾經(jīng)需要修補循環(huán)以觀察處理器核是否正確執(zhí)行外部存儲器給出的指令?內(nèi)置的匯編器正可實現(xiàn)這些功能。

  另一個調(diào)試中常見的情況是:是否經(jīng)常在某個程序行走得太遠而不得不重新開始?寄存器恢復功能可以取消最后的操作。

  TRACE32通過不間斷地每秒10次的存儲器重讀來顯示存儲器的內(nèi)容,甚至在處理器停止的時候也不停止重讀。為什么它要這么做呢?可能在一秒鐘內(nèi),您的系統(tǒng)中不間斷運行的MicroBlaze處理器就造成了數(shù)據(jù)破壞,所以您希望能夠監(jiān)測這一點。也可能在某些時候不穩(wěn)定的存儲器造成了屏幕閃爍。又或者是您的JTAG接口在20MHz時并不那么穩(wěn)定。這些都是您期望知道的。另一方面,TRACE32確保它只會在需要的時候訪問存儲器。

  談及外設,我們還應該提到外設寄存器文件。這些文件指定了存儲器映射的寄存器的位置、寬度,甚至按位編碼,并且將它們分組成寄存器樹。這樣,可以很容易地訪問外設寄存器以進行檢查及修改:您點擊一下即可關掉DMA控制器,而無需仔細閱讀目標手冊以找到正確位。調(diào)試器給出了標準外設的規(guī)格說明,但是您可以使用簡單的文本編輯器修改這些文件以滿足您的要求。對于Xilinx工具鏈,插件選項可以生成這些文件,并將其作為Xilinx構建過程的一部分。 [!--empirenews.page--]

         靈活IDE

  TRACE32提供了功能強大的圖形用戶界面(GUI),并且其命令行的使用非常高效:屏幕下方就有調(diào)試器命令行,并且?guī)缀跛械腉UI功能都可以通過命令行—從而通過腳本實現(xiàn)。這使得可實現(xiàn)所有常規(guī)任務的自動化,包括目標配置,窗口布局,以及將它們分配在多個虛擬屏幕中。最好的是,不像許多IDE一樣,這些窗口沒有docking特性,但也可以任意放置以及更改這些窗口的尺寸,甚至重疊。同時還可與不同的IDE聯(lián)用,例如您可以從您的Eclipse環(huán)境中直接調(diào)用TRACE32。

圖1 連接到Xilinx ML507電路板的Lauterbach TRACE32調(diào)試和跟蹤電纜



 
        連接多核目標

  另一個有趣的功能是Lauterbach調(diào)試多核目標的直觀方式。比如為每個核提供GUI,并且使它們共用一根調(diào)試電纜。這對于包含了PowerPC和MicroBlaze內(nèi)核的異構系統(tǒng)或采用TRACE32所支持的50-plus處理器架構的其他系統(tǒng)而言同樣有效(圖1)。

  TRACE32與Xilinx平臺電纜所使用的同一JTAG連接器連接,并且適用于任何由Xilinx嵌入式開發(fā)套件(EDK)創(chuàng)建的設計。對于PowerPC而言,也支持使用專用的調(diào)試連接器。

  對于多核系統(tǒng),內(nèi)核的同步啟動和關斷是一個問題。要想在硬件中支持這一點,例如在多MicroBlaze處理器配置中,調(diào)試器應利用硬件功能實現(xiàn)周期精確同步,否則同步是在軟件中完成。集成腳本語言了解多核情況,從而允許通過一個主腳本完成所有GUI控制,包括將調(diào)試器連接到相應的內(nèi)核并進行復位,以及下載并啟動應用程序。

        實時程序流和數(shù)據(jù)跟蹤

  實時跟蹤的主要功能是記錄程序流,即處理器所執(zhí)行的每一條指令以及數(shù)據(jù)的處理。對于MicroBlaze處理器,這是通過Xilinx Platform Studio中的XilinxMicroBlaze跟蹤內(nèi)核(XMTC)來實現(xiàn)的。XMTC集成了一個跟蹤編碼器,其中包含一個連接到MicroBlaze處理器跟蹤端口(包含近200個未編碼信號)的輸入接口。


圖2 顯示跟蹤、代碼覆蓋和函數(shù)調(diào)用圖等窗口的Lauterbach TRACE32 IDE[!--empirenews.page--]
 

圖3A 面向XilinxSpartan-3E FPGA電路板的Lauterbach Mictor MicroBlaze跟蹤適配器

 

圖3B 面向XilinxMLx電路板的Lauterbach Mictor MicroBlaze跟蹤適配器



  它還包含一個提供21信號編碼跟蹤的輸出接口。

  跟蹤硬件提供了多達512MB的外部高速跟蹤存儲器,可用于替換稀有的片上存儲資源存儲跟蹤信息。跟蹤功能也可支持PowerPC架構。此外,還具有更多的高級功能,包括靜態(tài)函數(shù)和任務運行時間分析、變量訪問、代碼覆蓋率分析等(圖2,圖3A和3B)。

        操作系統(tǒng)支持

  在MicroBlaze處理器上,TRACE32為μClinux和Linux提供了一個所謂的內(nèi)核敏感模塊。對于PowerPC而言,可支持更多的操作系統(tǒng),包括QNX,VxWorks以及Nucleus PLUS。這些擴展功能使得調(diào)試器可以知道目標中的內(nèi)核相關數(shù)據(jù)結構。這使得可以利用進程指定斷點和程序控制實現(xiàn)進程級調(diào)試。其他功能包括支持完整的MMU,諸如加載的內(nèi)核模塊或者掛載的文件系統(tǒng)等Linux系統(tǒng)資源的實時、非侵入式顯示,任務運行時間的統(tǒng)計評估和圖形顯示,以及函數(shù)運行時間的任務相關評估。

        總結

  Lauterbach TRACE32為所有Xilinx器件系列上的PowerPC和MicroBlaze處理器提供了完整的調(diào)試解決方案。未來Xilinx相關增強功能將進一步增強調(diào)試電纜,使得XilinxChipScopeTM分析儀可以使用調(diào)試電纜與調(diào)試器共同實現(xiàn)目標訪問,并且通過調(diào)試器下載FPGA配置位流。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉