<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 數(shù)字信號處理(DSP )系統(tǒng)測試和調(diào)試3

          數(shù)字信號處理(DSP )系統(tǒng)測試和調(diào)試3

          作者: 時間:2008-07-19 來源:網(wǎng)絡 收藏

            仿真的基本原理

            仿真是一種被用在嵌入式系統(tǒng)開發(fā)領域的技術。它可以給系統(tǒng)開發(fā)者帶來集成硬件和軟件所需的可控制性和可視性,有效地模仿DSP 處理器的電氣特征和性能,同時讓工程師更清晰地了解處理器的活動并加以控制。

            仿真器包含了硬件和軟件技術。仿真硬件方面由DSP 芯片上的功能構成,它可以數(shù)據(jù)。該數(shù)據(jù)提供了有關系統(tǒng)活動狀態(tài)和其它可視性的信息。硬件還需要從DSP 設備上高速獲取此類信息,并將數(shù)據(jù)。仿真器軟件則提供了更高級別的控制,以及一個和主機相連的- 一般是一個器。器讓開發(fā)工程師可以輕松地從編輯過程(、并為某個應用建立鏈接)過渡到執(zhí)行環(huán)境。

            它從編輯過程中輸出數(shù)據(jù),并將圖象導入到目標系統(tǒng)中。接下來,工程師可以通過器和仿真器互動,來控制并執(zhí)行應用,同時找到并解決問題。這些問題可能是硬件問題,也可能會是軟件上的問題。仿真器被設計成一個完整的集成和測試環(huán)境。

          仿真器系統(tǒng)組件
          所有的仿真器系統(tǒng)都是由以下三個部分構成的:
          片上調(diào)試裝置
          仿真控制器
          運行在主機上的調(diào)試器應用程序

                            圖7:一個基本的仿真系統(tǒng)

          圖7 展示了這三部分的連接。其中主機和一個仿真控制器相連,仿真控制器也連接到目標系統(tǒng)。用戶通過IDE 中的調(diào)試器來控制目標應用。

            從處理器、仿真器到主機平臺的整個開發(fā)環(huán)境,都會使用DSP 仿真技術。

            在DSP 設備本身,要實現(xiàn)更高的時鐘率,就要求仿真邏輯必須是在芯片上,這樣它才能夠全速運行,并跟上處理器的速率。集成度更高的芯片,總線會被隱藏起來,讓工程師無法通過管腳看到。這也使得仿真邏輯必須在芯片上,這樣才能接入到系統(tǒng)總線。為此,DSP 廠商都一直在積極地將高端仿真功能集成到它們的DSP產(chǎn)品上。

            下一個組件是仿真器,它用來將目標板連接到主機平臺上,并在主機和目標處理器之間傳輸數(shù)據(jù)。

            第三個組件也是最后一個組件是調(diào)試器和仿真軟件。該軟件可以自動配置以匹配DSP 設備,并作為用戶,讓片上系統(tǒng)(SoC)設備的調(diào)試變得盡可能簡單。

            這些IDE 還支持“插入式”應用的開發(fā),此類應用不僅能控制處理器,還能通過一個高速數(shù)據(jù)顯示來自處理器的仿真數(shù)據(jù)。

            調(diào)試器運行的主機可以是一臺電腦,也可以是一個工作站。該主機可以通過各種方式來和仿真器相連,包括以太網(wǎng)、通用串行總線(USB)、Firewire (IEEE 1394)和并行接口等。

            主機可以決定設備到主機之間的數(shù)據(jù)帶寬。主機和仿真器之間的通信決定著數(shù)據(jù)傳輸協(xié)議的最大持續(xù)數(shù)據(jù)帶寬。比如,在某些仿真應用下,仿真器清空接收數(shù)據(jù)緩沖器的速度必須和這些緩沖器被裝滿數(shù)據(jù)的速度一樣快。第二,產(chǎn)生數(shù)據(jù)的主機和接收數(shù)據(jù)的客戶端必須擁有足夠的MIP 和/或磁盤帶寬,來準備、傳輸、處理和/或存儲來自DSP 的數(shù)據(jù)。此處必須注意的一點是,一個功能強大的電腦或者一個工作站會對整個仿真系統(tǒng)的性能產(chǎn)生影響。

            仿真器的物理特征

            大多數(shù)仿真控制器都位于主機外部。仿真器分為通信和仿真兩個部分。通信部分負責和主機通信,而仿真部分則和目標連接,控制目標調(diào)試功能和設備調(diào)試端口。

            仿真器/目標通信

            仿真控制器通過連接線和目標相連。調(diào)試、跟蹤、觸發(fā)和實時傳輸可以通過同一根目標連接線來完成,有時也可以采用同樣的設備管腳。當一根連接線無法滿足目標系統(tǒng)的跟蹤帶寬時,就需要多根連接線。所有跟蹤、實時數(shù)據(jù)傳輸和調(diào)試通信可以通過這個鏈路來完成。仿真器允許目標和仿真器之間可以至少分開2 英尺,以方便DSP 開發(fā)者能在各種環(huán)境下應用。

            片上仿真

            由于當前精密的DSP 處理器的可視性日益下降,調(diào)試功能也被集成到了芯片上-即我們常說的片上調(diào)試。片上調(diào)試實際上硬件和軟件的結合。位于DSP 上的功能是硬件實現(xiàn)資源。這些資源包括終端用戶代碼可利用的功能,例如斷點寄存器和其它專用硬件。要在芯片和調(diào)試器之間進行通信,DSP 上必須有額外的管腳。這些管腳可以是JTAG 接口管腳,也可以是一些專門用于控制或數(shù)據(jù)的額外管腳。要進行片上調(diào)試,還要求主系統(tǒng)必須和調(diào)試部分以及數(shù)據(jù)抽取通信并對之加以控制。主軟件運行調(diào)試器軟件,并通過專用接口頭信息與片上調(diào)試寄存器連接。主調(diào)試器以圖畫形式顯示源代碼、處理器資源、存儲器位置和外圍設備狀態(tài)等。

            片上調(diào)試的一些主要功能包括:

          -中斷或插入程序和/或數(shù)據(jù)存儲地址上的調(diào)試模式
          -中斷或插入外圍設備上的調(diào)試模式
          -通過1 個DSP 微處理器指令進入調(diào)試模式
          -讀/寫DSP 內(nèi)核寄存器
          -讀/寫外圍存儲器映射的寄存器
          -讀/寫程序或數(shù)據(jù)存儲器
          -執(zhí)行1 個或多個指令
          -跟蹤1 個或多個指令
          -讀實時指令跟蹤緩沖器


                  圖8:DSP 上的仿真邏輯可以實現(xiàn)有效系統(tǒng)集成所需的可視性

            圖8 展示了一個高性能DSP 上的仿真硬件。該邏輯位于DSP 上,可以執(zhí)行以下功
          能:

          觀測-采用總線事件探測器來觀測系統(tǒng)中的事件。用戶可以通過調(diào)試器界面編程選擇需要觀測的特定事件或情況。
          保存-采用計數(shù)器和狀態(tài)機來保存系統(tǒng)中發(fā)生的事件。
          導向和控制-采用觸發(fā)器來發(fā)送計數(shù)器和狀態(tài)機獲取的有用數(shù)據(jù)。
          導出-采用導出功能從系統(tǒng)導出數(shù)據(jù)。例如,以跟蹤邏輯來導出原始程序寄存器和數(shù)據(jù)跟蹤信息。
          加速-采用本地振蕩器來提高以高時鐘速率運行的設備的數(shù)據(jù)傳輸率。
          導入-以導入邏輯來從主機導入數(shù)據(jù),讓開發(fā)者可以輸入用來調(diào)試和集成系統(tǒng)的數(shù)據(jù)文件。

            這個仿真系統(tǒng)里還包括一個主通信控制器(host communications controller)。
           
            它可以連接到控制整個過程的主調(diào)試器。調(diào)試器可以位于電腦上或者工作站中,也可以集成到一個集成度更高的開發(fā)環(huán)境中,或者獨立運行。電腦或工作站中構建的代碼通過一個通信鏈路導入到目標中。

            仿真控制器(以及調(diào)試器)是一種帶有兩組不同功能特征的調(diào)試工具。其中的一組特征可以提供簡單的運行控制,讓DSP 開發(fā)者能控制DSP 處理器的運行。運行控制的例子有啟動、暫停、步進和運行至斷點。

            另一組特征則用來捕捉和記錄DSP 處理器的活動,正如處理器總線所顯示的那樣。開發(fā)者可以通過一個觸發(fā)系統(tǒng)來限定控制捕捉這一跟蹤信息的條件。該跟蹤系統(tǒng)將DSP 處理器總線的活動記錄在系統(tǒng)內(nèi)部或外部的高速RAM 中。

            調(diào)試器是在主系統(tǒng)上執(zhí)行的一個軟件組件。它可以監(jiān)控和控制整個仿真過程,有以下一些常見功能:
          啟動/運行(Go/Run)- 這個命令將啟動目標CPU 的執(zhí)行。執(zhí)行是從當前程序計數(shù)器的位置和寄存器數(shù)值開始的。
          停止/暫停(Stop/Halt)- 這一命令用來通知仿真器停止目標CPU 并暫停執(zhí)行。當執(zhí)行這一命令時,目標CPU 和寄存器的當前上下文會被保存,以便當處理器再次開始運行時,執(zhí)行可以繼續(xù)從原停止點處繼續(xù)進行。
          單步執(zhí)行(Single-Step)- 這一命令是啟動或運行指令的一個特殊形式,但在下一個指令處有一個斷點組。它讓用戶可以連續(xù)步進。在每一步,用戶都可以觀察寄存器、執(zhí)行堆棧和其它關于系統(tǒng)狀態(tài)的重要信息。這可能是尋找軟件或固件模塊的問題時應用最為普遍的命令。
          步過/步進(Step-Over/Step Through)- 這個命令和單步執(zhí)行很相似,但有一個很大的不同。當步過一個子程序調(diào)用時,該命令會執(zhí)行子程序但不會進入子程序。而當采用單步執(zhí)行命令時,調(diào)試器會進入子程序并以一次一條指令的方式執(zhí)行子程序。如果用戶不需要看到子程序或庫函數(shù)中的每條指令,這一命令可以讓用戶繞過。
          運行至(Run To)- 這個命令可以在程序某個被認為有用的地方設置一個斷點,然后運行直到達到該斷點。它可以讓用戶不必多次單步執(zhí)行便可達到同樣的位置。

            DSP 仿真器可以提供DSP 處理器、寄存器和應用軟件的可視性,讓軟件工程師可以了解到應用執(zhí)行中處理器內(nèi)部發(fā)生的變化。軟件工程師可以基于應用內(nèi)部的硬件信號值和軟件位置在應用中設置斷點。在這些斷點上,用戶可以了解到處理器和數(shù)據(jù)的狀態(tài),并確定其應用是否仍在正常運行,還可以在仿真器上執(zhí)行應用軟件的基準化(時序分析)和繪制概圖(CPU 加載)。多處理器調(diào)試可以讓用戶同時在多個處理器上調(diào)試軟件,并依照設置在某個處理器中的條件停止一個或多個處理器,讓用戶能夠在有疑問時捕捉到整個系統(tǒng)的狀態(tài)。DSP 調(diào)試器中的這些功能可以極大地縮短軟件開發(fā)周期中的調(diào)試時間。

            仿真器是直接和DSP 處理器連接的。電氣信號被發(fā)送到仿真器,仿真器可以接入到處理器,而標準軟件調(diào)試器則不能。工程師可以瀏覽并更改寄存器-這是標準軟件調(diào)試器所沒有的。硬件信號發(fā)送還可以帶來更好的實時控制。仿真器還能實時記錄處理器的活動,如果發(fā)生問題,開發(fā)者就可以有一個系統(tǒng)活動的歷史記錄來進行分析。

            仿真器相比于標準軟件調(diào)試器的另一個優(yōu)勢在于它可以調(diào)試系統(tǒng)的啟動代碼。標準軟件調(diào)試器一般需要目標操作系統(tǒng)來接入系統(tǒng)和通信接口。在系統(tǒng)初始化過程中,這是不能實現(xiàn)的。而仿真器可以提供自己的通信接口(一般是JTAG),能接入到系統(tǒng)的任何部分,達到和CPU 一樣的可視性。

            仿真器的另一個優(yōu)勢是可以調(diào)試已經(jīng)損壞的系統(tǒng)。如果目標系統(tǒng)因為某個原因而被損壞,它的操作系統(tǒng)一般會停止運行。此時軟件調(diào)試器根本排不上用場。而仿真器則不會受到系統(tǒng)損壞的影響。仿真器可以保留重要的跟蹤信息和寄存器數(shù)值等DSP 處理器狀態(tài)信息,并對該數(shù)據(jù)進行分析,以確定導致系統(tǒng)損壞的原因。

            基本仿真組件

            當采用一個DSP 調(diào)試器來在硬件平臺上進行軟件調(diào)試時,必須執(zhí)行一些設置程序,以確保目標處理器能夠和調(diào)試器兼容。仿真的設置包含了兩個工具:一個是仿真器本身(例如TI XDS510 或XDS560)-它控制到達目標和來自目標的信息流,另一個是調(diào)試器-它是這一信息的用戶接口。在仿真設置之后是目標處理器。

            大多數(shù)DSP 處理器中的仿真邏輯都采用聯(lián)合測試行動組(JTAG)標準連接方法來從處理器內(nèi)部獲取調(diào)試信息。

            硬件的調(diào)試是通過停止DSP 內(nèi)核來進行的,這樣才可以使信息通過JTAG 信息頭被掃描進設備并從設備中掃描出來。該信息是通過符合IEEE 1149.1 JTAG 規(guī)格的JTAG 接口來串行傳輸?shù)?。必須注意的是,這個調(diào)試方法接近于實時調(diào)試,但它是插入式的,因為它需要停止內(nèi)核來掃描信息。盡管和JTAG 頭之間的連接可能是一樣的,但用于仿真的掃描鏈和用于邊界掃描的掃描鏈是不同的。在處理器內(nèi)部有多種可以掃描信息進出的串行掃描鏈。掃描鏈的選擇以及每個掃描鏈所包含的信息由一個微處理器來控制。這個“掃描管理器”的任務是在信息被掃描進出各種處理器的過程中控制該信息,并將之引導在各個調(diào)試器窗口之間。

            仿真器主機可以作為掃描管理器,因為它控制著掃描信息在目標和調(diào)試器窗口之間的傳輸。比如,操作系統(tǒng)可以是一臺電腦,而JTAG 連接則通過一張ISA 卡(圖7)來完成,其它配置也可以實現(xiàn)。當主CPU 或一個獨立的處理器控制JTAG 掃描信息時,主機需要有關掃描鏈中包含的設備的信息。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();