第十講 程序調(diào)試及錯誤觀察CC進(jìn)階教程

上傳人:dfg****19 文檔編號:253296079 上傳時(shí)間:2024-12-10 格式:PPT 頁數(shù):36 大?。?27KB
收藏 版權(quán)申訴 舉報(bào) 下載
第十講 程序調(diào)試及錯誤觀察CC進(jìn)階教程_第1頁
第1頁 / 共36頁
第十講 程序調(diào)試及錯誤觀察CC進(jìn)階教程_第2頁
第2頁 / 共36頁
第十講 程序調(diào)試及錯誤觀察CC進(jìn)階教程_第3頁
第3頁 / 共36頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《第十講 程序調(diào)試及錯誤觀察CC進(jìn)階教程》由會員分享,可在線閱讀,更多相關(guān)《第十講 程序調(diào)試及錯誤觀察CC進(jìn)階教程(36頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,第十講 程序調(diào)試及錯誤觀察,CC,進(jìn)階,(,1,)使用斷點(diǎn)(,Breakpoints,),和觀察窗口(,Watch Window,),程序執(zhí)行時(shí)常常需要,檢查變量的值,1、File,/,Reload Program.,2、雙擊,Project View,窗中的,volume.c,(源文件),。,可以將窗口變大,看到更多的源代碼。,3、將光標(biāo)放在,dataIO();,4、,單擊,(,Toggle Breakpoint),工具條,或按,F9。,選擇空白區(qū)指示,斷點(diǎn)已經(jīng)設(shè)置(紅色圖標(biāo))。,5,選擇,View,/

2、,Watch Window,,,在,CCS,窗口的右下角出現(xiàn),單個區(qū)域,同時(shí),這個區(qū)域顯示觀察變量的值。,6、,如果不在主程序,選擇,Debug,/,Go Main,.,7,選擇,Debug,/,Run,,,或按,F5,,,或按圖標(biāo) 。,8、,選擇,Watch1,9 單擊,Name,欄中表達(dá)式圖標(biāo) ,鍵入要觀察的變量,名,dataIO。,10、單擊觀察窗口中的白色區(qū)域,保存更改。,這個值將立即出現(xiàn)在下面的例子中。,11、,單擊,(,Step Over),或按,F10,,,跨過對,dataIO(),的調(diào)用。,Step Into(F8),Step Over(F10),Step Out(Shift

3、F7),Run to Cursor(Ctrl F10),12,、,完成后,,,單擊 (,Remove All Breakpoints),,再繼續(xù)下面的學(xué)習(xí)。,(,2,)使用帶結(jié)構(gòu)的,Watch Window,除了觀察簡單變量的值,也可以觀察一個結(jié)構(gòu)的元素的值。,1、,選擇,Watch1,2,、,單擊,Name,欄中的表達(dá)式圖標(biāo) ,鍵入要觀察表達(dá)式名稱,str,。,3、,單擊觀察窗口中的白色空間,保存更改。,數(shù)值將立即出現(xiàn)在下面的例子中。,4,、從,Reviewing the Source Code,調(diào)出,volume.c,中全局申明,、,并,初始化的類型為,PARMS,的結(jié)構(gòu),。,volume

4、.h,定義了,PARMS,的結(jié)構(gòu)類型,5、單擊,str,上的,+,號,,CCS,將結(jié)構(gòu)中所有元素和元素值。,雙擊結(jié)構(gòu)中元素的,Value,,編輯元素的值。,6、在,Watch window,中,Value,欄,更改變量的值。,注意,,Watch Window,中數(shù)值的更改,數(shù)值也變?yōu)榧t色,,表示已經(jīng)手動修改。,7、選擇,Watch Window,中,str,變量,按,Delete,鍵。其他變量同理。,8、選擇,Debug,/,Breakpoints.,在,Breakpoints,中,單擊,Delete All,,然后單擊,OK.,(,3,)添加探針,Probe Point,(為了文件,I/O)

5、,可以添加探針(,Probe Point),,從,PC,機(jī)中的文件讀數(shù)據(jù)。,按照下面的步驟 使用探針:,從主,PC,中傳遞輸入數(shù)據(jù),到算法所使用的目標(biāo)的緩沖器中;,從目標(biāo)的緩沖器中傳遞輸出數(shù)據(jù),到主,PC,中;,用數(shù)據(jù)修改窗口。,探針與斷點(diǎn)的,相同之處是它們都可以停止程序的運(yùn)行,,不同之處有如下幾點(diǎn):,(,1,)探針只是暫時(shí)中斷程序的運(yùn)行,當(dāng)程序執(zhí)行到探點(diǎn)時(shí)會自動更新與之相連接的窗口,然后自動繼續(xù)運(yùn)行程序。,(,2,)斷點(diǎn)中斷程序后,將更新所有打開的窗口,且只能通過人工干預(yù)的方法恢復(fù)程序繼續(xù)運(yùn)行。,(,3,)探針運(yùn)行時(shí),文件能夠自動完成從,PC,機(jī)和目標(biāo)處理器之間的輸入、輸出,而斷點(diǎn)沒有此功能

