分析數字信號處理(DSP )系統(tǒng)測試與調試
出處:工業(yè)控制 發(fā)布于:2011-06-12 10:50:17
在軟件開發(fā)領域,關鍵但也是無法預料的階段是調試階段。在軟件調試的過程中有很多要素都舉足輕重,而其中重要的則是時間。設置和調試軟件所需的時間對于軟件的上市時間以及是否滿足客戶期望都有著巨大的影響,同時還影響著一個在市場取得成功的產品的銷售業(yè)績。一個應用的集成必須經過一個由構建、加載、調試/調諧到更改等多個階段構成的過程。
嵌入式實時系統(tǒng)的調試既是一門藝術,又是一門科學。用于調試和集成這些系統(tǒng)的工具和技術對于在調試、集成和測試階段上所需時間的長度有著重要影響。對運行中的系統(tǒng)越了解,我們就能越快發(fā)現并修正缺陷。
要了解系統(tǒng)有一個傳統(tǒng)也是簡單的方法,即在軟件中的某些點添加消息,以便輸出有關系統(tǒng)狀態(tài)的信息。這些消息可以是輸出到顯示器的“打印”指令,也可以通過LED 或者LED 組閃爍的形式來系統(tǒng)狀態(tài)和健康度。每個功能或任務都可以通過輸出一個狀態(tài)信息來開始指示是系統(tǒng)將之安排到程序中的某個點。如果系統(tǒng)在某個點出現故障,對于這一輸出信息的診斷就可以幫助工程師了解到系統(tǒng)正常狀態(tài)點的所在,從而確認問題所在。當然,這種方式會導致系統(tǒng)過載,進而影響系統(tǒng)性能。因此,工程師必須在測試完系統(tǒng)后清除這些數據并在銷售之前對系統(tǒng)重新驗證,或者將系統(tǒng)和系統(tǒng)中測得的代碼一起銷售。他們必須確保所工程師可以利用更先進的調試方法來減少集成和測試階段的時間。其中一個方法就是利用“調試監(jiān)視器(debug monitor)”。調試監(jiān)視器是一種嵌入到目標應用或集成到微控制器或DSP 內核的相對較小的代碼,通過一個串行接口和主機進行通信。調試監(jiān)視器可以代碼、讀寫DSP 存儲器和計數器、設置簡單和復雜的斷點、單步執(zhí)行程序并繪制源代碼概圖。
仿真的基本原理
仿真是一種被用在嵌入式系統(tǒng)開發(fā)領域的技術。它可以給系統(tǒng)開發(fā)者帶來集成硬件和軟件所需的可控制性和可視性,有效地模仿DSP 處理器的電氣特征和性能,同時讓工程師更清晰地了解處理器的活動并加以控制。
仿真器包含了硬件和軟件技術。仿真硬件方面由DSP 芯片上的功能構成,它可以采集數據。該數據提供了有關系統(tǒng)活動狀態(tài)和其它可視性的信息。硬件還需要從DSP 設備上高速獲取此類信息,并將數據格式化。仿真器軟件則提供了更別的控制,以及一個和主機相連的接口- 一般是一個調試器。調試器讓開發(fā)工程師可以輕松地從編輯過程(編譯、匯編并為某個應用建立鏈接)過渡到執(zhí)行環(huán)境。
它從編輯過程中輸出數據,并將圖象導入到目標系統(tǒng)中。接下來,工程師可以通過調試器和仿真器互動,來控制并執(zhí)行應用,同時找到并解決問題。這些問題可能是硬件問題,也可能會是軟件上的問題。仿真器被設計成一個完整的集成和測試環(huán)境。
仿真器系統(tǒng)組件
所有的仿真器系統(tǒng)都是由以下三個部分構成的:
◆ 片上調試裝置
◆ 仿真控制器
◆ 運行在主機上的調試器應用程序

