![DSP技術(shù)1 (3)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/15/d2f3e629-5175-4ab0-9e85-d1774e55d3ae/d2f3e629-5175-4ab0-9e85-d1774e55d3ae1.gif)
![DSP技術(shù)1 (3)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/15/d2f3e629-5175-4ab0-9e85-d1774e55d3ae/d2f3e629-5175-4ab0-9e85-d1774e55d3ae2.gif)
![DSP技術(shù)1 (3)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/15/d2f3e629-5175-4ab0-9e85-d1774e55d3ae/d2f3e629-5175-4ab0-9e85-d1774e55d3ae3.gif)
![DSP技術(shù)1 (3)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/15/d2f3e629-5175-4ab0-9e85-d1774e55d3ae/d2f3e629-5175-4ab0-9e85-d1774e55d3ae4.gif)
![DSP技術(shù)1 (3)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/15/d2f3e629-5175-4ab0-9e85-d1774e55d3ae/d2f3e629-5175-4ab0-9e85-d1774e55d3ae5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院信息工程類實(shí)驗(yàn)報(bào)告課程名稱:DSP技術(shù)姓 名:系:電子信息工程專 業(yè):電子信息工程年 級(jí):2010學(xué) 號(hào):指導(dǎo)教師:謝秀娟職 稱:講師2013年 11月21日實(shí)驗(yàn)項(xiàng)目列表序號(hào)實(shí)驗(yàn)項(xiàng)目名稱成績(jī)指導(dǎo)教師1實(shí)驗(yàn)1 匯編語(yǔ)言、體系結(jié)構(gòu)和CCS謝秀娟2實(shí)驗(yàn)2 C6000流水線和C運(yùn)行時(shí)環(huán)境謝秀娟3實(shí)驗(yàn)3 C6000代碼優(yōu)化謝秀娟4實(shí)驗(yàn)4 利用BIOS創(chuàng)建工程及性能分析謝秀娟5實(shí)驗(yàn)5 利用BIOS調(diào)試程序謝秀娟67891011121314151617181920 福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院信息工程類實(shí)驗(yàn)報(bào)告系: 電子信息工程 專業(yè): 電子信息工程 年級(jí): 10 姓名: 學(xué)號(hào)
2、: 實(shí)驗(yàn)課程: DSP 實(shí)驗(yàn)室號(hào): 田C513 實(shí)驗(yàn)設(shè)備號(hào): 17 實(shí)驗(yàn)時(shí)間: 2013-10-18 指導(dǎo)教師簽字: 成績(jī): C6000實(shí)驗(yàn)一 匯編語(yǔ)言、體系結(jié)構(gòu)和CCS1實(shí)驗(yàn)?zāi)康暮鸵? 熟悉DSP軟件開(kāi)發(fā)環(huán)境CCS的使用。2 熟悉CCS中的C語(yǔ)言編程。3 了解C6000DSP的匯編語(yǔ)言。2主要儀器設(shè)備(實(shí)驗(yàn)用的軟硬件環(huán)境)安裝了CCS2.0的計(jì)算機(jī),采用simulator配置文件sim6201_simulator.cfg。3操作方法與實(shí)驗(yàn)步驟1、配置CCS打開(kāi)桌面程序“Setup CCS 2 ('C6000)”,采用simulator配置文件sim6201_simulator.cf
3、g,配置完成后保存。2、實(shí)驗(yàn)內(nèi)容1操作步驟:(2)打開(kāi)CCS:打雙擊桌面程序:Setup CCS 2 ('C6000),配置CCS,選C6xxx;配置好后,打開(kāi)桌面程序:CCS 2 ('C6000);(3)打開(kāi)工程文件:把文件夾tutorialsim62xxhello1拷貝到myproject下;單擊菜單Project->Open,打開(kāi)hello.pjt,選擇支持庫(kù)rts6200.lib(4)編譯程序:菜單Project->build或rebuild(5)加載程序:菜單File->Load Program,選擇Debug下的.out文件裝入目標(biāo)板(6)go m
4、ain:菜單Debug->go main,執(zhí)行到main()處暫停(7)執(zhí)行程序:Debug->Run4實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)數(shù)據(jù)記錄 1新建一個(gè)project,把tutorialsim62xxhello1的文件添加進(jìn)去,完成其功能。練習(xí)CCS的基本操作:加載程序、go main、執(zhí)行程序、設(shè)置斷點(diǎn)、單步執(zhí)行、觀察變量、觀察存儲(chǔ)器、測(cè)試函數(shù)執(zhí)行的CLK、混合代碼顯示。2打開(kāi)tutorialsim62xxvolume1的項(xiàng)目文件,完成圖形方式觀察變量、設(shè)置探點(diǎn)、GEL控制變量、FILE IO、動(dòng)畫(huà)顯示輸入輸出的功能。然后單步執(zhí)行l(wèi)oad.asm,觀察C代碼調(diào)用、寄存器的變化、測(cè)試函數(shù)執(zhí)行時(shí)間
5、、如何循環(huán)和返回C代碼。3解釋如何在C6201上實(shí)現(xiàn)32bit int乘32bit int, 結(jié)果是32 bit int的過(guò)程:在剛才的hello1中設(shè)置3個(gè)全局變量int a = 0x10008; int b = 56; int c;在main函數(shù)中執(zhí)行語(yǔ)句 c = a * b; build后加載執(zhí)行程序, 混合代碼顯示 c = a*b對(duì)應(yīng)的匯編代碼,解釋之。5實(shí)驗(yàn)程序或?qū)嶒?yàn)數(shù)據(jù)處理與分析1、配置CCS2、練習(xí)CCS的基本操作1)打開(kāi)工程2)編譯工程,加載程序2)編譯工程,編譯通過(guò)后加載.out文件3)單步運(yùn)行,調(diào)試程序4)設(shè)置斷點(diǎn)5)觀察變量6) 觀察存儲(chǔ)器7)測(cè)試函數(shù)clk的執(zhí)行2、vo
6、lume1實(shí)驗(yàn)結(jié)果3、編寫(xiě)乘法函數(shù)及其結(jié)果6質(zhì)疑、建議、問(wèn)題討論1)打開(kāi)工程時(shí)若程序沒(méi)有自動(dòng)的加載需要的庫(kù)文件,則就要手動(dòng)查找到需要的庫(kù)文件,并添加至工程中。否則,后面的實(shí)驗(yàn)就會(huì)報(bào)錯(cuò)。2) 每次運(yùn)行完程序后需要重新加載程序,否則報(bào)錯(cuò)。福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院信息工程類實(shí)驗(yàn)報(bào)告系: 電子信息工程 專業(yè): 電子信息工程 年級(jí): 10 姓名: 學(xué)號(hào): 實(shí)驗(yàn)課程: DSP 實(shí)驗(yàn)室號(hào): 田C513 實(shí)驗(yàn)設(shè)備號(hào): 17 實(shí)驗(yàn)時(shí)間: 2013-10-25 指導(dǎo)教師簽字: 成績(jī): C6000實(shí)驗(yàn)二 C6000流水線和C運(yùn)行時(shí)環(huán)境1實(shí)驗(yàn)?zāi)康暮鸵?.熟悉DSP軟件開(kāi)發(fā)環(huán)境CCS的使用。2.熟悉C6000中的
7、C運(yùn)行時(shí)環(huán)境。2主要儀器設(shè)備(實(shí)驗(yàn)用的軟硬件環(huán)境)安裝了CCS2.0的計(jì)算機(jī),采用simulator配置文件sim6201_simulator.cfg。3操作方法與實(shí)驗(yàn)步驟1)打開(kāi)ccs6000的C運(yùn)行時(shí)的環(huán)境;2)雙擊桌面程序Setup CCS2(6000),配置CCS,選擇C6xxx;3)配置好后,打開(kāi)桌面程序CCS2(6000);4)把文件夾tutorialsim62xxhello1拷貝到myproject下;5)單擊菜單project->open,打開(kāi)open.pjt,選擇文件庫(kù)rts6200.lib;6)將匯編代碼段加到hello.asm,再在hello.c中加入?yún)R編子函數(shù)的C
8、語(yǔ)言程序,進(jìn)行編譯、加載生成.out文件,執(zhí)行產(chǎn)生結(jié)果。4實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)數(shù)據(jù)記錄采用simulator配置文件sim6201_simulator.cfg1 Hello1中添加1個(gè)C文件sop_c.c ,該文件是一個(gè)乘法累加的子函數(shù)sop_c (short * a, short * x, int * y, int n),然后在main函數(shù)中調(diào)用。不選擇任何優(yōu)化選項(xiàng)。用混合代碼顯示,在匯編層次執(zhí)行sop_c子函數(shù),觀察調(diào)用、執(zhí)行和返回的過(guò)程。2用匯編語(yǔ)言實(shí)現(xiàn)兩個(gè)數(shù)組a(n)和x(n)的乘法累加功能。匯編文件名為:sop_asm.asm,主函數(shù)C中調(diào)用格式:int sop_asm(short * a
9、, short * x, int n)。5實(shí)驗(yàn)程序或?qū)嶒?yàn)數(shù)據(jù)處理與分析1)往hell1中添加sop_c的c文件2) 在主函數(shù)中進(jìn)行添加的部分如下3) 運(yùn)行結(jié)果如下4) 往hell1中添加sop_asm的匯編文件5) 主函數(shù)中添加的部分如下6) 運(yùn)行結(jié)果如下7) 調(diào)試過(guò)程6質(zhì)疑、建議、問(wèn)題討論本次通過(guò)實(shí)驗(yàn),學(xué)會(huì)了如何在CCS軟件中使用C語(yǔ)言以及匯編語(yǔ)言進(jìn)行簡(jiǎn)單的函數(shù)編寫(xiě)以及調(diào)試運(yùn)行,同時(shí)也注意到了在CCS軟件中,使用匯編和平常所使用的變化還是有些許細(xì)微的變化的,我們要密切注意這些變化減少,以盡量的減少不必要的錯(cuò)誤。福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院信息工程類實(shí)驗(yàn)報(bào)告系: 電子信息工程 專業(yè): 電子信息
10、工程 年級(jí): 10 姓名: 學(xué)號(hào): 實(shí)驗(yàn)課程: DSP 實(shí)驗(yàn)室號(hào): 田C513 實(shí)驗(yàn)設(shè)備號(hào): 17 實(shí)驗(yàn)時(shí)間: 2013-11-01 指導(dǎo)教師簽字: 成績(jī): C6000實(shí)驗(yàn)三 C6000代碼優(yōu)化1實(shí)驗(yàn)?zāi)康暮鸵?.熟悉DSP軟件開(kāi)發(fā)環(huán)境CCS的使用。2.掌握CCS中的C語(yǔ)言編程。3.熟悉C6000DSP的代碼優(yōu)化過(guò)程。2主要儀器設(shè)備(實(shí)驗(yàn)用的軟硬件環(huán)境)安裝了CCS2.0的計(jì)算機(jī),采用simulator配置文件sim6201_simulator.cfg。3操作方法與實(shí)驗(yàn)步驟1)打開(kāi)ccs6000的C運(yùn)行時(shí)的環(huán)境;2)雙擊桌面程序Setup CCS2(6000),配置CCS,選擇C6xxx;3)
11、配置好后,打開(kāi)桌面程序CCS2(6000);4)把文件夾tutorialsim62xxhello1拷貝到myproject下;5)單擊菜單project->open,打開(kāi)open.pjt,選擇文件庫(kù)rts6200.lib;6)將匯編代碼段加到hello.asm,再在hello.c中加入?yún)R編子函數(shù)的C語(yǔ)言程序,進(jìn)行編譯、加載生成.out文件,執(zhí)行產(chǎn)生結(jié)果。4實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)數(shù)據(jù)記錄1采用simulator配置文件sim6201_simulator.cfg,寫(xiě)手工優(yōu)化的sop_asm.asm程序:在實(shí)驗(yàn)二的基礎(chǔ)上實(shí)現(xiàn)16bit數(shù)組的乘法累加的函數(shù),并手工優(yōu)化和采用軟件流水優(yōu)化。要求:(1)使用
12、LDW和MPY,MPYH指令;對(duì)于C64可以使用擴(kuò)展乘法指令。(2)畫(huà)出相關(guān)圖和模迭代間隔表。2(選做)寫(xiě)一個(gè)匯編語(yǔ)言子函數(shù)Mul32to64(unsigned int a, unsigned int b, void * p_64int),實(shí)現(xiàn)32bit*32bit64bit的無(wú)符號(hào)整型數(shù)據(jù)的乘法;3(選做)采用simulator配置文件sim6701_simulator.cfg,寫(xiě)一個(gè)線形匯編實(shí)現(xiàn)的子函數(shù),做復(fù)數(shù)數(shù)組求模,并找出模的最大值的位置和值。復(fù)數(shù)的實(shí)部和虛部為short,求模的結(jié)果為unsigned int。5實(shí)驗(yàn)程序或?qū)嶒?yàn)數(shù)據(jù)處理與分析1)兩種C語(yǔ)言實(shí)驗(yàn)及其結(jié)果2) 線性匯編實(shí)驗(yàn)3
13、) 匯編實(shí)驗(yàn)4) 主函數(shù)中的調(diào)用5) 調(diào)用結(jié)果6質(zhì)疑、建議、問(wèn)題討論1)匯編函數(shù)以及線性匯編函數(shù)的編寫(xiě)同C語(yǔ)言的調(diào)用一樣需要對(duì)變量進(jìn)行初始化,否則得到的是未定義的值。2)使用global函數(shù)進(jìn)行對(duì)全局變量的定義,全局變量的定義中即定義標(biāo)號(hào),同時(shí)還必須位于標(biāo)號(hào)之前,而標(biāo)號(hào)的定義位置應(yīng)在cproc前。3)注意不要進(jìn)行重定義,要清楚知道哪些變量是函數(shù)傳遞的參數(shù),哪些變量是在函數(shù)中進(jìn)行定義使用的。4)cproc和endproc是成對(duì)使用的。5)所新建的c或sa或asm文件都必須添加到工程中。6)要注意所編寫(xiě)的是匯編還是反匯編,同時(shí)要注意他們保存文件名的區(qū)別,否則編譯報(bào)錯(cuò)。福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院信
14、息工程類實(shí)驗(yàn)報(bào)告系: 電子信息工程 專業(yè): 電子信息工程 年級(jí): 10 姓名: 學(xué)號(hào): 實(shí)驗(yàn)課程: DSP 實(shí)驗(yàn)室號(hào): 田C513 實(shí)驗(yàn)設(shè)備號(hào): 17 實(shí)驗(yàn)時(shí)間: 2013-11-08 指導(dǎo)教師簽字: 成績(jī): 實(shí)驗(yàn)四 利用BIOS創(chuàng)建工程及性能分析1 實(shí)驗(yàn)?zāi)康暮鸵?)通過(guò)創(chuàng)建基于DSP/BIOS的Hello World工程實(shí)例,熟悉CCS環(huán)境下DSP/BIOS軟件的創(chuàng)建和使用方法。2)熟悉在CCS環(huán)境下對(duì)代碼的運(yùn)行效率和性能作出評(píng)估的工具和方法。2主要儀器設(shè)備(實(shí)驗(yàn)用的軟硬件環(huán)境)CCS2.2環(huán)境,C64XX Device Simulator3操作方法與實(shí)驗(yàn)步驟第一步:打開(kāi)已有工程并運(yùn)行在C
15、:timyprojects目錄里面創(chuàng)建hellobios目錄。把C:titutorialsim64xxhello1里的全部文件拷貝到這個(gè)新的目錄下面。如果CCS還沒(méi)有啟動(dòng),啟動(dòng)CCS環(huán)境,Setup里面設(shè)置為C64xx Device Simulator。選擇Project->Open,打開(kāi)這個(gè)工程,工程的項(xiàng)目文件目錄為:C:timyprojectshellobios,項(xiàng)目名稱是hello.pjt。若提示以下錯(cuò)誤,選擇Browse,選擇目錄:C:tiC6000cgtoolslibrts6400.lib,打開(kāi)工程。編譯,運(yùn)行工程,查看結(jié)果,應(yīng)該是輸出hello world字符。第二步:評(píng)測(cè)s
16、tdio.h中輸出函數(shù)put()的執(zhí)行時(shí)間(周期數(shù))新建一個(gè)Profiler,選擇Profiler->Start New Session,名稱為MySession,確定。出現(xiàn)Session窗口,選擇Range欄。如下所示,出現(xiàn)hello.out。用鼠標(biāo)拖曳,高亮put()函數(shù),如下所示:按住鼠標(biāo),拖曳到Range窗口里面,出現(xiàn):重新Load程序,運(yùn)行,得到運(yùn)行結(jié)果如下:結(jié)論:采用put()函數(shù)輸出一次的指令周期數(shù)是:1700。采用同樣方法,測(cè)試printf()函數(shù)的指令周期數(shù)目:記錄put()函數(shù)和printf()函數(shù)需要的指令周期數(shù)到表格,用來(lái)和下面實(shí)驗(yàn)的結(jié)果對(duì)比。第三步:編輯源代碼在
17、CCS里,關(guān)閉hello.c窗口。用Windows Explorer把C:titutorialsim64xxhello2目錄里的hello.c文件拷貝到C:timyprojectshellobios目錄。按Yes覆蓋原來(lái)已經(jīng)存在的hello.c文件。hello2例中采用DSP/BIOS函數(shù)來(lái)替代hello1例中的標(biāo)準(zhǔn)C函數(shù)的put()輸出函數(shù)。雙擊hello.c文件,在Project View窗口打開(kāi)源文件。注意新代碼的幾點(diǎn)問(wèn)題:#include <std.h>#include <log.h>#include "hellocfg.h"Void mai
18、n() LOG_printf(&trace, "hello world!"); /* fall into DSP/BIOS idle loop */ return;hello.c文件首先包含了std.h和log.h兩個(gè)頭文件。程序如果想使用DSP/BIOS API那它必須包含std.h文件以及程序中用到的模塊的對(duì)應(yīng)頭文件。log.h頭文件中定義了LOG_Obj結(jié)構(gòu)以及LOG模塊用的API函數(shù)的聲明。std.h文件必須在其它的DSP/BIOS模塊頭文件之前聲明。其它模塊的頭文件聲明順序不重要。代碼接下來(lái)要包含hellocfg.h頭文件,這個(gè)文件在創(chuàng)建并保存DSP/BI
19、OS配置的時(shí)候創(chuàng)建的。下一個(gè)步驟我們就來(lái)創(chuàng)建這個(gè)文件。這個(gè)文件包含了配置文件夾里面的DSP/BIOS objects的外部聲明。hellocfg.h文件也包含了配置文件里定義的DSP/BIOS模塊的頭文件。既然std.h和log.h文件都會(huì)被hellocfg.h文件引用,那么hello.c文件的頭兩行時(shí)間上是冗余的。但是這樣也不會(huì)有任何問(wèn)題。調(diào)用LOG_printf的代碼實(shí)際上是傳遞LOG object對(duì)象(&trace)和 hello world消息的地址。最后main()函數(shù)返回,這個(gè)函數(shù)導(dǎo)致程序進(jìn)入DSP/BIOS的Idle循環(huán)。在這個(gè)循環(huán)中,DSP/BIOS等待線程,例如軟件中
20、斷和硬件中斷發(fā)生。在該例中,沒(méi)有其它線程發(fā)生,所以會(huì)一直處于IDLE狀態(tài)。第四步:創(chuàng)建DSP/BIOS的配置文件選擇File->New->DSP/BIOS Config。選擇一個(gè)目標(biāo)模板,根據(jù)芯片選擇,我們選c64xx.cdb,然后按OK。觀察configuration窗口,左邊窗口是模塊的列表,可以通過(guò)點(diǎn)擊模塊的“+”號(hào)打開(kāi)下級(jí)目錄,也可以按右鍵新建一個(gè)對(duì)象或查看一個(gè)建立好的對(duì)象的屬性。點(diǎn)擊Instrumentation目錄左側(cè)的+號(hào),顯示模塊的列表。郵局選擇LOGEvent Log Mannger然后右擊選擇Insert LOG。這個(gè)步驟是創(chuàng)建一個(gè)LOG對(duì)象,名稱為L(zhǎng)OG0。右
21、鍵選中LOG0對(duì)象,然后右擊選擇Rename。把LOG對(duì)象改名為trace.如果你在使用軟件仿真器,需要設(shè)置RTDX模式為Simulator。選擇RTDXReal-Time Data Exchange Settings,右鍵,選擇屬性,打開(kāi)對(duì)話框:將RTDX Mode設(shè)定為Simulator即可。如果有目標(biāo)板,可以選擇JTAG。選擇File->Save。保存到當(dāng)前目錄(通常是C:timyprojectshellobios)命名為hello.cdb,保存這個(gè)配置后,會(huì)生成以下6個(gè)文件:Hello.cdb保存配置的內(nèi)容Hellocfg.cmd鏈接command文件Hellocfg.h包括DS
22、P/BIOS模塊頭文件和配置文件中用到的外部對(duì)象、變量的聲明Hellocfg.s62DSP/BIOS設(shè)置的匯編語(yǔ)言源文件Hellocfg.h62Hellocfg.s62引用到的匯編語(yǔ)言源文件Hellocfg_c.cChip Support Library(CSL)代碼結(jié)構(gòu)和設(shè)置第五步:添加DSP/BIOS文件到工程項(xiàng)目選擇Project->Add Files to Project,在Files of type欄目里選擇Configuration File(*.cdb),選中hello.cdb文件后,點(diǎn)Open。注意添加后,hello.cdb出現(xiàn)在Porject View窗格下目錄DSP/
23、BIOS Config里。此外,CCS自動(dòng)添加Hellocfg.s62和Hellocfg_c.c文件到生成的目錄下。輸出文件名必須和.cdb文件一致??梢酝ㄟ^(guò)Project->Build Options打開(kāi)Linker標(biāo)簽查看,確認(rèn)Output Filename內(nèi)容是.Debughello.out,按OK確定。再次選擇Project->Add Files to Project,選對(duì)Linker Command File(*.cmd)在Files of type下拉菜單,選擇hellocfg.cmd文件,然后按Open。如果看到警告,按Yes。Hello.cmd文件被hellocfg
24、.cmd文件替代,hellocfg.cmd文件是保存DSP/BIOS時(shí)生成的。若沒(méi)有警告,直接將hello.cmd文件從項(xiàng)目中刪除。你可以自己創(chuàng)建獨(dú)立的cmd文件,但文件中必須引用DSP/BIOS的生成的配置cmd文件。如:-1 hellocfg.cmdYour Code .從項(xiàng)目中刪除vectors.asm源文件。因?yàn)橛布袛嗫梢酝ㄟ^(guò)DSP/BIOS設(shè)置,不需要單獨(dú)的處理。從項(xiàng)目中刪除rts6400.lib文件。這個(gè)庫(kù)已經(jīng)被hellocfg.cmd自動(dòng)引用了。選擇Project->Save保存對(duì)項(xiàng)目的更改。建議在編譯和運(yùn)行項(xiàng)目前,先保存修改。選擇Project->Rebuild
25、All。經(jīng)過(guò)以上修改,項(xiàng)目變化為:第六步:在CCS的Simulator環(huán)境下測(cè)試工程選擇File->Load Program,選中hello.out,確定。選擇DSP/BIOS->Message Log,出現(xiàn)窗口:在Log窗口按右鍵,選擇屬性,把輸出文件指定到hello.txt,用來(lái)保存結(jié)果,便于以后查看。選擇Debug->Go Main,然后F10,單步運(yùn)行。觀察Log窗口的輸出。在Log窗口,按右鍵選擇close,關(guān)閉窗口。重新Load程序,按F4。運(yùn)行程序,等待一會(huì)兒,再按結(jié)束,中止程序運(yùn)行。File->Open,然后在Debug目錄中選擇hello.txt,打開(kāi)
26、查看,內(nèi)容和窗口的輸出是一樣的,都是hello world!第七步:評(píng)估DSP/BIOS輸出函數(shù)LOG_printf()的執(zhí)行時(shí)間(周期數(shù))在這個(gè)步驟中,我們利用CCS的Profiling工具來(lái)評(píng)估LOG_printf()函數(shù)需要的指令周期數(shù)目,并且和printf()和put()函數(shù)對(duì)比。選擇File->Reload Program。選擇Profiler->Start New Session,彈出Proliler session窗口,接受默認(rèn)的名稱MySession,確認(rèn)。如果出現(xiàn)錯(cuò)誤,可以禁用RTDX功能。在MySession的窗口中,選擇Ranges選項(xiàng)。雙擊hello.c文件
27、,在Project View中打開(kāi)源文件。高亮調(diào)用LOG_printf函數(shù)的語(yǔ)句。用鼠標(biāo)拖曳到MySession Profile窗口中。MySession Profile窗口得到如下設(shè)置。時(shí)間的行號(hào)(line 28)可能會(huì)有所不同。按下“Run”按鈕,或按F5運(yùn)行程序。在MySession Profile窗口,觀察Incl. Total column.(由于這個(gè)函數(shù)只執(zhí)行一次,所以Total、Maximum和Minimum是相同的)The Incl.Total的含義:這個(gè)參數(shù)是用來(lái)表示從匯編指令執(zhí)行到這一行的開(kāi)始到執(zhí)行結(jié)束所需要的指令周期數(shù)目。比較LOG_printf()函數(shù)和puts()函數(shù)
28、的指令周期數(shù)目。結(jié)論:經(jīng)過(guò)對(duì)比發(fā)現(xiàn),LOG_printf()函數(shù)比puts()函數(shù)的效率高很多。實(shí)際的指令周期數(shù)目和DSP芯片的型號(hào)有關(guān)。調(diào)用LOG_printf()函數(shù)效率高的原因是字符串的格式化工作在主機(jī)(PC)完成,而不是目標(biāo)板(DSP)上完成,所以說(shuō),LOG_printf()函數(shù)效率非常高。4實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)數(shù)據(jù)記錄1、打開(kāi)已有的Hello World工程,評(píng)估stdio.h的運(yùn)行效率,即put()函數(shù)的性能;2、在Hello World基礎(chǔ)上,創(chuàng)建一個(gè)基于DSP/BIOS的Hello World工程;3、評(píng)估DSP/BIOS的輸出函數(shù)性能,即LOG_printf()函數(shù)運(yùn)行的指令周期。
29、5實(shí)驗(yàn)程序或?qū)嶒?yàn)數(shù)據(jù)處理與分析完成實(shí)驗(yàn)內(nèi)容,運(yùn)行成功,得到輸出結(jié)果如以下表格:運(yùn)行一次所需要的指令周期數(shù)(單位:個(gè))put()函數(shù)1700LOG_prinrt()函數(shù)36printf()函數(shù)2255分析:經(jīng)過(guò)對(duì)比發(fā)現(xiàn),LOG_printf()函數(shù)比puts()函數(shù)效率高很多。實(shí)際的指令周期數(shù)目和DSP芯片型號(hào)有關(guān)。由于調(diào)用LOG_printf函數(shù)式字符串的格式化工作在主機(jī)PC完成,而不是在目標(biāo)板DSP上完成的,所以調(diào)用LOGprintf函數(shù)效率高很多。實(shí)驗(yàn)相關(guān)數(shù)據(jù):1)error2)創(chuàng)建DSP/BIOS的配置文件3) 測(cè)試工程4) puts函數(shù)提示5) printf函數(shù)6)LOG_printf
30、函數(shù)6質(zhì)疑、建議、問(wèn)題討論 通過(guò)實(shí)驗(yàn)也進(jìn)一步熟練了對(duì)CCS軟件的使用,熟悉CCS環(huán)境下DSP/BIOS軟件的創(chuàng)建和使用以及學(xué)會(huì)了怎么在CCS環(huán)境下對(duì)代碼的運(yùn)行效率和性能做出正確的評(píng)估和分析。本次實(shí)驗(yàn)要特別小心的選擇正確的芯片型號(hào)以及對(duì)應(yīng)庫(kù),否則操作時(shí)將會(huì)出現(xiàn)問(wèn)題。福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院信息工程類實(shí)驗(yàn)報(bào)告系: 電子信息工程 專業(yè): 電子信息工程 年級(jí): 10 姓名: 學(xué)號(hào): 實(shí)驗(yàn)課程: DSP 實(shí)驗(yàn)室號(hào): 田C513 實(shí)驗(yàn)設(shè)備號(hào): 17 實(shí)驗(yàn)時(shí)間: 2013-11-15 指導(dǎo)教師簽字: 成績(jī): 實(shí)驗(yàn)五 利用BIOS調(diào)試程序1實(shí)驗(yàn)?zāi)康暮鸵笸ㄟ^(guò)對(duì)一個(gè)工程的調(diào)試,了解多線程的調(diào)度方法;學(xué)會(huì)查看
31、程序性能的方法;學(xué)習(xí)更多的BIOS調(diào)試工具,如Execution Graph,the real-time analysis controlpanel (RTA Control Panel),the Statistics View,and the CLK(clock),SWI(software interrupt),STS(statistics),and TRC(trace)等模塊。注意:如果使用的是C6416 target,DSP/BIOS的實(shí)時(shí)分析工具只能在停止模式下才能更新數(shù)據(jù)。因此,分析數(shù)據(jù)只有當(dāng)?shù)竭_(dá)斷點(diǎn)或者掛起的時(shí)刻才能送往主機(jī)PC顯示分析。DSP/BIOS的一些功能,如CPU Loa
32、d Graph,需要有硬件的CPU才能運(yùn)行。2主要儀器設(shè)備(實(shí)驗(yàn)用的軟硬件環(huán)境)CCS2.2環(huán)境,C64XX Device Simulator3操作方法與實(shí)驗(yàn)步驟第一步:打開(kāi)一個(gè)已有的工程在C:timyprojects目錄創(chuàng)建volume2文件夾。把C:titutorialsim64xxvolume2文件夾的所有文件拷貝到這個(gè)新建的目錄中。啟動(dòng)CCS。選擇Project->Open,選擇volume.pjt文件,按Open。展開(kāi)項(xiàng)目,觀察文件的內(nèi)容,有:volume.pjt、DSP/BIOS Config、and Source。volumecfg.cmd文件是創(chuàng)建的一個(gè)配置文件,包含了大
33、量的DSP / BIOS的頭文件。這個(gè)工程文件包含的文件有:volume.cdb:配置工具生成的配置文件。volume.c:包含main()的C語(yǔ)言程序源文件。 volume.h:C語(yǔ)言程序源文件所需要的頭文件夾。load.asm:匯編文件。volumecfg.cmd:配置工具生成的連接命令文件。volumecfg.h:配置工具生成的包含對(duì)象聲明的頭文件。volumecfg.s62:配置工具生成的匯編源文件。volumecfg.h62:配置工具生成的C語(yǔ)言頭文件。volumecfg_c.c:包含芯片支持庫(kù)的程序文件。第二步:查看源代碼#include <std.h>#include
34、 <log.h>#include <swi.h>#include "volumecfg.h"#include "volume.h"/* Global declarations */Int inp_bufferBUFSIZE; /* processing data buffers */Int out_bufferBUFSIZE;Int gain = MINGAIN; /* volume control variable */Uns processingLoad = BASELOAD; /* processing routine lo
35、ad value */* Functions */extern Void load(Uns loadValue);Int processing(Int *input, Int *output);Void dataIO(Void);Void main() LOG_printf(&trace,"volume example startedn"); /* fall into DSP/BIOS idle loop */ return;Int processing(Int *input, Int *output) Int size = BUFSIZE; while(size-) *output+ = *input+ * gain
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年四年級(jí)英語(yǔ)下冊(cè) Unit 3 What can you see第2課時(shí)說(shuō)課稿 湘少版
- 7《美麗的化學(xué)變化》說(shuō)課稿-2023-2024學(xué)年科學(xué)六年級(jí)下冊(cè)教科版
- 2025計(jì)算機(jī)購(gòu)銷合同樣書(shū)
- 2025勞動(dòng)合同法課程學(xué)習(xí)指南
- 2024年高中化學(xué) 專題3 常見(jiàn)的烴 第一單元 第1課時(shí) 脂肪烴的類別、烷烴說(shuō)課稿 蘇教版選修5001
- 2憲法是根本法 第一課時(shí) 感受憲法日(說(shuō)課稿)-部編版道德與法治六年級(jí)上冊(cè)
- 醫(yī)療試劑合同范例
- 包工項(xiàng)目合同范本
- 化妝店加盟合同范例
- 2024-2025學(xué)年高中地理 第二章 區(qū)域可持續(xù)發(fā)展 2.4 農(nóng)業(yè)的可持續(xù)發(fā)展-以美國(guó)為例說(shuō)課稿 湘教版必修3
- 唐山動(dòng)物園景觀規(guī)劃設(shè)計(jì)方案
- 中國(guó)版梅尼埃病診斷指南解讀
- 創(chuàng)業(yè)投資管理知到章節(jié)答案智慧樹(shù)2023年武漢科技大學(xué)
- 暨南大學(xué)《經(jīng)濟(jì)學(xué)》考博歷年真題詳解(宏觀經(jīng)濟(jì)學(xué)部分)
- GB/T 8014.1-2005鋁及鋁合金陽(yáng)極氧化氧化膜厚度的測(cè)量方法第1部分:測(cè)量原則
- eNSP簡(jiǎn)介及操作課件
- 公文與公文寫(xiě)作課件
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第七章運(yùn)動(dòng)技能的協(xié)調(diào)控制
- 節(jié)后復(fù)工吊籃驗(yàn)收表格
- 醫(yī)療器械分類目錄2002版
- 氣管套管滑脫急救知識(shí)分享
評(píng)論
0/150
提交評(píng)論