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

          新聞中心

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

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

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

            仿真的基本原理

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

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

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

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

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

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

            從處理器、仿真器到主機(jī)平臺(tái)的整個(gè)開發(fā)環(huán)境,都會(huì)使用DSP 仿真技術(shù)。

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

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

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

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

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

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

            仿真器的物理特征

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

            仿真器/目標(biāo)通信

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

            片上仿真

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

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

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


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

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

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

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

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

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

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

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

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

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

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

            基本仿真組件

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

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

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

            仿真器主機(jī)可以作為掃描管理器,因?yàn)樗刂浦鴴呙栊畔⒃谀繕?biāo)和調(diào)試器窗口之間的傳輸。比如,操作系統(tǒng)可以是一臺(tái)電腦,而JTAG 連接則通過一張ISA 卡(圖7)來完成,其它配置也可以實(shí)現(xiàn)。當(dāng)主CPU 或一個(gè)獨(dú)立的處理器控制JTAG 掃描信息時(shí),主機(jī)需要有關(guān)掃描鏈中包含的設(shè)備的信息。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();