圖1 一個基本的仿真系統(tǒng)
圖1展示了這三部分的連接。其中主機和一個仿真控制器相連,仿真控制器也連接到目標系統(tǒng)。用戶通過IDE 中的調試器來控制目標應用。
從處理器、仿真器到主機平臺的整個開發(fā)環(huán)境,都會使用DSP 仿真技術。
在DSP 設備本身,要實現更高的時鐘率,就要求仿真邏輯必須是在芯片上,這樣它才能夠全速運行,并跟上處理器的速率。集成度更高的芯片,總線會被隱藏起來,讓工程師無法通過管腳看到。這也使得仿真邏輯必須在芯片上,這樣才能接入到系統(tǒng)總線。為此,DSP 廠商都一直在積極地將高端仿真功能集成到它們的DSP產品上。
下一個組件是仿真器,它用來將目標板連接到主機平臺上,并在主機和目標處理器之間傳輸數據。
第三個組件也是一個組件是調試器和仿真軟件。該軟件可以自動配置以匹配DSP 設備,并作為用戶接口,讓片上系統(tǒng)(SoC)設備的調試變得盡可能簡單。
這些IDE 還支持“插入式”應用的開發(fā),此類應用不僅能控制處理器,還能通過一個高速數據接口顯示來自處理器的仿真數據。
主機可以決定設備到主機之間的數據帶寬。主機和仿真器之間的通信決定著數據傳輸協(xié)議的持續(xù)數據帶寬。產生數據的主機和接收數據的客戶端必須擁有足夠的MIP 和/或磁盤帶寬,來準備、傳輸、處理和/或存儲來自DSP 的數據。
仿真器的物理特征
大多數仿真控制器都位于主機外部。仿真器分為通信和仿真兩個部分。通信部分負責和主機通信,而仿真部分則和目標連接,控制目標調試功能和設備調試端口。
仿真器/目標通信
仿真控制器通過連接線和目標相連。調試、跟蹤、觸發(fā)和實時傳輸可以通過同一根目標連接線來完成,有時也可以采用同樣的設備管腳。當一根連接線無法滿足目標系統(tǒng)的跟蹤帶寬時,就需要多根連接線。所有跟蹤、實時數據傳輸和調試通信可以通過這個鏈路來完成。仿真器允許目標和仿真器之間可以至少分開2 英尺,以方便DSP 開發(fā)者能在各種環(huán)境下應用。
片上仿真
由于當前精密的DSP 處理器的可視性日益下降,調試功能也被集成到了芯片上-即我們常說的片上調試。片上調試實際上硬件和軟件的結合。要在芯片和調試器之間進行通信,DSP 上必須有額外的管腳。要進行片上調試,還要求主系統(tǒng)必須和調試部分以及數據抽取通信并對之加以控制。主軟件運行調試器軟件,并通過專用接口頭信息與片上調試寄存器連接。主調試器以圖畫形式顯示源代碼、處理器資源、存儲器位置和外圍設備狀態(tài)等。
片上調試的一些主要功能包括:
◆ 中斷或插入程序和/或數據存儲地址上的調試模式
◆ 中斷或插入外圍設備上的調試模式
◆ 通過1 個DSP 微處理器指令進入調試模式
◆ 讀/寫DSP 內核寄存器
◆ 讀/寫外圍存儲器映射的寄存器
◆ 讀/寫程序或數據存儲器
◆ 執(zhí)行1 個或多個指令
◆ 跟蹤1 個或多個指令
◆ 讀實時指令跟蹤緩沖器