6、。,下面將學(xué)習(xí)如何使用,Probe Point,,,將,PC,文件中的內(nèi)容,作為,測試數(shù)據(jù),傳遞到目標(biāo),DSP,中。,另外,也可以使用斷點(diǎn)修改所有打開的窗口。,1、,選擇,File,/,Load Program,,,選中,volume1.out,,單擊,Open,。,2、,雙擊,Project View,中的,volume.c。,3、,將光標(biāo)放到主程序中,dataIO();,4、單擊,(,Toggle Probe Point),。,選擇空白區(qū)域指示探針已經(jīng)設(shè)置(蘭色圖標(biāo)),如果廢止,選擇區(qū),此行為蘭色顯亮。,5,、,從,File,菜單,選擇,File I/O,。,出現(xiàn),File I/O,對話框

7、,因此可以選擇輸入輸出文件。,6、,在,File Input,,,單擊,Add File。,7、,瀏覽,volume1,工程文件夾,選中,sine.dat,,單擊,Open,。,sine.dat,文件,是,正弦波的十六進(jìn)制數(shù)值,出現(xiàn),sine.dat,文件的控制窗口。再后,當(dāng)運(yùn)行程序時(shí),可以在,數(shù)據(jù)文件中使用此窗口啟動、停止、返回、或快進(jìn)。,8、,在,File I/O,對話框,更改,Address,為,inp_buffer,,,Length,為,100,,,在,Wrap Around,中可以添加選中符號。,Address,指定從文件中來的數(shù)據(jù)將放在什么地方。,volume.c,申明,inp_b

8、uffer,為整數(shù)矩陣,BUFSIZE,(,volume.h,中定義為常量),Length,指定每次使用,Probe Point,時(shí)從數(shù)據(jù)文件中讀多少,樣本,。,這里取100,因?yàn)?volume.h,設(shè)置常量為,BUFSIZE(0 x64)。,Wrap Around,選擇引起當(dāng)其到達(dá)文件末尾時(shí),,CCS,開始從文件開始讀。,這允許數(shù)據(jù)文件被看作為連續(xù)的數(shù)據(jù)流。,9、,單擊,Add Probe Point,。,出現(xiàn),Break/Probe Points,對話框中的,Probe Points,10,、,在,Probe Point,列表中,顯亮行為,:,VOLUME.C line 61-No Con

9、nection.,11、,在,Connect To,區(qū)域,中,,單擊下箭頭,從列表中,選中,sine.dat,12,、,單擊,Replace,。,Probe Point,列表改向顯示這個,Probe Point,連接,到,sine.dat,文件。,13,、,單擊,OK,。,File I/O,對話框顯示文件現(xiàn)在連接到,Probe Point,。,14,、,單擊,OK,,,關(guān)閉,File I/O,對話框。,CCS,支持的,.dat,文件,的格式為:,定數(shù)數(shù)據(jù)格式起始地址頁類型數(shù)據(jù)塊大小,定數(shù),固定為“,1651”,,,數(shù)據(jù)格式,可以選擇“,1”,(十六進(jìn)制整型)、“,2”,(十進(jìn)制整型)、“,3”

10、,(十進(jìn)制長整型)、“,4”,(十進(jìn)制浮點(diǎn)型)。,起始地址,為存儲的地址,,頁類型,標(biāo)示為程序或者數(shù)據(jù),,1,為數(shù)據(jù),2,為程序。,比如一個,.dat,文件:,1651 1 800 1 10,0 x0000,0 x0000,0 x0000,0 x0000,0 x0000,0 x0000,0 x0000,0 x0000,0 x0000,0 x0000,0 x0000,0 x0000,0 x0000,制作,.dat,文件的方法也很簡單,可以用,VC+,或者,MATLAB,來實(shí)現(xiàn)。,matlab,向,dsp,傳遞,.dat,文件,x=2*sin(2*pi*100*m*dt);,M*i+m0,for

