




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、應對高級嵌入式處理器系統調試挑戰FPGA最大的優點在于其靈活性,可激發設計人員創造出無數不同的設計。然而,設計調試通常最后才加以考慮如果還加以考慮的話,因此調試器通常要適應系統的要求。 好消息是一家在嵌入式領域耕耘近30年的公司推出了一款調試器,它對于解決所有您能想象得到的問題,甚至包括那些您都不愿意去聽到的問題具有豐富的經驗。在本文中,我們將通過一些例子說明Lauterbach公司的TRACE32調試器所具有的功能,這些功能將節省您的時間,甚至保全您的項目。面向靈活平臺的靈活調試談到靈活設計,我們想到了客戶推出的一套十分有趣的系統。該系統在Virtex-5 LX50T器件上集成兩個Xilin
2、x MicroBlaze處理器核和一個內部block RAM存儲器塊。這種設計的特殊之處在于每個MicroBlaze處理器只有一個與block RAM模塊相連的I-side接口以實現指令提取。Block RAM的另一個存儲端口被連接到PCI Express接口上,以便在運行時遠程改變應用代碼和啟動處理器。在此面臨的挑戰在于如何在調試器無法讀寫的存儲器區域進行調試,因為在存儲器區域MicroBlaze處理器本身無法進行加載/存儲操作。我們利用TRACE32的內部“虛擬存儲器”來解決這個問題,這個調試器內部的仿真存儲器具有無限的地址空間(64位),可以按照需要分配存儲容量。我們將目標程序加載到這個
3、虛擬存儲器中,并且通過配置調試器的內部地址轉換機制將無法讀取的目標存儲器映射到虛擬存儲器上。這使得甚至可在匯編級上進行程序診斷。但是這里面臨著另外一個挑戰:為了實現程序的按步執行,特別是高級語言行以及條件分支,人們通常使用軟件斷點。由于無法通過MicroBlaze處理器訪問Block RAM,顯然無法做到這一點。我們的解決方案是提供“map.break”指令,強制調試器在給定的地址范圍內使用硬件斷點。映射指令還可使您指定存儲器的數據寬度,更改大小頭特性,或者完全禁止調試器訪問某些具有關鍵外設寄存器的地址范圍。小而有用的功能Lauterbach在JTAG調試器和仿真器方面的經驗充分體現在TRAC
4、E32調試器的功能以及其他諸多微小和意想不到的細節中??紤]到Lauterbach完全利用自身工具開發所有軟件,這一點并不奇怪。而日常出現的問題通常會激發人們設計出最有用的功能。您是否曾經需要在調試階段關掉煩人的計時器中斷處理器,或者在無需重啟的情況下改變條件分支?是否曾經需要修補循環以觀察處理器核是否正確執行外部存儲器給出的指令?內置的匯編器正可實現這些功能。另一個調試中常見的情況是:是否經常在某個程序行走得太遠而不得不重新開始?寄存器恢復功能可以取消最后的操作。TRACE32通過不間斷地每秒10次的存儲器重讀來顯示存儲器的內容,甚至在處理器停止的時候也不停止重讀。為什么它要這么做呢?可能在一
5、秒鐘內,您的系統中不間斷運行的MicroBlaze處理器就造成了數據破壞,所以您希望能夠監測這一點。也可能在某些時候不穩定的存儲器造成了屏幕閃爍。又或者是您的JTAG接口在20MHz時并不那么穩定。這些都是您期望知道的。另一方面,TRACE32確保它只會在需要的時候訪問存儲器。談及外設,我們還應該提到外設寄存器文件。這些文件指定了存儲器映射的寄存器的位置、寬度,甚至按位編碼,并且將它們分組成寄存器樹。這樣,可以很容易地訪問外設寄存器以進行檢查及修改:您點擊一下即可關掉DMA控制器,而無需仔細閱讀目標手冊以找到正確位。調試器給出了標準外設的規格說明,但是您可以使用簡單的文本編輯器修改這些文件以滿
6、足您的要求。對于Xilinx工具鏈,插件選項可以生成這些文件,并將其作為Xilinx構建過程的一部分。靈活IDETRACE32提供了功能強大的圖形用戶界面(GUI),并且其命令行的使用非常高效:屏幕下方就有調試器命令行,并且幾乎所有的GUI功能都可以通過命令行從而通過腳本實現。這使得可實現所有常規任務的自動化,包括目標配置,窗口布局,以及將它們分配在多個虛擬屏幕中。最好的是,不像許多IDE一樣,這些窗口沒有docking特性,但也可以任意放置以及更改這些窗口的尺寸,甚至重疊。同時還可與不同的IDE聯用,例如您可以從您的Eclipse環境中直接調用TRACE32.連接多核目標另一個有趣的功能是L
7、auterbach調試多核目標的直觀方式。比如為每個核提供GUI,并且使它們共用一根調試電纜。這對于包含了PowerPC和MicroBlaze內核的異構系統或采用TRACE32所支持的50-plus處理器架構的其他系統而言同樣有效(圖1)。TRACE32與Xilinx平臺電纜所使用的同一JTAG連接器連接,并且適用于任何由Xilinx 嵌入式開發套件(EDK)創建的設計。對于PowerPC而言,也支持使用專用的調試連接器。 對于多核系統,內核的同步啟動和關斷是一個問題。要想在硬件中支持這一點,例如在多MicroBlaze處理器配置中,調試器應利用硬件功能實現周期精確同步,否則同步是在軟件中完成
8、。集成腳本語言了解多核情況,從而允許通過一個主腳本完成所有GUI控制,包括將調試器連接到相應的內核并進行復位,以及下載并啟動應用程序。 實時程序流和數據跟蹤實時跟蹤的主要功能是記錄程序流,即處理器所執行的每一條指令以及數據的處理。對于MicroBlaze處理器,這是通過Xilinx Platform Studio中的XilinxMicroBlaze跟蹤內核(XMTC)來實現的。XMTC集成了一個跟蹤編碼器,其中包含一個連接到MicroBlaze處理器跟蹤端口(包含近200個未編碼信號)的輸入接口。它還包含一個提供21信號編碼跟蹤的輸出接口。跟蹤硬件提供了多達512MB的外部高速跟蹤存儲器,可用
9、于替換稀有的片上存儲資源存儲跟蹤信息。跟蹤功能也可支持PowerPC架構。此外,還具有更多的高級功能,包括靜態函數和任務運行時間分析、變量訪問、代碼覆蓋率分析等(圖2,圖3A和3B)。操作系統支持在MicroBlaze處理器上,TRACE32為Clinux和Linux提供了一個所謂的內核敏感模塊。對于PowerPC而言,可支持更多的操作系統,包括QNX,VxWorks以及Nucleus PLUS。這些擴展功能使得調試器可以知道目標中的內核相關數據結構。這使得可以利用進程指定斷點和程序控制實現進程級調試。其他功能包括支持完整的MMU,諸如加載的內核模塊或者掛載的文件系統等Linux系統資源的實時、非侵入式顯示,任務運行時間的統計評估和圖形顯示,以及函數運行時間的任務相關評估??偨YLauterbach TRACE32為所有Xilinx器件系列上的PowerPC和MicroBlaze處理
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司數字化活動方案
- 公司羽毛球團建活動方案
- 公司秋季出游活動方案
- 公司粽子節活動方案
- 公司新人見面會策劃方案
- 公司畢業晚會活動方案
- 公司聚會團建策劃方案
- 公司比學趕幫超活動方案
- 公司端午慰問活動方案
- 公司消除浪費活動方案
- 體外診斷試劑盒線性范圍研究線性區間評價資料及可報告區間建立
- AQ 1097-2014 井工煤礦安全設施設計編制導則(正式版)
- 甲乙方施工合同范本
- 嬰幼兒配方乳粉市場銷售管理規范
- 小班語言《誰的救生圈》課件
- 海思芯片PC-測試技術規范
- 內陸養殖與水生植物種植
- 集體協商培訓課件
- Unit 3 What would you like A Let's learn(教學設計)人教PEP版英語五年級上冊
- 物業社區團購方案
- 仙家送錢表文-文字打印版
評論
0/150
提交評論