圖2 DSP 上的仿真邏輯可以實現有效系統(tǒng)集成所需的可視性
圖2展示了一個高性能DSP 上的仿真硬件。該邏輯位于DSP 上,可以執(zhí)行以下功能:
◆ 觀測-采用總線事件探測器來觀測系統(tǒng)中的事件。用戶可以通過調試器界面編程選擇需要觀測的特定事件或情況;
◆ 保存-采用計數器和狀態(tài)機來保存系統(tǒng)中發(fā)生的事件;
◆ 導向和控制-采用觸發(fā)器來發(fā)送計數器和狀態(tài)機獲取的有用數據;
◆ 導出-采用導出功能從系統(tǒng)導出數據。例如,以跟蹤邏輯來導出原始程序寄存器和數據跟蹤信息;
◆ 加速-采用本地振蕩器來提高以高時鐘速率運行的設備的數據傳輸率;
◆ 導入-以導入邏輯來從主機導入數據,讓開發(fā)者可以輸入用來調試和集成系統(tǒng)的數據文件;
◆ 這個仿真系統(tǒng)里還包括一個主通信控制器(host communications controller)。
它可以連接到控制整個過程的主調試器。調試器可以位于電腦上或者工作站中,也可以集成到一個集成度更高的開發(fā)環(huán)境中,或者獨立運行。電腦或工作站中構建的代碼通過一個通信鏈路導入到目標中。
仿真控制器(以及調試器)是一種帶有兩組不同功能特征的調試工具。其中的一組特征可以提供簡單的運行控制,讓DSP 開發(fā)者能控制DSP 處理器的運行。運行控制的例子有啟動、暫停、步進和運行至斷點。
調試器是在主系統(tǒng)上執(zhí)行的一個軟件組件。它可以監(jiān)控和控制整個仿真過程,有以下一些常見功能:
啟動/運行(Go/Run)- 這個命令將啟動目標CPU 的執(zhí)行。執(zhí)行是從當前程序計數器的位置和寄存器數值開始的。
停止/暫停(Stop/Halt)- 這一命令用來通知仿真器停止目標CPU 并暫停執(zhí)行。當執(zhí)行這一命令時,目標CPU 和寄存器的當前上下文會被保存,以便當處理器再次開始運行時,執(zhí)行可以繼續(xù)從原停止點處繼續(xù)進行。
單步執(zhí)行(Single-Step)- 這一命令是啟動或運行指令的一個特殊形式,但在下一個指令處有一個斷點組。它讓用戶可以連續(xù)步進。在每一步,用戶都可以觀察寄存器、執(zhí)行堆棧和其它關于系統(tǒng)狀態(tài)的重要信息。這可能是尋找軟件或固件模塊的問題時應用為普遍的命令。
運行至(Run To)- 這個命令可以在程序某個被認為有用的地方設置一個斷點,然后運行直到達到該斷點。它可以讓用戶不必多次單步執(zhí)行便可達到同樣的位置。
仿真器是直接和DSP 處理器連接的。電氣信號被發(fā)送到仿真器,仿真器可以接入到處理器,而標準軟件調試器則不能。硬件信號發(fā)送還可以帶來更好的實時控制。仿真器還能實時記錄處理器的活動,如果發(fā)生問題,開發(fā)者就可以有一個系統(tǒng)活動的歷史記錄來進行分析。
仿真器相比于標準軟件調試器的另一個優(yōu)勢在于它可以調試系統(tǒng)的啟動代碼。在系統(tǒng)初始化過程中,這是不能實現的。而仿真器可以提供自己的通信接口,能接入到系統(tǒng)的任何部分,達到和CPU 一樣的可視性。
仿真器的另一個優(yōu)勢是可以調試已經損壞的系統(tǒng)。如果目標系統(tǒng)因為某個原因而被損壞,它的操作系統(tǒng)一般會停止運行。此時軟件調試器根本排不上用場。仿真器可以保留重要的跟蹤信息和寄存器數值等DSP 處理器狀態(tài)信息,并對該數據進行分析,以確定導致系統(tǒng)損壞的原因。
基本仿真組件
當采用一個DSP 調試器來在硬件平臺上進行軟件調試時,必須執(zhí)行一些設置程序,以確保目標處理器能夠和調試器兼容。仿真的設置包含了兩個工具:一個是仿真器本身(例如TI XDS510 或XDS560)-它控制到達目標和來自目標的信息流,另一個是調試器-它是這一信息的用戶接口。在仿真設置之后是目標處理器。
硬件的調試是通過停止DSP 內核來進行的,這樣才可以使信息通過JTAG 信息頭被掃描進設備并從設備中掃描出來。該信息是通過符合IEEE 1149.1 JTAG 規(guī)格的JTAG 接口來串行傳輸的。在處理器內部有多種可以掃描信息進出的串行掃描鏈。這個“掃描管理器”的任務是在信息被掃描進出各種處理器的過程中控制該信息,并將之引導在各個調試器窗口之間。
仿真器主機可以作為掃描管理器,因為它控制著掃描信息在目標和調試器窗口之間的傳輸。比如,操作系統(tǒng)可以是一臺電腦,而JTAG 連接則通過一張ISA 卡來完成,其它配置也可以實現。當主CPU 或一個獨立的處理器控制JTAG 掃描信息時,主機需要有關掃描鏈中包含的設備的信息。
版權與免責聲明
凡本網注明“出處:維庫電子市場網”的所有作品,版權均屬于維庫電子市場網,轉載請必須注明維庫電子市場網,http://udpf.com.cn,違反者本網將追究相關法律責任。
本網轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品出處,并自負版權等法律責任。
如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網聯系,否則視為放棄相關權利。
- 掌握 DSP:原理剖析與應用實踐2025/5/8 14:03:24
- 模糊邏輯在 DSP 上實時執(zhí)行2023/7/25 17:13:30
- 多速率DSP及其在數模轉換中的應用2023/6/12 15:28:52
- 使用 DSP 加速 CORDIC 算法2023/3/29 15:46:30
- 高速DSP系統(tǒng)的信號完整性2022/9/26 16:45:38









