版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第四章DSP程序的調(diào)試與分析(3學(xué)時(shí))主要內(nèi)容DSP程序基本調(diào)試方法DSP程序輸入輸出分析RTDX技術(shù)MATLABLinkforCodeComposerStudio應(yīng)用代碼執(zhí)行時(shí)間分析GEL的應(yīng)用DSP程序基本調(diào)試方法診斷信息形式編譯警告和錯(cuò)誤及其解決方法鏈接警告和錯(cuò)誤及其解決方法CCS的常用調(diào)試工具CCS的常用調(diào)試命令診斷信息形式示例:"dft.c",linen:diagnosticseverity:diagnosticmessage"file.c"是涉及的源文件名,linen指出診斷信息出自源文件中的第幾行。diagnosticseverity:診斷信息嚴(yán)重程度描述AfatalerrorAnerrorAwarningAremarkdiagnosticmessage:診斷消息,即問(wèn)題的描述。編譯警告和錯(cuò)誤及其解決方法鏈接警告和錯(cuò)誤及其解決方法
CCS的常用調(diào)試工具Breakpoints:斷點(diǎn)當(dāng)DSP程序執(zhí)行到斷點(diǎn)時(shí),將暫停運(yùn)行ProbePoints:探測(cè)點(diǎn)當(dāng)程序運(yùn)行到探測(cè)點(diǎn)時(shí)暫停,可以將主機(jī)文件的數(shù)據(jù)輸入到目標(biāo)DSP的存儲(chǔ)器,或?qū)⒛繕?biāo)DSP的數(shù)據(jù)讀取到主機(jī)上的文件中,然后自動(dòng)繼續(xù)向下運(yùn)行DSP程序。常用調(diào)試命令RuntoCursor菜單項(xiàng)或按鈕StepInto菜單項(xiàng)或按鈕StepOver菜單項(xiàng)或按鈕SeptOut菜單項(xiàng)或按鈕Run命令或按鈕Halt命令或按鈕Animate命令或按鈕DSP程序輸入輸出分析C語(yǔ)言的輸入輸出語(yǔ)句Watch窗口的應(yīng)用圖形分析窗口FileI/O應(yīng)用數(shù)據(jù)的下載與保存(DataLoad/Save)C語(yǔ)言的輸入輸出語(yǔ)句puts函數(shù)printf函數(shù)scanf函數(shù)getchar函數(shù)Watch窗口的應(yīng)用菜單View→WatchWindow命令在Watch窗口中,可以察看并修改全局變量的值圖形分析窗口CCS提供一個(gè)信號(hào)圖形分析工具,可以對(duì)輸入輸出信號(hào)進(jìn)行直觀的圖形顯示,是開(kāi)發(fā)通信、信號(hào)處理、圖像處理等DSP程序時(shí)常用的分析工具。菜單View→graph命令時(shí)頻圖形分析工具(Time/Frequency)星座圖分析工具(Constellation)眼圖(EyeDiagram)圖像分析(Image)FileI/O應(yīng)用CCS允許讀取數(shù)據(jù)文件信息輸入到開(kāi)發(fā)平臺(tái)的指定存儲(chǔ)空間。反之,也可以讀取開(kāi)發(fā)平臺(tái)中的內(nèi)容寫(xiě)入到計(jì)算機(jī)的一個(gè)文件中,調(diào)用菜單File→FileI/O命令可以實(shí)現(xiàn)這些操作FileI/O命令需要有探測(cè)點(diǎn)配合,當(dāng)程序運(yùn)行到探測(cè)點(diǎn)時(shí)會(huì)暫停,執(zhí)行和探測(cè)點(diǎn)綁定在一起的FileI/O命令,然后程序?qū)⒆詣?dòng)向下運(yùn)行非實(shí)時(shí)性FileI/O應(yīng)用步驟準(zhǔn)備用于測(cè)試的輸入數(shù)據(jù),存儲(chǔ)為CCS的FileI/O支持的格式支持兩種文件格式:COFF二進(jìn)制文件格式和CCS文本數(shù)據(jù)文件格式。CCS文本數(shù)據(jù)文件的文件頭,該文件頭采用語(yǔ)法為“MagicNumber、Format、StartingAddress、PageNum、Length”編譯、鏈接工程,將生成的out文件下載進(jìn)入開(kāi)發(fā)平臺(tái)加入探測(cè)點(diǎn),用于運(yùn)行程序時(shí)在該探測(cè)點(diǎn)處進(jìn)行FileI/O工作調(diào)用菜單File→FileI/O命令,文件輸入(FileInput)文件輸出(FileOutput)設(shè)置斷點(diǎn)運(yùn)行程序觀看運(yùn)行結(jié)果Run命令A(yù)nimate命令數(shù)據(jù)的下載與保存(DataLoad/Save)調(diào)用菜單File→Data→Load命令,下載CCS支持的數(shù)據(jù)文件進(jìn)入開(kāi)發(fā)平臺(tái)的存儲(chǔ)空間數(shù)據(jù)的下載與保存(DataLoad/Save)調(diào)用菜單File→Data→Save命令,準(zhǔn)備把開(kāi)發(fā)平臺(tái)存儲(chǔ)空間中的數(shù)據(jù)存儲(chǔ)進(jìn)入到CCS的數(shù)據(jù)文件中RTDX技術(shù)RTDX,RealTimeDataExchange在不打斷DSP程序執(zhí)行的前提下,實(shí)現(xiàn)計(jì)算機(jī)和開(kāi)發(fā)平臺(tái)之間的實(shí)時(shí)數(shù)據(jù)交換RTDX技術(shù)數(shù)據(jù)流DSP程序RTDX目標(biāo)庫(kù)DSP開(kāi)發(fā)平臺(tái)CCSRTDX主機(jī)庫(kù)主機(jī)客戶應(yīng)用程序可選的Log文件主機(jī)RTDX應(yīng)用程序接口JTAG接口COM接口CCS中的RTDX插件
RTDX配置工具CCS中的RTDX插件RTDX診斷工具CCS中的RTDX插件輸入輸出通道觀察工具M(jìn)ATLABLinkforCodeComposerStudio應(yīng)用
提供MATLAB函數(shù),可用于自動(dòng)完成DSP目標(biāo)程序的調(diào)試、數(shù)據(jù)通信和驗(yàn)證。在不打斷DSP程序執(zhí)行的情況下,支持MATLAB和目標(biāo)DSP之間進(jìn)行實(shí)時(shí)交換數(shù)據(jù)。支持XDS510、XDS560仿真器,可以高速調(diào)試DSP程序。提供嵌入式對(duì)象操作函數(shù),用于訪問(wèn)C/C++變量或數(shù)據(jù)。擴(kuò)展CCS集成開(kāi)發(fā)環(huán)境的調(diào)試功能。CCSLink提供的函數(shù)
ccsdsp創(chuàng)建一個(gè)CCS集成開(kāi)發(fā)環(huán)境對(duì)象,簡(jiǎn)稱(chēng)CCS對(duì)象add向CCS中當(dāng)前工程加入指定文件activate激活CCS中指定文件成為當(dāng)前文件address返回指定目標(biāo)符號(hào)的地址animate動(dòng)畫(huà)運(yùn)行當(dāng)前目標(biāo)程序build對(duì)CCS中當(dāng)前活動(dòng)工程進(jìn)行編譯鏈接cd改變當(dāng)前工作路徑createobj為操作的目標(biāo)芯片中的變量或數(shù)據(jù)創(chuàng)建一個(gè)對(duì)象delete刪除CCS中的一個(gè)斷點(diǎn)dir顯示CCS當(dāng)前的工作路徑disp顯示CCS對(duì)象屬性display顯示一個(gè)CCS對(duì)象goto執(zhí)行目標(biāo)程序到一個(gè)函數(shù)的入口halt立刻暫停DSP芯片運(yùn)行的目標(biāo)程序info返回目標(biāo)DSP芯片信息insert在CCS中插入一個(gè)斷點(diǎn)isreadable檢測(cè)指定的目標(biāo)存儲(chǔ)塊是否可讀isrtdxcapable檢測(cè)目標(biāo)DSP芯片是否支持RTDXisrunning檢測(cè)目標(biāo)DSP是否正在運(yùn)行isvisible檢測(cè)CCS集成開(kāi)發(fā)環(huán)境是否打開(kāi)iswritable檢測(cè)指定存儲(chǔ)塊是否可寫(xiě)list返回變量、函數(shù)、數(shù)據(jù)類(lèi)型或工程的信息load下載指定可執(zhí)行文件到目標(biāo)DSPnew在CCS創(chuàng)建一個(gè)新文件open在CCS中打開(kāi)指定文件profile在當(dāng)前目標(biāo)程序執(zhí)行中獲取DSP/BIOS統(tǒng)計(jì)信息read從DSP的存儲(chǔ)空間獲取一組連續(xù)數(shù)據(jù)regread返回指定DSP寄存器值regwrite向DSP寄存器寫(xiě)入指定的值reload重新下載DSP中最近下載的可執(zhí)行文件愛(ài)你remove從CCS當(dāng)前活動(dòng)工程中移除指定文件reset對(duì)DSP目標(biāo)板進(jìn)行軟件復(fù)位restart從DSP中下載的可執(zhí)行文件的入口點(diǎn)重新運(yùn)行目標(biāo)程序.run運(yùn)行DSP中下載的可執(zhí)行文件save保存CCS中指定文件symbol讀取目標(biāo)DSP的整個(gè)符號(hào)表.visible設(shè)置CCS窗口可見(jiàn)write向目標(biāo)DSP的指定存儲(chǔ)空間寫(xiě)入數(shù)據(jù)rtdx用于創(chuàng)建一個(gè)RTDX對(duì)象close用于關(guān)閉目標(biāo)DSP的指定RTDX通道configure用于配置RTDX通道緩沖區(qū)的數(shù)量和大小disable禁用RTDX接口或指定的RTDX通道disp顯示RTDX對(duì)象通道屬性display顯示RTDX對(duì)象enable使能RTDX接口或指定的RTDX通道flush清空指定RTDX通道緩沖區(qū)數(shù)據(jù)info返回RTDX通道的字符串名稱(chēng)isenabled檢查RTDX或RTDX通道是否使能isreadable檢查指定RTDX通道是否可讀iswritable檢查指定RTDX通道是否可寫(xiě)msgcount獲取指定的用于matlab讀取數(shù)據(jù)的RTDX通道消息數(shù)量open打開(kāi)目標(biāo)DSP的RTDX通道readmat從指定RTDX通道讀取數(shù)據(jù)存入一個(gè)矩陣readmsg從指定RTDX通道讀取數(shù)據(jù)refresh重新打開(kāi)所有定義的RTDX通道writemsg向指定的RTDX通道寫(xiě)入數(shù)據(jù)利用CCSLink嵌入式對(duì)象實(shí)現(xiàn)數(shù)據(jù)的輸入輸出
參照4.2.4FileI/O應(yīng)用實(shí)例中的第2、3步,對(duì)dft2.pjt進(jìn)行編譯鏈接,然后下載可執(zhí)行的out文件進(jìn)入開(kāi)發(fā)平臺(tái)中,運(yùn)行程序。設(shè)置圖形分析工具,采用時(shí)頻分析類(lèi)型分析輸入信號(hào)in數(shù)組、輸出信號(hào)out數(shù)組編寫(xiě)Matlab的m文件,內(nèi)容如圖4.16所示,并運(yùn)行該m文件,刷新圖形顯示窗口,顯示效果剖析方法時(shí)鐘剖析剖析會(huì)話時(shí)鐘剖析時(shí)鐘設(shè)置選擇菜單Profiler→ClockSetup菜單項(xiàng)使能時(shí)鐘選擇菜單Profiler→EnableClock菜單項(xiàng),將在該菜單項(xiàng)前標(biāo)記“√”,表示剖析時(shí)鐘使能,再次選擇該項(xiàng)命令可以清除標(biāo)記“√”,禁止剖析時(shí)鐘,默認(rèn)情況下禁止使用剖析時(shí)鐘觀察時(shí)鐘選擇菜單Profiler→ViewClock菜單項(xiàng),將彈出時(shí)鐘觀察窗口,顯示數(shù)字為當(dāng)前時(shí)鐘計(jì)數(shù)值利用Watch窗口觀察CLK變量值剖析時(shí)鐘的精確方法剖析誤差的引入如流水線清空引入的誤差、丟失流水線沖突等。在剖析時(shí)鐘設(shè)置中設(shè)置PipelineAdjustment項(xiàng)參數(shù)不能完全補(bǔ)償上述測(cè)量誤差利用剖析時(shí)鐘計(jì)數(shù)如何比較精確的剖析A點(diǎn)到B點(diǎn)的指令周期?在程序中B點(diǎn)后至少4個(gè)指令周期處選一點(diǎn)C,在C處設(shè)置一個(gè)斷點(diǎn)在A點(diǎn)處設(shè)置一個(gè)斷點(diǎn),運(yùn)行程序到該斷點(diǎn)處復(fù)位剖析時(shí)鐘計(jì)數(shù),同時(shí)移除A點(diǎn)處斷點(diǎn)運(yùn)行程序,程序在C點(diǎn)處暫停,記錄此時(shí)的剖析時(shí)鐘計(jì)數(shù)(CLK變量值),該值代表從A點(diǎn)到C點(diǎn)的指令周期,記作CLK1在B點(diǎn)設(shè)置一個(gè)斷點(diǎn),以B點(diǎn)代替A點(diǎn)重復(fù)執(zhí)行第(2)~(4)步,得到從A點(diǎn)到C點(diǎn)的剖析時(shí)鐘計(jì)數(shù)CLK2,要求剖析時(shí)程序運(yùn)行狀態(tài)和剖析A點(diǎn)到C點(diǎn)時(shí)完全一樣A點(diǎn)到B點(diǎn)的指令周期數(shù)則為,這樣將消除C點(diǎn)處程序暫停時(shí)引入的剖析誤差剖析會(huì)話
選擇菜單Profiler→StartingNewSession菜單項(xiàng),彈出對(duì)話框中輸入會(huì)話的名稱(chēng)按OK鍵統(tǒng)計(jì)信息列表剖析工具欄剖析函數(shù)方法剖析連續(xù)程序代碼區(qū)域剖析不連續(xù)的代碼區(qū)域通用擴(kuò)展語(yǔ)言(GEL)
GEL通用擴(kuò)展語(yǔ)言是一種與C語(yǔ)言相似的解釋性語(yǔ)言,其編寫(xiě)的GEL文件(擴(kuò)展名為gel)以GEL函數(shù)為基本單元,主要用于自動(dòng)測(cè)試、客戶化工作區(qū)等應(yīng)用用戶可以自定義GEL文件來(lái)擴(kuò)展CCS集成開(kāi)發(fā)環(huán)境的功能可以利用GEL文件訪問(wèn)開(kāi)發(fā)平臺(tái)的存儲(chǔ)空間可以向CCS的GEL菜單添加菜單項(xiàng),方便程序調(diào)試。#defineNum_init32menuitem"DFTControl"dialogdata_input(parm1"0方波非0鋸齒波",parm2"Num"){if(parm1==0)call_data_rect(parm2);elsecall_data_delta(parm2);}sliderGain(0,10,1,1,gainParm){gain=gainParm; }hotmenugain_reset(){gain=1;}call_data_delta(Num){ inti,k=0; for(i=0;i<Num;i++){ if(i%4==0)k=!k; in[i]=k*5;k++; }}call_data_rect(Num){ inti,k=0;for(i=0;i<Num;i++) { if(i%4==0) k=!k; in[i]=k*5; }}StartUp()//裝載該gel文件后,自動(dòng)調(diào)用StartUp函數(shù){call_data_rect(Num_init);GEL_TextOut("自動(dòng)執(zhí)行\(zhòng)n");}在GEL菜單中添加GEL函數(shù)
首先要用menuitem關(guān)鍵字定義一個(gè)GEL菜單的下垃菜單項(xiàng)然后編寫(xiě)GEL文件,利用hotmenu、dialog或slide關(guān)鍵字聲明的函數(shù)作為該下拉菜單項(xiàng)的子菜單項(xiàng)裝載該GEL文件裝載一個(gè)GEL文件后,GEL函數(shù)的調(diào)用方法
把GEL函數(shù)加入到GEL菜單中,選擇GEL菜單中菜單項(xiàng),可以調(diào)用該菜單項(xiàng)對(duì)應(yīng)的GEL函數(shù)。利用GEL工具欄,在GEL工具欄中輸入函數(shù)調(diào)用語(yǔ)句,按執(zhí)行按鈕后調(diào)用輸入的函數(shù)在Watch窗口中輸入GEL函數(shù)調(diào)用語(yǔ)句,當(dāng)程序運(yùn)行遇到斷點(diǎn)暫停刷新Watch窗口時(shí)將調(diào)用在該窗口中輸入的GEL函數(shù)。當(dāng)裝載一個(gè)GEL文件時(shí),首先檢查該GEL文件中是否定義了StartUp函數(shù)。如果發(fā)現(xiàn)該GEL文件中定義了StartUp函數(shù),將自動(dòng)調(diào)用執(zhí)行StartUp函數(shù)。GEL內(nèi)建函數(shù)GEL_Animate() GEL_Go(address) GEL_Halt() GEL_Load("fileName.out") GEL_LoadGel("fileName.gel") GEL_MemoryLoad() GEL_MemorySave() GEL_ProjectBuild() GEL_ProjectClose("fileName") GEL_ProjectLoad("fileName") GEL_ProjectRebuildAll() GEL_ProjectSetActive("fileName")GEL_Reset() GEL_Restart()GEL_Run(["Condition"]) GEL_TextOut(“string”) GEL_RunF() GEL_UnloadGel("fileName")GEL_WatchAdd("expression") GEL_WatchReset() 裝載一個(gè)GEL文件的方法:在CCSSetup中為CCS啟動(dòng)配置一個(gè)GEL文件,當(dāng)CCS啟動(dòng)時(shí)將自動(dòng)裝載該GEL文件。選擇CCS的菜單File→LoadGEL菜單命令,可以裝載GEL文件到CCS。在工程窗口中,選中GELfiles項(xiàng)調(diào)用右健快捷菜單選擇“LoadGEL……”菜單項(xiàng),可以裝載選擇的GEL文件到CCS。修改一個(gè)已經(jīng)裝載的GEL文件后,可以在工程窗口GELfiles項(xiàng)列表中選擇該GEL,調(diào)用右健快捷菜單選擇Reload菜單項(xiàng),可以重新裝載當(dāng)前選中的GEL文件。卸載一個(gè)GEL文件的方法卸載一個(gè)GEL文件時(shí),首先在工程窗口GELfiles項(xiàng)列表中選擇該GEL,然后調(diào)用右健快捷菜單,選擇Remove菜單項(xiàng),可以卸載當(dāng)前選中的GEL文件。實(shí)驗(yàn)DSP程序調(diào)試-DFT頻譜分析DSP實(shí)現(xiàn)
一、實(shí)驗(yàn)?zāi)康氖煜CS集成開(kāi)發(fā)環(huán)境,掌握工程的建立、編譯、鏈接等方法;掌握DSP程序調(diào)試基本方法;利用DSP實(shí)現(xiàn)DFT算法對(duì)離散信號(hào)進(jìn)行頻譜分析二、實(shí)驗(yàn)內(nèi)容1.輸入信號(hào)模擬2.輸出信號(hào)的圖形顯示和分析3.對(duì)DSP程序進(jìn)行剖析三、實(shí)驗(yàn)設(shè)備PC機(jī)一臺(tái),TMS320C5416DSK一套。實(shí)驗(yàn)DSP程序調(diào)試-DFT頻譜分析DSP實(shí)現(xiàn)
DSP程序調(diào)試—實(shí)驗(yàn)步驟
選擇菜單Project→New命令,設(shè)置保存路徑、工程名(如DFT),建立一個(gè)工程。選擇菜單File→New→SourceFile命令,建立源代碼文件,編寫(xiě)DFT函數(shù)源代碼。保存源文件到當(dāng)前工程所在文件夾,然后在工程窗口選擇當(dāng)前工程調(diào)用右鍵菜單,調(diào)用AddfilestoProject命令打開(kāi)一個(gè)文件選擇對(duì)話框,選擇剛保存的源文件加入到工程中。把CCS安裝目錄下C5400\cgtools\lib\rts_ext.lib文件加入到工程,選擇菜單Project→BuildOptions命令,打開(kāi)BuildOptions對(duì)話框在Compile頁(yè)的Advance頁(yè)選擇使用遠(yuǎn)調(diào)用,即設(shè)置編譯選項(xiàng)使用遠(yuǎn)調(diào)用(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 租房退房要求打掃衛(wèi)生的合同(2篇)
- 咨詢服務(wù)類(lèi)合同(2篇)
- 人教A版湖南省名校聯(lián)考聯(lián)合體2023-2024學(xué)年高一上學(xué)期期末考試數(shù)學(xué)試題
- 初中體育+障礙跑+作業(yè)設(shè)計(jì)
- 2023年國(guó)家公務(wù)員錄用考試《申論》真題(副省卷)及答案解析
- 第4課《一著驚海天-目擊我國(guó)航母艦載戰(zhàn)斗機(jī)首架次成功著艦》八年級(jí)語(yǔ)文上冊(cè)精講同步課堂(統(tǒng)編版)
- 西南林業(yè)大學(xué)《操作系統(tǒng)原理》2022-2023學(xué)年期末試卷
- 西京學(xué)院《新媒體交互設(shè)計(jì)》2022-2023學(xué)年第一學(xué)期期末試卷
- 獲獎(jiǎng)過(guò)程說(shuō)明附件8
- 西京學(xué)院《工程地質(zhì)》2021-2022學(xué)年第一學(xué)期期末試卷
- 第一次工地會(huì)議內(nèi)容與議程
- 工作面安裝瓦斯監(jiān)控安全技術(shù)措施
- (2021更新)國(guó)家開(kāi)放大學(xué)電大《課程與教學(xué)論》形考任務(wù)4試題及答案
- 單門(mén)門(mén)禁一體機(jī)操作流程
- 施工現(xiàn)場(chǎng)安全知識(shí)答題試卷-附答案版4頁(yè)
- 腸套疊實(shí)用教案
- 學(xué)??倓?wù)處行事歷
- 勝利油田鉆完井液技術(shù)現(xiàn)狀及發(fā)展趨勢(shì)鉆井院
- 通信工程勘察設(shè)計(jì)費(fèi)取費(fèi)標(biāo)準(zhǔn)[整理版]
- 墩身外觀質(zhì)量缺陷與防治
- 靜設(shè)備安裝工程質(zhì)量驗(yàn)收要求
評(píng)論
0/150
提交評(píng)論