|
發展工具 : 模擬器(仿真器)
支援全系列TMS320™DSP
JTAG模擬/仿真縱纜
模擬架構
RTDX 與高速RTDX
標準與高速RTDX
連續執行可視性模式
進階事件觸發(Advanced Event
Triggering)
原始程式視窗
事件分析
Benchmarking Capabilities
事件時序性(Event Sequencer)
|
| |
|
| |
支援全系列
TMS320™ DSP
德州儀器提供XDS510TM及XDS560TM-class的仿真器,可支援所有DSPs全系列產品之即時JTAG scan-based
模擬,仿真器內建Code Composer Studio除錯器介面可產生德州儀器的即時仿真控制及發展板的visualization
capabilities 。德州儀器的協力廠商提供邏輯分析儀、硬體測試設備以及可支援不同主機端I/O介面如USB、Ethernet、PCI、並列埠(parallel
port)、PCMCIA、ISA bus等之多樣仿真器. |
| |
|
| |
JTAG 模擬/仿真縱纜
德州儀器於發明JTAG scan-based 仿真方式已超過十年,此概念已被廣泛地運用在內嵌式系統發展上。如今JTAG仿真法多用於舊型且較昂貴的內嵌式模擬ICE (In
Circuit Emulation)技術上,ICE技術雖取代了發展板及模擬板,但需額外的腳位支援內部架構如匯流排、visible等;然而它卻受制於200MHz高速處理器之昂貴成本。JTAG模擬技術用於德州儀器的XDS系列仿真器可減少除錯成本及與處理器直接溝通的困難,標準的JTAG連接器並不需中斷正在執行的device即可讓資料無間斷地傳遞.
模擬架構
TI模擬技術遍佈於TI的發展環境中,從處理器到仿真器、到主機端平台皆可見,對chip而言,要達到高時脈必須具備模擬邏輯才可保持於快速處理之狀態。較高級之內嵌晶片隱藏匯流排於晶片中而無visible
through 腳位.
第二要件即為模擬器(仿真器),是設計用來連接目標板及主機端平台的,並提供資料傳遞之結構.
最後要件為Code Composer Studio v2除錯器及模擬軟體可自行configure並利用高階使用者介面來簡化SoC
(System-on-a-chip) 之除錯工作,它亦可外掛其它發展工具來控制處理器及來自RTDX影像仿真資料.
RTDX 與高速RTDX
直到最近發展工具才得以停止利用浮點與主電腦交換資料"蛇點(snapshots)",稱為"停止模式除錯",這個方法容易使人誤導,因為高速應用蛇點是無法顯示即時操作.
為了解決這個問題,TI發展RTDX或即時資料交換(Real Time Data Exchange)提供設計者於應用上的持續及即時可見性。TI於1998年將RTDX導入DSP工業中,除了即時處理外,亦可於不停止主要應用下非同步進行主機端與目標端的資料交換。基本上,RTDX資料連結方式提供了DSP應用及主機端的一個資料管道(data
pipe),其雙向溝通的能力可使輸入之應用資料具即時性,或於即時感測硬體啟動前模擬資料輸入於DSP中,如此可大大縮短設計開發產品的時間.
標準與高速RTDX
有兩款仿真器RTDX及XDS510-class可支援現有的RTDX格式,即為所謂"標準RTDX"其資料傳輸速率可達每秒10Kbytes或更快,如此適用於影音光碟、簡易視訊會議系統及影像電話等應用。XDS560也可支援標準RTDX,甚至當處理器不支援高速RTDX時速度可達每秒130Kbytes,另外XDS560提供高速RTDX頻寬可高達每秒2Mbytes。一般高速RTDX頻寬可應用於流線式視頻(streaming
video)、ADSL以硬碟驅動,也提供前所未有之即時應用.
高速RTDX提供執行系統中之即時可見性,但必須(1)目標板具有特定高速RTDX週邊,(2)XDS560-class仿真器,及(3)可與高速RTDX程式集連結之應用。然而除了傳輸速率的差別,其他RTDX的功能不論是標準或高速均可展現;事實上,是不需要在彼此間做轉換的。RTDX由一小監視器執行(低於2Kbytes標準RTDX並接近於4Kbytes高速RTDX),並包括部份DSP/BIOS;而RTDX用於DSP/BIOS即時分析的傳輸機構之基礎下時,使你可展現其DSP/BIOS之即時分析(RTA)
,也可執行RTDX資料連結並擷取來自視頻目標的即時顯示資料。只需CPU稍微超頻去執行傳送或接收資料的命令即可具備此小型監視RTDX的功能,可應用於透過JTAG連結傳遞資料回主機端並使這些資料組合成連續性或蛇點模式來記錄.
RTDX架構是由一組硬體及軟體元件(從JTAG仿真邏輯到模擬硬體、JTAG介面及主、從兩端RTDX程式資料庫軟體)所組成,用來傳輸主、從端的資料,目標端下命令至RTDX目標資料庫並將資料備份至緩衝器,再透過仿真硬體即時掃瞄至主機端;資料在主機端可記錄至硬碟或內建暫存器並利用Code
Composer Studio(即時)送達主端應用。模擬器亦可執行RTDX,也可同時同步使用於相同或不同的目標板而不需改變及應用指令,因此,RTDX可區隔出數個頻道中可用之RTDX頻寬.
RTDX在主、從端間非同步即時執行,其資料可視為工業標準Microsoft Component Object Model
(COM) API,允許資料流入任何相容COM應用如Microsoft Excel, Visual Basic,或National
Instruments的MathWorks或LabVIEW處理及接收訊號成MATLAB等,COM是一門介面技術可分隔及獨立應用於通訊上。事實上,RTDX即時資料於必要時亦可同步讓多個主端執行.
RTDX亦可用於創造內嵌應用之定制visualizations,可顯示執行系統之不同層面,完成於系統資料流入主端時,於此,資料可由COM
compliant介面接收而轉成圖形顯示,定制顯示適用於計量器、電表及其他具有內嵌應用之即時RTDX資料除錯、測試及模擬等工具.
連續執行可視性 模式
| |
• |
當處理器持續中斷時不會進入中斷碼內 |
| |
• |
不需停止處理器動作即可讀寫記憶體 |
在"連續執行可視性"模式下,當實際中斷發生時,除錯器會放棄控制並允許硬體中斷服務,待硬體ISR(interrupt service
routine)回覆後,處理器會再度停止。"連續執行可視性"備於TI最新矽晶仿真器上,此功能原用於硬體驅動之控制應用,亦即DSP控制磁碟頭位址。這些控制伺服的系統為了避免磁碟頭在通訊時毀損,必須同步維護及通訊系統,此特性可見於外掛式Code
Composer Studio。C27X/C28X及C55X ISA家族均具備"連續執行可視性"能力.
進階事件觸發(Advanced Event
Triggering)
| 進階事件觸發是TI重要仿真能力,也是DSP功能之一。它可探知目標處理事件之組合並加以執行,簡言之,進階事件觸發可用於: |
| |
• |
需求量頻繁之除錯工具,如在來源程式視窗中直接進行硬體斷點(breakpoints)及監視點(watchpoints) |
| |
• |
透過事件分析視窗管理所有除錯測試 |
| |
• |
利用事件計算器分析及執行基準點系統 |
| |
• |
固定難以察覺的錯誤(通常需探查較複雜之組合及事件才可得知) |
| Code Composer
Studio v2.1 及近期特為TI 核心所推出之矽晶發展工具均支援進階事件觸發,其軟體可掌控所有硬體來源程式,這個特性已內建於矽晶中使得進階事件觸發容易使用,也因此設計者可直接透過三種不同等級之使用者介面來設計其產品: |
| |
• |
除錯原始程式之顯示 |
| |
• |
事件分析視窗 |
| |
• |
事件時序視窗 |
原始程式視窗
第一等級進階事件觸發之使用者介面即為具除錯器之原始程式視窗,許多除錯的執行如硬點斷點、監視點及計數器均可利用滑鼠上之按鍵隨時控制,設計者可於同一視窗開啟或關閉必須之除錯測試,視窗上也有一些快速鍵可供簡易使用.
事件分析
第二等級進階事件觸發之使用者介面即為事件分析視窗,提供單一顯示並控制所有除錯測試,並能建立新的除錯測試於視窗中,並可任意搬移、啟動或關閉程式,亦可暫時停止除錯工作自由運用其內部資源,完成後儲存或挪移。每一測試均有快速鍵,並自動給予完整說明及名稱,而使用者可自由加入任何建議與補充;對於新建的除錯測試,若無法相容於仿真資源之限制,進階事件觸發軟體會自動立即列表顯示除錯結果,或移至其他新的除錯測試.
此視窗有更進階之功能如連鎖斷點(chained breakpoints),即兩個以上之事件連續發生時,你最想做的動作如停止處理器.
Benchmarking Capabilities
另一支援進階事件觸發即為協助使用者分析其系統效能,並利用不同測試包括過去週期(elapsed cycles)、分支(branches)、管線高度(pipeline
stalls,攸關記憶體之設計)、快取(cache)hits/misses(適用於偵察程式進行並決定高速緩衝器之最小限制)、中斷、DMA中斷等維持系統效能。這些矽晶能力均建立於Code
Composer Studio內,並可即時作業,因應瞬息萬變之市場而創造不同之產品.
事件時序性(Event
Sequencer)
第三且最高等級之介面可解決最困難的即時性問題即為事件時序性,除錯程序可藉此建立一近似高階程式語言,並架構在原始程式視窗中;使用者可定義常用之複雜邏輯組合並排列事件發生的順序(但事件必須發生在bug顯示前之應用程式碼的流程中)。事件時序性更提供邏輯諸如"IF-THEN"、"ELSE"、及"ELSE
IF-THEN",亦有複邏輯如"AND"、"OR"、及"NOT",當事件即時發生時,使用者可選擇停止處理器、設定高低準位、或進行其他動作.
由於進階事件觸發能力是直接建立在目標處理器上,在CPU週期及記憶體的觀點看是無法超頻的,因此當它動作時,矽晶會偵察到所有事件而不需停止CPU而保持其即時性,如此使用者不必在每一獨立事件去設定斷點,可減少除錯所需時間.
因為事件時序器程式相當複雜,儲存在Code Composer Studio工作平台內,經過除錯過程後亦載入於Code Composer
Studio中.
而進階事件觸發也可在系統即將毀損前察覺發生的狀況,這表示進階事件觸發可以非常精確地追蹤bugs,即使它只在數小時或數天甚至連續數週才發生一次。若沒有這個特性,當系統發生危機訊號,並需要一些時間去辨認及解決,實難以事先偵察得知.
|
| |
|