11、m=1:200;,if x(m)=0 y(m)=x(m);,else y(m)=4+x(m);,end;,end;,y=y*16384;,fid=fopen(input.dat,w);%,打開文件,w,是將此文件定義為可寫的,,fid,是此文件的整數(shù)標(biāo)示,fprintf(fid,1651 1 0 1 0n);%,輸出文件頭,文件頭必須是,dsp,所能識別的,就如此句程序所設(shè)定的,fprintf(fid,0 x%xn,round(y);%,輸出,y,數(shù)組,并寫到與,fid,標(biāo)示符相同的文件,即,yinput.dat,文件里。,round,是取,y,值的最近的數(shù),即如果是,1.2,,就取,1,,如

12、果,1.6,,就取,2.,fclose(fid);%,關(guān)閉,fid,標(biāo)示符的文件。,fid=fopen(input.dat,w);%,打開文件,屬性設(shè)置為寫,fprintf(fid,1651 1 0 1 0n);%,輸出文件頭,只有此文件頭,dsp,芯片才能識別,fprintf(fid,0 x%xn,round(x);%,輸出十六進(jìn)制的,x,fclose(fid);%,關(guān)閉,這里,x,要轉(zhuǎn)換成二進(jìn)制補(bǔ)碼,其在,CCS,中的使用方法可以有一下命令:,File-Data-Load,File-Data-Store,File-File I/O,(,4,)顯示圖形,在這個例子中,可以查看關(guān)于時(shí)間的信號圖

13、形。,1、選擇,View/Graph,/,Time/Frequency,。,2、在,Graph Property Dialog,對話框,更改,Graph Title,Start Address,Acquisition Buffer Size,Display Data Size,DSP Data Type,Autoscale,和,Maximum Y-value,屬性,下拉或重新拉大對話框,查看所有屬性。,3、單擊,OK,。,出現(xiàn),Input Buffer,的,Input,圖形窗口。,4、右擊,Input graph,窗口,從下拉菜單中選擇,Clear Display。,5、再次選擇,View/G

14、raph/Time/Frequency。,6、這次更改,Graph Title,為,Output,,Start Address,為,out_buffer,,所有其他設(shè)置都正確。,7、單擊,OK,,顯示輸出圖形,Output graph,窗口,右擊,Output graph,窗口,從下拉菜單中選擇,Clear Display。,激活程序和圖形,至此,已經(jīng)放置斷點(diǎn),傳遞主,PC,中的數(shù)據(jù),到目標(biāo),DSP;,可暫停目標(biāo),DSP,,或繼續(xù)目標(biāo),DSP,應(yīng)用程序。但是,,Probe Point,不修改圖形。本節(jié)建立斷點(diǎn)(,breakpoint),,修改圖形,使用,Animate,命令,遇到斷點(diǎn)后繼續(xù)自動

15、執(zhí)行。,1、在,volume.c,窗口,將光標(biāo)放在調(diào)用,dataIO,的行上。,2、單擊 (,Toggle Breakpoint),,或按,F9,,選中空白區(qū)域,放置紅色圖標(biāo),代表斷點(diǎn)。,將斷點(diǎn),breakpoin,和探測點(diǎn),Probe Point,放在同一行,,這樣傳遞數(shù)據(jù)和修改圖形時(shí)目標(biāo)只須暫停一次。,3、調(diào)整窗口,使得兩個窗口都可以看見。,5、每遇到探測點(diǎn),Probe Point,一次,,CCS,就從,sine.dat,文件,獲得100個數(shù)值,并將它們寫入,inp_buffer,地址。,4、單擊 (,Animate),,或按,F12,運(yùn)行程序。,Animate=Runhalt conti

16、nue,增益,Gain=1,注意:,DSP,在探測點(diǎn)暫停。,CCS,遇到探測點(diǎn)時(shí),暫停目標(biāo)。,因此,如果使用探測點(diǎn),不能保證實(shí)時(shí)性。,這一階段開發(fā),你可以檢測算法,然后可以使用,RTDX,和,DSP/BIOS,分析實(shí)時(shí)特性。,6、選擇,Debug,/,Halt,,,退出程序運(yùn)行。,剖析(,Profile,),在,CCS,中可以統(tǒng)計(jì)某段代碼的執(zhí)行時(shí)間。代碼剖析不僅可以迅速地評估程序的性能以便優(yōu)化代碼,還可以統(tǒng)計(jì)其它的處理器事件,如執(zhí)行跳轉(zhuǎn)的次數(shù)、子程序調(diào)用的次數(shù)和中斷次數(shù)等。,剖析時(shí)鐘(,Profile Clock,),使用剖析時(shí)鐘測量代碼執(zhí)行時(shí)間的方法如下:,(,1,)首先允許時(shí)鐘,選擇菜單,Profile-Enable Clock,。,(,2,)選擇菜單,Profile-View Clock,打開時(shí)鐘窗口。,(,3,)假定要測量,A,、,B,兩條指令間的執(zhí)行時(shí)間,那么在,B,至少,4,條指令的,C,處設(shè)置斷點(diǎn)。,(,4,)在,A,處設(shè)置斷點(diǎn)并運(yùn)行到該處,雙擊時(shí)鐘窗口使其清,0,,之后清除,A,斷點(diǎn)。,(,5,)運(yùn)行到,C,處并記下當(dāng)前的,CLK,值,該值為,A,、,C,之間程序的運(yùn)行

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!