DSP技術(shù)術(shù)實(shí)驗(yàn)報(bào)告_第1頁(yè)
DSP技術(shù)術(shù)實(shí)驗(yàn)報(bào)告_第2頁(yè)
DSP技術(shù)術(shù)實(shí)驗(yàn)報(bào)告_第3頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

福計(jì)算機(jī)與信息學(xué)院信息工程類(lèi)實(shí)驗(yàn)報(bào)告課程名稱:DSP技術(shù)姓名:系:電子信息工程專業(yè):電子信息工程年級(jí):學(xué)號(hào):指導(dǎo)教師:職稱:講師2011年11月21日實(shí)驗(yàn)項(xiàng)目列表實(shí)驗(yàn)項(xiàng)目名稱成績(jī)指導(dǎo)教師1實(shí)驗(yàn)1匯編語(yǔ)言、體系結(jié)構(gòu)和CCS2實(shí)驗(yàn)2C6000流水線和C運(yùn)行時(shí)環(huán)境3實(shí)驗(yàn)3C6000代碼優(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é)院信息工程類(lèi)實(shí)驗(yàn)報(bào)告系:電子信息工程專業(yè):電子信息工程年級(jí):2010級(jí)姓名:學(xué)號(hào):實(shí)驗(yàn)課程:實(shí)驗(yàn)室號(hào):田C513實(shí)驗(yàn)設(shè)備號(hào):實(shí)驗(yàn)時(shí)間:2013.10.18指導(dǎo)教師簽字:成績(jī):實(shí)驗(yàn)1匯編語(yǔ)言、體系結(jié)構(gòu)和CCS實(shí)驗(yàn)?zāi)康暮鸵笫煜SP軟件開(kāi)發(fā)環(huán)境CCS的使用。熟悉CCS中的C語(yǔ)言編程。了解C6000DSP的匯編語(yǔ)言。2.主要儀器設(shè)備(實(shí)驗(yàn)用的軟硬件環(huán)境)安裝了CCS2.0的計(jì)算機(jī),采用simulator配置文件sim6201_simulator.cfg3.操作方法與實(shí)驗(yàn)步驟1、配置CCS打開(kāi)桌面程序SetupCCS2('C6000)”,采用simulator配置文件sim6201_simulator.cfg,配置完成后保存。2、實(shí)驗(yàn)內(nèi)容1操作步驟:打開(kāi)CCS:打雙擊桌面程序:SetupCCS2('C6000),配置CCS,選C6xxx;配置好后,打開(kāi)桌面程序:CCS2('C6000);打開(kāi)工程文件:把文件夾tutorial\sim62xx\hello1拷貝到myproject下;單擊菜單Project->Open,打開(kāi)hello.pjt,選擇支持庫(kù)rts6200.lib編譯程序:菜單Project->build或rebuild加載程序:菜單File->LoadProgram,選擇Debug下的.out文件裝入目標(biāo)板gomain:菜單Debug->gomain,執(zhí)行到main()處暫停執(zhí)行程序:Debug->Run設(shè)置斷點(diǎn):Togglebreakpoint單步執(zhí)行:Step(兩種:C和匯編)觀察變量:菜單Edit->Variable觀察存儲(chǔ)器:菜單Edit->Memory測(cè)試函數(shù)執(zhí)行的CLK:Profiler->ViewClock混合代碼顯示:View->MixedSource/ASM3、自行完成實(shí)驗(yàn)內(nèi)容2的操作。4、自行完成實(shí)驗(yàn)內(nèi)容3的編程及編譯、目標(biāo)程序的加載和執(zhí)行,觀察c=a*b對(duì)應(yīng)的匯編代碼,并解釋該匯編代碼。實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)數(shù)據(jù)記錄新建一個(gè)project,把tutorial\sim62xx\hello1的文件添加進(jìn)去,完成其

功能。練習(xí)CCS的基本操作:加載程序、gomain、執(zhí)行程序、設(shè)置斷點(diǎn)、單步執(zhí)行、觀察變量、觀察存儲(chǔ)器、測(cè)試函數(shù)執(zhí)行的CLK、混合代碼顯示。打開(kāi)tutorial\sim62xx\volume1的項(xiàng)目文件,完成圖形方式觀察變量、設(shè)置探點(diǎn)、GEL控制變量、FILEIO、動(dòng)畫(huà)顯示輸入輸出的功能。然后單步執(zhí)行l(wèi)oad.asm,觀察C代碼調(diào)用、寄存器的變化、測(cè)試函數(shù)執(zhí)行時(shí)間、如何循環(huán)和返回C代碼。解釋如何在C6201上實(shí)現(xiàn)32bitint乘32bitint,結(jié)果是32bitint的過(guò)程:在剛才的hello1中設(shè)置3個(gè)全局變量inta=0x10008;intb=56;intc;在main函數(shù)中執(zhí)行語(yǔ)句c=a*b;build后加載執(zhí)行程序,混合代碼顯示c=a*b對(duì)應(yīng)的匯編代碼,解釋之。實(shí)驗(yàn)程序或?qū)嶒?yàn)數(shù)據(jù)處理與分析配置CCSI?-Illi?My13*Locadan■Rcr^slcripion-口網(wǎng)My13*Locadan■Rcr^slcripion-口網(wǎng)ill.[OluKIWMTiOSa打開(kāi)CCSn軍向c叮I令1[dn軍向c叮I令1[dK字0略1日-iFHl;M1|,、b每,1if電/C&cocSir-ulatori^CPU.l-CfiiJjciii^rnuJrtDr-Cod-Cwnpoce--S^t-dicPiitLdit胃ewPrcyecflDebug理WleirGLLOptionTools.PBCMP/HbO^jMiridcn*'Mdp占firiH1凸E叫四_劇占「.靴f?r伽臨amiiiFLINUM3UHALTED打開(kāi)工程文件:①把文件夾tutorial\sim62xx\hello1拷貝到myproject下;②單擊菜單Project->Open,打開(kāi)hello.pjt,選擇支持庫(kù)rts6200.libCodeComposerStudioCannotfind,|C:\cEQOO\cCtoolEUib\TlxB200.1il>IpiertAllIpiertAll編譯程序:菜單Project->build或rebuild〈Linking〉BuildComplete0Errorsf0同甘mitigs’0Remarks,|湖〈IH=Build/CPUHALTED[一|For卜加載程序:菜單File->LoadProgram,選擇Debug下的.out文件裝入目標(biāo)板gomain:菜單Debug->gomain,執(zhí)行至Ugomain:菜單Debug->gomain,執(zhí)行至Umain()處暫停mu:.jGELfilesEl=3Projects=1?女hellQ.pjl(&eb<IDepende-nl-:□D5P/BIO5G=■■.JGeneratedFRl■~lrridudr-Its2jLibyanr-?中■Sourcei;+&hellos,匚,r^HJvr?idnLizn(i#ifdefFILEIOintctiarchar5iz^_tFILEtadifi:6canStr[BUFSIZEl;fjlBStr[BUFSrZE];rendWi5:*fpTT;wrrittastringtostdoutputs(,phe]1o>?nTldi\n")二WiidsfFlLEE*/-hl】號(hào)cmrhftrnr-rn^rR■r*執(zhí)行程序:Debug->Run窗舊W若冬s1C叩「?守|「--;W噂Mmpjt習(xí)|nf73熊*■.書(shū)%%庫(kù)Sirr_ildtor,i,'CPU_l-CfiJjartmLstorJ-CDd-CompoEfSt-dic-|Esas^rib^'lO£'■=£,dil蘭Projectð_gProiler#1OpfeafiJoals,PftCD&PyBIOS-安indowiHelp9由_JC5EIL禮,3」Prqedi身helkqpjtCD站L偉吾甲廿料金鬻=_「□芝p—dwElRrcyBCtTi;ijd#岬osei_dF*=j1nlibrgrt^E■SaureeOC003FE400D01FBSO0DO3FBCOODOdFCO靖OOQO3FCO□ODO1FC4□CDO3FCaOCDO3FCC00QQ1FMOOOOiOlOCDOdF£d0DQ03FM□EOaiFED00DOJFMonoriiFE^00QO^FIA■nnoniFFP!!l06E^.2EeII053€9?E6000D6000_cbart:DOIDDO:UODODUQO^ODOITD0OOODOODOC00ooooo:orQQOQQQQQJOODOUOODDOQO0C.Eg的00900940600D1C90|[Al]|022D7A2BIIm>\D:T2iw.dztzHOFHOPB.S1HDFHOPWOPt:QFEDPWV.BlE.S1MVICSFE?Pi-TiSWFWE]上]3?**SF[Di4J.B1D4□B-3FC4A4kALOff40C4QE4N4.B4古”-qp--inr4lh.eltoKirId<||肝心號(hào)grt.ILlBHIonMMa>一][far*1艮prauFl£■皿&iJjk?—[]I】設(shè)置斷點(diǎn):Togglebreakpoint*■■■■■■■;=main?官??????LJGELfiles色jPrajp-rtc勺LJGELfiles色jPrajp-rtc勺名Mllspjt(Dwbi(JOtp+ndentFL_lDSP/BIOSCiIILELJIncludeElLJLibrarimr-l-!~i)^crnrce"^1hsllo.cktfifdefFILEJOinti;charecsmS-r(BUFSIZE];ehdrfil^Scr[BUFSIZE]:stze_treadsize;FILE"*fptr;#^ndifwnteastringtostdoutpnt£(11hi&lloworld1-JiiaJ:LifdefFILEIOIT1hr-F1】L—W/單步執(zhí)行:Step(兩種:C和匯編)L。。_J④3337鼻pFILE*fpi:r:tfendifwrite>stringto:tdout*■@puts("hallo^ijarldiMir'):AifdefFILEIO?cleorLzhirdrr'for(£=0;i<0UFSTZE;i++){自口中11寫(xiě)七1\1]=Q/'*H臼*LlsiStri-□;00003FC0C0D03FC000000000NOPCQ003FC400000090E+S100003FC800008000NOP00003FCC00000000NOP00O03FD0oooooaooNOP00003FD4oooooaooNOPCQ003FD300000130NOPCQ003FDC00000000NOPCQ003FE0_fflush:C0D03FE000900940MV.DI00003FE460001C90[Al]B.S10Q003FE302207A2BMVK.S2CQ003FEC0d3C94F411S1W.D2T1LQ003FFD02000Q6BMVKH.S200003FF406BC62F711STO.D2T2C62?(Registers■Type。*.tcn0x3FC45A4.AL0器4史4Ox4af4,B:4AL2,?SP--[0k4]0x00in0,B4BLS^+SP[0x3]AOAlA2A3A4ASA6A7AS

g=OOOa4C8D=oooaoooo-oooaooai-FFFFFFFF=FFFFFFFF=ooonoooi=oooaoooo三oooaoooi=BC030E50=Rnrinnn^iR012345678Q=8000□f▲=ooooocn=3000OF=-000031=000031=00004C=00000(w80000^=0OOOOS=nnnnn:"in(8)觀察變量:菜單Edit->Variable(9)觀察存儲(chǔ)器:菜單Edit->Memory(10)測(cè)試函數(shù)執(zhí)行的CLK:Profiler->ViewClockClock=0(11)混合代碼顯示:View->MixedSource/ASM£1宅*_匚FILE#er.difreaciSiz^;*fptr;/*Tflriihasir]uytoputs["holloworldFJOOWCWOFFCAO10□0004C^SULA62EZA00004C4C02019226rmnri4「unni日nmri硒□0004C54D24000&S□oaD4cranjrnninnostdoui."E.S1MVK.S2MYK.S1S2w新qNOP_puts。湘364,真4g「0-LE30x8叩叩叩#i£defFILEID?clearciararrays號(hào)/for(i-Oi;i<EUiSIZE;管L—nrFi1=ni-i*j{lip111iFlMTrl1M-.vn十/腎f-?『Trim■/自行完成實(shí)驗(yàn)內(nèi)容3的編程及編譯、目標(biāo)程序的加載和執(zhí)行,觀察c=a*b對(duì)應(yīng)的匯編代碼,并解釋該匯編代碼rr=ci"b;戶"c■-汨七口,;#i£d&£FILERir.ti;characatiS-Lr"BCFEIZE1;C=Qhel1qworld16.質(zhì)疑、建議、問(wèn)題討論通過(guò)此次實(shí)驗(yàn),使我熟悉了DSP軟件開(kāi)發(fā)環(huán)境CCS的使用,熟悉CCS中的C語(yǔ)言編程,并且初步了解C6000DSP的匯編語(yǔ)言福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院信息工程類(lèi)實(shí)驗(yàn)報(bào)告系:電子信息工程專業(yè):電子信息工程年級(jí):姓名:學(xué)號(hào):1實(shí)驗(yàn)課程:實(shí)驗(yàn)室號(hào):實(shí)驗(yàn)設(shè)備號(hào):實(shí)驗(yàn)時(shí)間:指導(dǎo)教師簽字:成績(jī):實(shí)驗(yàn)2C6000流水線和C運(yùn)行時(shí)環(huán)境實(shí)驗(yàn)?zāi)康暮鸵笫煜SP軟件開(kāi)發(fā)環(huán)境CCS的使用。熟悉C6000中的C運(yùn)行時(shí)環(huán)境。2.主要儀器設(shè)備(實(shí)驗(yàn)用的軟硬件環(huán)境)安裝了CCS2.0的計(jì)算機(jī),采用simulator配置文件sim6201_simulator.cfg操作方法與實(shí)驗(yàn)步驟1)打開(kāi)ccs6000的C運(yùn)行時(shí)的環(huán)境;2)雙擊桌面程序SetupCCS2(6000),配置CCS,選擇C6xxx;3)配置好后,打開(kāi)桌面程序CCS2(6000);4)把文件夾tutorial\sim62xx\hello1拷貝到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é)果。實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)數(shù)據(jù)記錄采用simulator配置文件sim6201_simulator.cfgHellol中添加1個(gè)C文件sop_c.c,該文件是一個(gè)乘法累加的子函數(shù)sop_c(short*a,short*x,int*y,intn),然后在main函數(shù)中調(diào)用。不選擇任何優(yōu)化選項(xiàng)。用混合代碼顯示,在匯編層次執(zhí)行sop_c子函數(shù),觀察調(diào)用、執(zhí)行和返回的過(guò)程。用匯編語(yǔ)舌實(shí)現(xiàn)兩個(gè)數(shù)組a(n)和x(n)的乘法累加功能。匯編文件名為:sop_asm.asm,主函數(shù)C中調(diào)用格式:intsop_asm(short*a,short*x,intn)。實(shí)驗(yàn)程序或?qū)嶒?yàn)數(shù)據(jù)處理與分析在Hellol中添加文件sop_c.c在mian函數(shù)中調(diào)用:J;J;uh己rsize_tFILE-ndi£酸RIh■UGEUIcjEJProjectsH-jji肽1由p|t(TMbug)_|DeperdeniPto」DSP/BiOSConfJ>bcner3tedFik:Etl一|IrcLd*?ffl-_|libraries日…閔hello,e?當(dāng)wop.awwsi為sop玨匚Ijjvectors.日5m,.眉W.mdfileStr[EUFSIZE];readSize;*fptr;shorta[3]-{1,2,3};shortz[3]-{4,5,6};intn-3;mtyfz;z?writs己stringtostdout*/puts("K&llowcirldl\n"):令.鼠,n);printf("y=^dMi";在Hellol中添加文件sop_asm.asm.globalsup_asiiiI"Kip^asin:ZERO,Dlfta:清等MVtS2XA6.皿:循環(huán)次數(shù)放于如r.oop:LDHD1T1*K4++-祜二床骯位半字LD[[D2T2""十血NOP4MPY.NIXA5>3&,再2;兩個(gè)半字相辛EOFAIWAilAC,跑.MlSUB.L2BCLLECk餡必&數(shù)減L[B0]B.SILOOP也以為0跳轉(zhuǎn)NOP5IMV,L1AO演呢把乘話昆加的始果敕于A4.財(cái)id在main函數(shù)中調(diào)用cnarscan^trLtturj;charfiLeStr[BUFSIZE]:size_treadSizH:FILE*fptr;#eiLdi£shorta[3]={1,2,3};shortx[3]=(4,5,6};intn-3:intyrz:/*writeastringtostdout*/puts("he1loworld!\nM;y=sop_c;printf("y=^d^n",y);z=sop_asm(a,x,n);printf("2?^d\n"凡):#ifdefFILEIO/*r:lf:haratt日i爐*/3)實(shí)驗(yàn)處理:fLmk偵址HuildCixiipletcj_口Error::CWoilll^s,0ternaries.6.質(zhì)疑、建議、問(wèn)題討論由丁對(duì)c6000的使用還不是太熟悉,所以操作中還是不太熟練,而且在編寫(xiě)代碼時(shí)也有些不必要的錯(cuò)誤,但進(jìn)過(guò)細(xì)心的觀察,最終找到錯(cuò)誤并改正,今后應(yīng)該注意,此次實(shí)驗(yàn)使我熟悉DSP軟件開(kāi)發(fā)環(huán)境CCS的使用,熟悉C6000中的C運(yùn)行時(shí)環(huán)境。福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院信息工程類(lèi)實(shí)驗(yàn)報(bào)告系:電子信息工程專業(yè):電子信息工程年級(jí):姓名:學(xué)號(hào):實(shí)驗(yàn)課程:實(shí)驗(yàn)室號(hào):實(shí)驗(yàn)設(shè)備號(hào):實(shí)驗(yàn)時(shí)間:指導(dǎo)教師簽字:成績(jī):實(shí)驗(yàn)3C6000代碼優(yōu)化1.實(shí)驗(yàn)?zāi)康暮鸵笫煜SP軟件開(kāi)發(fā)環(huán)境CCS的使用。掌握CCS中的C語(yǔ)言編程。熟悉C6000DSP的代碼優(yōu)化過(guò)程。2.主要儀器設(shè)備(實(shí)驗(yàn)用的軟硬件環(huán)境)安裝了CCS2.0的計(jì)算機(jī),采用simulator配置文件sim6201_simulator.cfg操作方法與實(shí)驗(yàn)步驟1)打開(kāi)ccs6000的C運(yùn)行時(shí)的環(huán)境;2)雙擊桌面程序SetupCCS2(6000),配置CCS,選擇C6xxx;3)配置好后,打開(kāi)桌面程序CCS2(6000);4)把文件夾tutorial\sim62xx\hello1拷貝到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é)果。實(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)化。要求:⑴使用LDW和MPY,MPYH指令;對(duì)丁C64可以使用擴(kuò)展乘法指令。(2)畫(huà)出相關(guān)圖和模迭代間隔表。實(shí)驗(yàn)程序或?qū)嶒?yàn)數(shù)據(jù)處理與分析實(shí)現(xiàn)16位數(shù)組乘法函數(shù)在hello.c中添加文件sop_c.cint(shorth[],shortc[],intn){一intsiiniOi;suin0=0;suiul=0;for(i=0;i<n;i*=2)□umO-i-=b[i]*c[i]:snnl+=b[1+1]*c[1+1];}return(sum):2)在main函數(shù)中的調(diào)用rill*tp^r;#endifshortb[3]-{l,2,3}:shortc[3]={4,5,6)■;int.n=3;inty:/*write占stringtostdout*/puts("he1Ioworl?d!Mi);y-sop_c(b,c,n1;print?(,,y=^d\n1\y);3)編譯運(yùn)行結(jié)果helloworldIy=32優(yōu)化1)線性匯編優(yōu)化sop_sa.sa.gioha1_sop_sa_sop_G^i:.cpi'oca,h^cntr.rwgai_i1,bi_Ll.pi,pi1,sumO,stitnlZERO5iaiuQNEROsumlLOOP;LDW*a++-ei_i1LDW*b++.fciZi1MFYan_i1MFYHai_i1,bz_i1.pi1ADDpi,sum0,sumOADDpi1,sKJin1,buhl1[mtr]SUBcntr,1,c-n^r[cntr]BLOOPADDsuruO^sumlrsumOreturnsum0,endproc2)在main函數(shù)中的調(diào)用#en.diFshQTtb[3]={Lr2,3};shorto[3]={456};intn-3;inty;intyy;i^rite己stringtostdout近/puts("helloviorld!\n");y=泗p_o(b,c,ii);printf("y=^d\n",y);yy=sop_E3i(h,c,n):printf("yy^^rivn".yy):|3)編譯運(yùn)行結(jié)果helLoworld!y-32yy=32匯編優(yōu)化sop_asm.asm.glcbail_sop_asinGop_a&m:.te^t3.A1.LIA7.L23.A1.LIA7.L2B7LOOP:LDW.DI*A4++.A2LDW?D2*B4++,B2SUB,SLA1,1,A1[A1]B.SILOOPmp2MPYMIXA2,B2.A6||MPYU?MZXA2,B2,E6NOPADD.LIA6,A7,A7||ADD.L2B6,B7,B7ADD,L1XA7,B7,A4.end5)在main函數(shù)中的調(diào)用y=scp_c:,iij;print?("y-^d\n",y);yy-sop_sa(c^d^n);printf("yy=^\n"^yy);yy1=sc?p_asiTi(u.d.n);printf("yyl=^d\n",yyl);編譯運(yùn)行結(jié)果he1loworldIy-32yy=32yyl?326.質(zhì)疑、建議、問(wèn)題討論通過(guò)此次實(shí)驗(yàn),進(jìn)一步熟悉DSP軟件開(kāi)發(fā)環(huán)境CCS的使用,也知道并且熟悉C6000DSP的代碼優(yōu)化過(guò)程,但還是發(fā)現(xiàn)自己在編寫(xiě)改進(jìn)程序上能力不足,今后一定加強(qiáng)這方面的練習(xí)。福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院信息工程類(lèi)實(shí)驗(yàn)報(bào)告系:電子信息工程專業(yè):電子信息工程年級(jí):姓名:學(xué)號(hào):實(shí)驗(yàn)課程:實(shí)驗(yàn)室號(hào):實(shí)驗(yàn)設(shè)備號(hào):實(shí)驗(yàn)時(shí)間:指導(dǎo)教師簽字:成績(jī):實(shí)驗(yàn)4利用BIOS創(chuàng)建工程及性能分析實(shí)驗(yàn)?zāi)康暮鸵笸ㄟ^(guò)創(chuàng)建基丁DSP/BIOS的HelloWorld工程實(shí)例,熟悉CCS環(huán)境下DSP/BIOS軟件的創(chuàng)建和使用方法。熟悉在CCS環(huán)境下對(duì)代碼的運(yùn)行效率和性能作出評(píng)估的工具和方法。實(shí)驗(yàn)要求完成實(shí)驗(yàn)內(nèi)容,運(yùn)行成功,得到輸出結(jié)果,填寫(xiě)以下表格,并作出對(duì)比分運(yùn)行一次所需要的指令周期數(shù)(單位:個(gè))put()函數(shù)1700LOG_prinrt()函數(shù)36printf()函數(shù)25302.主要儀器設(shè)備(實(shí)驗(yàn)用的軟硬件環(huán)境)安裝了CCS2.0的計(jì)算機(jī),采用simulator配置文件sim6201_simulator.cfg操作方法與實(shí)驗(yàn)步驟第一步:打開(kāi)已有工程并運(yùn)行1、在C:\ti\myprojects目錄里面創(chuàng)建hellobios目錄。2、把C:\ti\tutorial\sim64xx\hello1里的全部文件拷貝到這個(gè)新的目錄下面。3、如果CCS還沒(méi)有啟動(dòng),啟動(dòng)CCS環(huán)境,Setup里面設(shè)置為C64xxDeviceSimulator。4、選擇Project->Open,打開(kāi)這個(gè)工程,工程的項(xiàng)目文件目錄為:C:\ti\myprojects\hellobios,項(xiàng)目名稱是hello.pjt。5、若提示以下錯(cuò)誤,選擇Browse,選擇目錄:C:\ti\C6000\cgtools\lib\rts6400.lib,打開(kāi)工程。6、編譯,運(yùn)行工程,查看結(jié)果,應(yīng)該是輸出helloworld字符。第二步:評(píng)測(cè)stdio.h中輸出函數(shù)put()的執(zhí)行時(shí)間(周期數(shù))1、新建一個(gè)Profiler,選擇Profiler->StartNewSession,名稱為MySession,確定。2、出現(xiàn)Session窗口,選擇Range欄。如下所示,出現(xiàn)hello.out。3、用鼠標(biāo)拖曳,高亮put()函數(shù),如下所示:4、按住鼠標(biāo),拖曳到Range窗口里面,出現(xiàn):5、重新Load程序,運(yùn)行,得到運(yùn)行結(jié)果如下:6、結(jié)論:采用put()函數(shù)輸出一次的指令周期數(shù)是:1700。7、采用同樣方法,測(cè)試printf()函數(shù)的指令周期數(shù)目:8、記錄put()函數(shù)和printf()函數(shù)需要的指令周期數(shù)到表格,用來(lái)和下面實(shí)驗(yàn)的結(jié)果對(duì)比。第三步:編輯源代碼1、在CCS里,關(guān)閉hello.c窗口。2、用WindowsExplorer把C:\ti\tutorial\sim64xx\hello2目錄里的hello.c文件拷貝到C:\ti\myprojects\hellobios目錄。按Yes覆蓋原來(lái)已經(jīng)存在的hello.c文件。hello2例中采用DSP/BIOS函數(shù)來(lái)替代hello1例中的標(biāo)準(zhǔn)C函數(shù)的put()輸出函數(shù)。3、雙擊hello.c文件,在ProjectView窗口打開(kāi)源文件。4、注意新代碼的幾點(diǎn)問(wèn)題:#include<std.h>#include<log.h>#include"hellocfg.h"Voidmain()(LOG_printf(&trace,"helloworld!");/*fallintoDSP/BIOSidleloop*/return;}5、hello.c文件首先包含了std.h和log.h兩個(gè)頭文件。程序如果想使用DSP/BIOSAPI那它必須包含std.h文件以及程序中用到的模塊的對(duì)應(yīng)頭文件。log.h頭文件中定義了LOG_Obj結(jié)構(gòu)以及LOG模塊用的API函數(shù)的聲明。std.h文件必須在其它的DSP/BIOS模塊頭文件之前聲明。其它模塊的頭文件聲明順序不重要。6、代碼接下來(lái)要包含hellocfg.h頭文件,這個(gè)文件在創(chuàng)建并保存DSP/BIOS配置的時(shí)候創(chuàng)建的。下一個(gè)步驟我們就來(lái)創(chuàng)建這個(gè)文件。這個(gè)文件包含了配置文件夾里面的DSP/BIOSobjects的外部聲明。7、hellocfg.h文件也包含了配置文件里定義的DSP/BIOS模塊的頭文件。既然std.h和log.h文件都會(huì)被hellocfg.h文件引用,那么hello.c文件的頭兩行時(shí)間上是冗余的。但是這樣也不會(huì)有任何問(wèn)題。8、調(diào)用LOG_printf的代碼實(shí)際上是傳遞LOGobject對(duì)象(&trace)和helloworld消息的地址。9、最后main()函數(shù)返回,這個(gè)函數(shù)導(dǎo)致程序進(jìn)入DSP/BIOS的Idle循環(huán)。在這個(gè)循環(huán)中,DSP/BIOS等待線程,例如軟件中斷和硬件中斷發(fā)生。在該例中,沒(méi)有其它線程發(fā)生,所以會(huì)一直處丁IDLE狀態(tài)。第四步:創(chuàng)建DSP/BIOS的配置文件2、選擇一個(gè)目標(biāo)模板,根據(jù)芯片選擇,我們選c64xx.cdb,然后按OK。觀察configuration窗口,左邊窗口是模塊的歹U表,可以通過(guò)點(diǎn)擊模塊的+”號(hào)打開(kāi)下級(jí)目錄,也可以按右鍵新建一個(gè)對(duì)象或查看一個(gè)建立好的對(duì)象的屆性。3、點(diǎn)擊Instrumentation目錄左側(cè)的+號(hào),顯示模塊的歹U表。4、郵局選擇LOG—EventLogMannger然后右擊選擇InsertLOG。這個(gè)步驟是創(chuàng)建一個(gè)LOG對(duì)象,名稱為L(zhǎng)OG0。5、右鍵選中LOG0對(duì)象,然后右擊選擇Rename。把LOG對(duì)象改名為trace.6、如果你在使用軟件仿真器,需要設(shè)置RTDX模式為Simulator。選擇RTD。Real-TimeDataExchangeSettings,右鍵,選擇屆性,打開(kāi)對(duì)話框:將RTDXMode設(shè)定為Simulator即可。如果有目標(biāo)板,可以選擇JTAG7、選擇File->Save。保存到當(dāng)前目錄(通常是C:\ti\myprojects\hellobios)命名為hello.cdb,保存這個(gè)配置后,會(huì)生成以下6個(gè)文件:Hello.cdb保存配置的內(nèi)容Hellocfg.cmd鏈接command文件Hellocfg.h包括DSP/BIOS模塊頭文件和配置文件中用到的外部對(duì)象、變量的聲明Hellocfg.s62DSP/BIOS設(shè)置的匯編語(yǔ)言源文件Hellocfg.h62Hellocfg.s62引用到的匯編語(yǔ)言源文件Hellocfg_c.cChipSupportLibrary(OSLO代碼結(jié)構(gòu)和設(shè)置第五步:添加DSP/BIOS文件到工程項(xiàng)目1、選擇Project->AddFilestoProject,在Filesoftype欄目里選擇ConfigurationFile(*.cdb),選中hello.cdb文件后,點(diǎn)Open。注意添加后,hello.cdb出現(xiàn)在PorjectView窗格下目錄DSP/BIOSConfig里。此外,CCS自動(dòng)添加Hellocfg.s62和Hellocfg_c.c文件到生成的目錄下。2、輸出文件名必須和.cdb文件一致。可以通過(guò)Project->BuildOptions打開(kāi)Linker標(biāo)簽查看,確認(rèn)OutputFilename內(nèi)容是.\Debug\hello.out,按OK確定。3、再次選擇Project->AddFilestoProject,選對(duì)LinkerCommandFile(*cmd)在Filesoftype下拉菜單,選擇hellocfg.cmd文件,然后按Open。4、如果看到警告,按Yes。Hello.cmd文件被hellocfg.cmd文件替代,hellocfg.cmd文件是保存DSP/BIOS時(shí)生成的。5、若沒(méi)有警告,直接將hello.cmd文件從項(xiàng)目中刪除。6、你可以自己創(chuàng)建獨(dú)立的cmd文件,但文件中必須引用DSP/BIOS的生成的配置cmd文件。如:-1hellocfg.cmdYourCode7、從項(xiàng)目中刪除vectors.asm源文件。因?yàn)橛布袛嗫梢酝ㄟ^(guò)DSP/BIOS設(shè)置,不需要單獨(dú)的處理。8、從項(xiàng)目中刪除rts6400.lib文件。這個(gè)庫(kù)已經(jīng)被hellocfg.cmd自動(dòng)引用了。9、選擇Project->Save保存對(duì)項(xiàng)目的更改。建議在編譯和運(yùn)行項(xiàng)目前,先保存修改。10、選擇Project->RebuildAll。11、經(jīng)過(guò)以上修改,項(xiàng)目變化為:第六步:在CCS的Simulator環(huán)境下測(cè)試工程1、選擇File->LoadProgram,選中hello.out,確定。2、選擇DSP/BIOS->MessageLog,出現(xiàn)窗口:3、在Log窗口按右鍵,選擇屆性,把輸出文件指定到hello.txt,用來(lái)保存結(jié)果,便丁以后查看。4、選擇Debug->GoMain,然后F10,單步運(yùn)行。觀察Log窗口的輸出。5、在Log窗口,按右鍵選擇close,關(guān)閉窗口。6、重新Load程序,按F4。7、運(yùn)行程序,等待一會(huì)兒,再按結(jié)束,中止程序運(yùn)行。8、File->Open,然后在Debug目錄中選擇hello.txt,打開(kāi)查看,內(nèi)容和窗口的輸出是一樣的,都是helloworld!第七步:評(píng)估DSP/BIOS輸出函數(shù)LOGprintf()的執(zhí)行時(shí)間(周期數(shù))在這個(gè)步驟中,我們利用CCS的Profiling工具來(lái)評(píng)估LOG_printf()函數(shù)需要的指令周期數(shù)目,并且和printf()和put()函數(shù)對(duì)比。1、選擇File->ReloadProgram。2、選擇Profiler->StartNewSession,彈出Prolilersession窗口,接受默認(rèn)的名稱MySession,確認(rèn)。如果出現(xiàn)錯(cuò)誤,可以禁用RTDX功能。3、在MySession的窗口中,選擇Ranges選項(xiàng)。4、雙擊hello.c文件,在ProjectView中打開(kāi)源文件。5、高亮調(diào)用LOG_printf函數(shù)的語(yǔ)句。6、用鼠標(biāo)拖曳到MySessionProfile窗口中。7、MySessionProfile窗口得到如下設(shè)置。時(shí)間的行號(hào)(line28)可能會(huì)有所不同。8、按下Run”按鈕,或按F5運(yùn)行程序。9、在MySessionProfile窗口,觀察Incl.Totalcolumn.(由丁這個(gè)函數(shù)只執(zhí)行一次,所以Total、Maximum和Minimum是相同的)TheIncl.Total的含義:這個(gè)參數(shù)是用來(lái)表示從匯編指令執(zhí)行到這一行的開(kāi)始到執(zhí)行結(jié)束所需要的指令周期數(shù)目。比較LOG_printf()函數(shù)和puts()函數(shù)的指令周期數(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ù)效率非常高。實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)數(shù)據(jù)記錄1、打開(kāi)已有的HelloWorld工程,評(píng)估stdio.h的運(yùn)行效率,即put()函數(shù)的性能;2、在HelloWorld基礎(chǔ)上,創(chuàng)建一個(gè)基丁DSP/BIOS的HelloWorld工程;3、評(píng)估DSP/BIOS的輸出函數(shù)性能,即LOG_printf()函數(shù)運(yùn)行的指令周期。實(shí)驗(yàn)程序或?qū)嶒?yàn)數(shù)據(jù)處理與分析打開(kāi)已有工程并運(yùn)行Filesj□GELAIusf-l-SiProjectsB聲hellorpjt(Debug)-I」DependentPro“口DSP/BTOSConf-_JGeneratedFiles0匚1IndudeLibraries國(guó)口Source;\Qhello.cmd對(duì)hello.pjt編譯并運(yùn)行:<Linkin^>BuildComplet?,0Errors>0Warnings,0Remarks.L14|jlbhBuild廠helloworldI~J~|山RBuild人Stdout!評(píng)測(cè)stdio.h中輸出函數(shù)put()的執(zhí)行時(shí)間MySession窗口將put()函數(shù)拉人ranges中:重新Load程序,運(yùn)行,得到運(yùn)行結(jié)果如下:結(jié)論:采用put()函數(shù)輸出一次的指令周期數(shù)是:1700采用以上方法,測(cè)試printf()函數(shù)的指令周期:將put()語(yǔ)句改成printf()語(yǔ)句,然后拉人ranges中重新Load,得到結(jié)果如下:MySessionProfileZodeSiCowitEn±lZodeSiCowitEn±lImL.M*lael-Mi...Iicl-Av.kollaaidXhd.1.11^<7201253025302530253041■5王Rdrgestfe&p『■-=一■mLJ■=二Jn.pfA結(jié)論:采用printf()函數(shù)輸出一次的指令周期數(shù)是:2530編輯源代碼堂Files_Jl?ELMes—J--DijeLt5堂Files_Jl?ELMes—J--DijeLt5d堂hdlajpjt(Debldgi)Cl片c*:-LJMP/aOSC&nfl~~iGenerat?^Fil?i|2jIndude£-£jLibrary白」Source-i]hdh.ufflvMfift.fiSJTiL*Jhdo/mdcFtrz*.#*!#■#M>iLJf—JL.4ItJhli■袖1口匚】ud自cstd.il>#iiic12h4],h.include"hellQcfer.h1k*?Maiji?zVoidmrU(]LOOpriTitfFhelloTc^rlci1");/?FallintoDSP/BIOS:idl&Imp*/return:!創(chuàng)建DSP/BIOS的配置文件選擇目標(biāo)版:c64xx.cdbE軾iin目館dDetHSgs1657E^tMin.SkokSiae(HAU?);416SystemE-lgInstrumerrtation|+LgScheduling左整Synchronizationl+?埋Input/Output畝切CSL-ChipSupportLibrary創(chuàng)建一個(gè)LOG對(duì)象,名稱為L(zhǎng)OGO,右鍵選中LOG0對(duì)象,然后右擊選擇Rename。把LOG對(duì)象改名為trace.+10System曰--后Instrume-rtation合2)LOG-EventLagManagerQL0G_5ystemtraceQ..目STS-StatisticsObjectManager選擇RTDX—Real-TimeDataExchangeSettings,右鍵,選擇屆性,打開(kāi)對(duì)話框:設(shè)置RTDX模式為Simulator選擇File->Save。保存到當(dāng)前目錄(通常是C:\ti\myprojects\hellobios)命名為hello.cdb對(duì)話框:設(shè)置RTDX模式為Simulator選擇File->Save。保存到當(dāng)前目錄(通常是C:\ti\myprojects\hellobios)命名為hello.cdb,保存這個(gè)配置后,會(huì)生成以下6個(gè)文件:上hello.cdb圖hellocfg.cmdhi]hellocf9.hhellodg.h62ahellocfgs62由h&llocfg_cx5)添加DSP/BIOS文件到工程項(xiàng)目添加hello.cdbrIJGELfiles白€3Projects日.會(huì)hello.pjt(Debug)j-"IDependentProjectp&SP/B1OGConfig\helloxdb斗"VGeneratedFiles圈hdlocfg,s62刮卜一I□c^c;_cc+_JInclude主1"_|Libraries白JSourcehella-.c!rElhella-.c固vectors,asin「?因hello.cmd⑵輸出文件名必須和.cdb文件一致:確認(rèn)OutputFilename內(nèi)容是.\Debug\hello.out,按OK確定。(3)添加hellocfg.cmd文件:并移除hello.cmd文件、vectors.asm源文件、rts6400.lib文件建Fil?HGELfiles由FlPrcjectsii(Dabug>;fIDependentProjects.二pDSP/BIOSContfrg-hellahcdb&■GeneratedFiller…自helloctfg.s&Z…I固htllQtfg.c-c國(guó)_JIncludeLibrariesi_j2Libraries~■-__J5ourcr固h^Hc.c■團(tuán)hdloctQ.cmd⑸RebuildAllc^tl^cwDQxcgtoola^biDXclDe-g-g-o3-frCi/nyprcjsetb/ih11?i-mrlKOa-t'l)*biD+ikr1RB?llccrfl_c-cc:'-tis-jc£'QDOM^gt-ooi)s^bioxcl6e■-?^Deibttg-rlkf">Liakingi>5uiIdC!acnpl□tc,.0ErrorsD^mingc;,□^Dnarkc.Illllfrl^rBM/3Wut/h6)在CCS的simulator環(huán)境下測(cè)試工程選擇DSP/BIOS->MessageLog,出現(xiàn)窗口:在Log窗口按右鍵,選擇屆性,把輸出文件指定到hello.txt,用來(lái)保存結(jié)(2)選擇Debug->Go(2)選擇Debug->GoMain,然后F10,單步運(yùn)行觀察Log窗口的輸出:MessageLogLogMarne:tr^ceIdhellowaddl(3)File->Open,然后在Debug目錄中選擇hello.txt,打開(kāi)查看,內(nèi)容和窗口的輸出是一樣的,都是helloworld!helloiworldI評(píng)估DSP/BIOS輸出函數(shù)LOG_printf()的執(zhí)行時(shí)間(1)選擇Profiler->StartNewSession,彈出Prolilersession窗口,接受默認(rèn)的名稱MySession,確認(rèn)。如果出現(xiàn)錯(cuò)誤,可以禁用RTDX功臺(tái)匕月匕。⑵將LOG_printf函數(shù)的語(yǔ)句拖曳到MySessionProfile窗口中:并運(yùn)行程序結(jié)論:采用LOG_printf()函數(shù)輸出一次的指令周期數(shù)是:36。結(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ù)效率非常高6.質(zhì)疑、建議、問(wèn)題討論本次實(shí)驗(yàn),主要是熟悉CCS環(huán)境下DSP/BIOS軟件的創(chuàng)建和使用方法、熟悉在CCS環(huán)境下對(duì)代碼的運(yùn)行效率和性能作出評(píng)估的工具和方法。在要注意的是本次配置CCS時(shí)要用的是rts6400.lib庫(kù)而不在是rts6200.lib庫(kù)。通過(guò)實(shí)驗(yàn)使我對(duì)代碼有了新的理解。福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院信息工程類(lèi)實(shí)驗(yàn)報(bào)告系:電子信息工程專業(yè):電子信息工程年級(jí):姓名:學(xué)號(hào):實(shí)驗(yàn)課程:實(shí)驗(yàn)室號(hào):實(shí)驗(yàn)設(shè)備號(hào):實(shí)驗(yàn)時(shí)間:5指導(dǎo)教師簽字:成績(jī):實(shí)驗(yàn)5利用BIOS調(diào)試程序?qū)嶒?yàn)?zāi)康暮鸵笸ㄟ^(guò)對(duì)一個(gè)工程的調(diào)試,了解多線程的調(diào)度方法;學(xué)會(huì)查看程序性能的方法;學(xué)習(xí)更多的BIOS調(diào)試工具,如ExecutionGraph,thereal-timeanalysiscontrolpanel(RTAControlPanel),theStatisticsView,andtheCLK(clock),SWI(softwareinterrupt),STS(statistics),andTRC(trace)等模塊。汪息:1、如果使用的是C6416target,DSP/BIOS的實(shí)時(shí)分析工具只能在停止模式下才能更新數(shù)據(jù)。因此,分析數(shù)據(jù)只有當(dāng)?shù)竭_(dá)斷點(diǎn)或者掛起的時(shí)刻才能送往主機(jī)PC顯示分析。2、DSP/BIOS的一些功能,如CPULoadGraph,需要有硬件的CPU才能運(yùn)行。3、實(shí)驗(yàn)要求1)完成實(shí)驗(yàn)內(nèi)容,運(yùn)行成功,得到輸出結(jié)果。2)修改Load數(shù)值(分別為1,100,100),在線程執(zhí)行圖中查看SWI進(jìn)程執(zhí)行時(shí)間。3)修改Load數(shù)值(分別為1,100,100),在線程統(tǒng)計(jì)數(shù)據(jù)表中查看SWI進(jìn)程執(zhí)行時(shí)間(ms),指令周期數(shù)據(jù)。2.主要儀器設(shè)備(實(shí)驗(yàn)用的軟硬件環(huán)境)安裝了CCS2.0的計(jì)算機(jī),采用simulator配置文件sim6201_simulator.cfg3.操作方法與實(shí)驗(yàn)步驟第一步:打開(kāi)一個(gè)已有的工程1、在C:\ti\myprojects目錄創(chuàng)建volume2文件夾。2、把C:\ti\tutorial\sim64xx\volume2文件夾的所有文件拷貝到這個(gè)新建的目錄中。3、啟動(dòng)CCS4、選擇Project->Open,選擇volume.pjt文件,按Open。5、展開(kāi)項(xiàng)目,觀察文件的內(nèi)容,有:volume.pjt、DSP/BIOSConfig、andSource。volumecfg.cmd文件是創(chuàng)建的一個(gè)配置文件,包含了大量的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<log.h>#include<swi.h>#include"volumecfg.h"#include"volume.h"/*Globaldeclarations*/Intinp_buffer[BUFSIZE];/*processingdatabuffers*/Intout_buffer[BUFSIZE];Intgain=MINGAIN;/*volumecontrolvariable*/UnsprocessingLoad=BASELOAD;/*processingroutineloadvalue*//*Functions*/externVoidload(UnsloadValue);Intprocessing(Int*input,Int*output);VoiddataIO(Void);Voidmain(){LOG_printf(&trace,"volumeexamplestarted\n");/*fallintoDSP/BIOSidleloop*/return;}Intprocessing(Int*input,Int*output){Intsize=BUFSIZE;while(size--){*output++=*input++*gain;}/*additionalprocessingload*/load(processingLoad);return(TRUE);}VoiddataIO(){/*dodataI/O*/SWI_dec(&processing_SWI);/*postprocessing_SWIsoftwareinterrupt*/}第三步:修改配置文件1、File->Open,在窗口的文件件類(lèi)型選.cdb,打開(kāi)volume.cdb文件,修改LOG下trace的buffer,buffer長(zhǎng)度改為256。2、右擊CLK-ClockManager,查看CLK函數(shù)的屆性。Timer的中斷是固定的。3、查看硬中斷和軟中斷函數(shù)。點(diǎn)擊HWI_INT14,窗口右邊的顯示即是。Timer0的中斷固定為HWI_INT14,對(duì)應(yīng)的函數(shù)CLK_F_isr4、查看軟中斷(SWI)函數(shù)。Mailbox:為0的時(shí)候執(zhí)行processing函數(shù)。第四步:杳看線程執(zhí)行圖1、選擇File->loadProgram,下載程序;2、選擇DSP/BIOS->RTAControlPanel,出現(xiàn)RTA控制窗口。確認(rèn)EnableSWIlogging和EnableCLKolgging被選中,向下滾動(dòng),確認(rèn)Globalhostenable被選中。按右鍵,選擇Propertypage選項(xiàng)。確認(rèn)MessageLog/ExecutionGraph的刷新率是1Second,然后按OK。3、選擇DSP/BIOS->ExecutionGraph,出現(xiàn)ExecutionGraph窗口。4、運(yùn)行程序,得到輸出結(jié)果。第五步:分析線程的統(tǒng)計(jì)數(shù)據(jù)1、選擇DSP/BIOS->StatisticsView,出現(xiàn)StatisticsView窗口。2、運(yùn)行程序,Runo3、更改時(shí)間單位。在StatisticsView窗口中右擊,選擇Propertypage選項(xiàng),點(diǎn)擊Units選項(xiàng)卡。4、再次運(yùn)行程序。實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)數(shù)據(jù)記錄1、學(xué)習(xí)觀察線程執(zhí)行圖的方法;2、學(xué)斷送HWI和SWI聯(lián)合完成中斷處理的方法;3、分析線程的統(tǒng)計(jì)數(shù)據(jù)。實(shí)驗(yàn)程序或?qū)嶒?yàn)數(shù)據(jù)處理與分析1)打開(kāi)一個(gè)已有的工程Film團(tuán)Film\--\_JGELfiles=Projects曰??由volume.pjt(Debug)L_DependentProjects§HQSP/BtOSConfig■-%,vclum^.edb自掃GeneratedFiles團(tuán)vo-lumeefg.162固volumccfg^c.c|t]|_|Include!■■_|Libraries=JSourcefflload.asm?圈volurm^c團(tuán)voluinerfg.cmd2)查看源代碼IIntprocessing(Int^input.,Int.*0111:^11^|■!In*sizo-BUFSI2E;while(size——){,"outpjut+^二"inpu七十十Hgaini/*additionalEroc^ssinjload是/load(proeessingLoad';return(TRUE);}Iz*========data10========-<FWICTIOEJ:CalledfromtirierISRtofakeaperLOdichardwareinterruptthati■*readsintkeinputsigna1=ndoutputsth口processedsignal.iPARAMETERS:none.<■王PEI1IRNVALVE:nene.*zVoiddatelO(){x*dodata1^0*/3WI_d^c(^prcicessitig_SWIi;postsoftwor^.ftermpt”)修改配置文件(1)File->Open,在窗口的文件件類(lèi)型選.cdb,打開(kāi)volume.cdb文件,修改LOG下trace的buffer,buffer長(zhǎng)度改為256。I?EstimatedDataSize:3286EstMnStackSizb(MALIsJ:760田Syst

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論