試驗(yàn)1CodeComposerStudio基礎(chǔ)學(xué)習(xí)試驗(yàn)_第1頁
試驗(yàn)1CodeComposerStudio基礎(chǔ)學(xué)習(xí)試驗(yàn)_第2頁
試驗(yàn)1CodeComposerStudio基礎(chǔ)學(xué)習(xí)試驗(yàn)_第3頁
試驗(yàn)1CodeComposerStudio基礎(chǔ)學(xué)習(xí)試驗(yàn)_第4頁
試驗(yàn)1CodeComposerStudio基礎(chǔ)學(xué)習(xí)試驗(yàn)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn) 1 Code Composer Studio入門實(shí)驗(yàn)一.實(shí)驗(yàn)?zāi)康?,熟悉CCS集成開發(fā)環(huán)境,掌握工程的生成方法;2,熟悉ICETEK-DM6437-A 實(shí)驗(yàn)環(huán)境;3,掌握CCS集成開發(fā)環(huán)境的調(diào)試方法。二,實(shí)驗(yàn)內(nèi)容DSP 源文件的建立;DSP程序工程文件的建立;學(xué)習(xí)使用 CCS集成開發(fā)工具的調(diào)試工具。三.實(shí)驗(yàn)設(shè)備.PC兼容機(jī).WIN7操作系統(tǒng).Code Composer Studio v5四.實(shí)驗(yàn)背景知識(shí)理(一)、開發(fā) TMS3206437應(yīng)用系統(tǒng)一般需要以下幾個(gè)調(diào)試工具來完成軟件集成開發(fā)環(huán)境(Code Composer Studio v5):完成系統(tǒng)的軟件開發(fā),進(jìn)行軟件和硬件仿真調(diào)試。它

2、也是硬件調(diào)試的輔助手段。開發(fā)系統(tǒng)(ICETEK-XDS100V2+):實(shí)現(xiàn)硬件仿真調(diào)試時(shí)與硬件系統(tǒng)的通信,控制和讀取硬件系統(tǒng)的狀態(tài)和數(shù)據(jù)。評(píng)估模塊(ICETEK-DM6437-A等):提供軟件運(yùn)行和調(diào)試的平臺(tái)和用戶系統(tǒng)開發(fā)的參照。CCS主要完成系統(tǒng)的軟件開發(fā)和調(diào)試。它提供一整套的程序編制、維護(hù)、編譯、調(diào)試環(huán)境,能將匯編語言和C語言程序編譯、鏈接生成COFF (公共目標(biāo)文件)格式的可執(zhí)行文件,并能將程序下載到目標(biāo)DSP上運(yùn)行調(diào)試。用戶系統(tǒng)的軟件部分可以由CCS建立的工程文件進(jìn)行管理。CCS構(gòu)成及接口(二)、工程一般包含文件類型:源程序文件:C語言或匯編語言文件(*.c或*.asm)頭文件(*.h

3、)命令文件(*.cmd)庫文件(*.lib)中間文件(*.obj)五.實(shí)驗(yàn)步驟1 .創(chuàng)建工程:創(chuàng)建新的工程文件:選擇菜單View 的Project Explorer ”項(xiàng),打開工程查看界面在Project Explorer 窗口的空白地方右鍵選擇New-CCS ProjectV CCS DeLutfl Sourct not found. Code CcapofCf SludLioFil* 此1kcm lerhpli f !ib.4+L入出 * j昨 * LeRmUZ3 |Rb9口-M VWOAK岐10CM+ emProject Explorer雙擊某個(gè)窗口的標(biāo)題可以使該窗口最大化,此時(shí)如要查看

4、別的窗口,可以再次雙擊標(biāo)題。例如雙擊 main.c之后:Kai* vnxri i再次雙擊 main.c即可回到剛才的界面。這里工程中的 main.c和DM6437.cmd 文件我們不需要,在main.c文件上右鍵選擇 Delete刪除此文件。在工程上右鍵選擇 Add Files目錄:在彈出的窗 口 中找到 C:ICETEKICETEK-DM6437-ALab0101-UseCCSAdd filea toVCrlkLfeCQ LMI01.VM0*底J litettilJ At 加H百財(cái)神蘇 turn r)JjlCBTH imgMIBCT-E箕即哀由am網(wǎng)上笆居城怦4 )*變構(gòu)” 二M-F仙花動(dòng)整

5、S )-1具草交力一附 *4 ”網(wǎng)上餐馬CJSSU E-皿必叮 TET /叫 CCCTJ3Bl*N按住“ Ctrl ”鍵,選擇UseCCS.c、 UseCCS.cmd 、 UseCCS.h 和 Sine.dat 文件。然后點(diǎn)擊打開按鈕在彈出的窗口中選擇文件導(dǎo)入的方式:Copy files :剛才選中的3個(gè)文件會(huì)被拷貝到 workspace 的剛才新建的工程文件夾中,即 C:ICETEKICETEK-DM6437volume 目錄下。Link to files :則文件不會(huì)被拷貝,以鏈接的形式把剛才的3個(gè)文件加入到工程中。此時(shí)這3個(gè)文件還在原始的位置,即C:ICETEKICETEK-DM6437

6、-ALab0101-UseCCS 目錄下。此處選擇 Copy files,點(diǎn)擊 OK完成目錄,會(huì)發(fā)現(xiàn)文件已經(jīng)被復(fù)制過來了:查看 C:ICETEKICETEK-DM6437volume睢It C : ncmEICmK-B43Tle真富位置父龍的文檔文rt和夏肯夷住普|二I.溫 cesprftjeelW cprojectB - PFQJCt司 DM&437小 imulaiOUjiCCS cHlfieCCS cudIfitCCS.KJ創(chuàng)建一個(gè)新文件美0用這個(gè)文件英發(fā)布到 f th修共享此文件奏eexbI上述僅僅添加了工程的各個(gè)文件,但我們要進(jìn)行仿真調(diào)試的話,還需要一個(gè)目標(biāo)配 置文件(Target C

7、onfiguration File )。在 Target Configurations 窗口中,找到我們已配置好的文件DM6437-Simulator.ccxml(若沒有參見第二部分、第一章、四、 3新建一個(gè)),點(diǎn)擊右鍵-Link File To Project-vloume.L1-S ebi-j1 tlotr cizeixLIEK43T Sib%to CodeICHK AMJE.1T-A TEHe6mM ICnEE-F2HL2-BCT Ic.t*k-C674S-13 Icl*kr-aiJlFUlB- 建的36M 0. cmX RM*# ItfrtihLgiukCv&fivii.1 M (心1

8、船加進(jìn)入仿真調(diào)試:CCS自動(dòng)打開UseCCS.c,并且跳轉(zhuǎn)至U點(diǎn)擊菜單的 View-Project Explorer調(diào)出工程查看窗口,展開工程各分支,可以看到“ volume ”工程中包含的各個(gè)文件。可分為四類文件:點(diǎn)擊菜單欄下方的, 圖標(biāo),CCS開始自動(dòng)編譯,連接和下載程序。最終 的界面大致如下:可以看到,新增了一個(gè) Debug 窗口,main 函數(shù)。.編輯修改工程中的文件:查看工程文件:.c源文件.cmd 文件.h頭文件.ccxml目標(biāo)配置文件Project fxplorerPintri tsSint dttI&cludt!:CC1H % g E g 附 a M .DfeususUIlM6

9、 Hl -S iiFiiiliit or ccxa 1查看源文件:雙擊工程管理窗中的“UseCCS.c”文件,可以查看程序內(nèi)容??梢钥吹?,用標(biāo)準(zhǔn)C 語言編制的程序,大致分成幾個(gè)功能塊:頭文件描述標(biāo)準(zhǔn)庫程序的調(diào)用規(guī)則和用戶自定義數(shù)據(jù)、函數(shù)頭、數(shù)據(jù)類型等。具體包含哪一個(gè)頭文件,需要根據(jù)程序中使用了哪些函數(shù)或數(shù)據(jù)而定。比如:如果程序中使用了printf函數(shù),它是個(gè)標(biāo)準(zhǔn) C提供的輸入/輸出庫函數(shù),選中printf ”關(guān)鍵字,按 Shift+F1會(huì)啟動(dòng)關(guān)于此關(guān)鍵字的幫助,在幫助信息中可發(fā)現(xiàn)其頭函數(shù)為stdio.h ,那么在此部分程序中需要增加一條語句:#includestdio.h 。工作變量定義定義全

10、局變量。子程序調(diào)用規(guī)則這部分描述用戶編制的子程序的調(diào)用規(guī)則。也可以寫到用戶自己編制的 .h文件中 去。主程序。即main()函數(shù)。它可分為兩部分:變量定義和初始化部分、 主循環(huán)部分。 主循環(huán)部分完成程序的主要功能。用戶自定義函數(shù)這個(gè)程序是一個(gè)音頻信號(hào)采集、處理輸出的程序。程序的主循環(huán)中調(diào)用自定義的函數(shù)read_signals 來獲得音頻數(shù)據(jù)并存入輸入緩存inp_buffer 數(shù)組;再調(diào)用自定義函數(shù)write_buffer 來處理音頻數(shù)據(jù)并存入輸出緩存;output_signals 將輸出緩沖區(qū)的數(shù)據(jù)送輸出設(shè)備;最后調(diào)用標(biāo)準(zhǔn) C的顯示信息的函數(shù) printf顯示進(jìn)度提示信息。整 個(gè)系統(tǒng)可以完成將

11、輸入的音頻數(shù)據(jù)擴(kuò)大 volume倍后再輸出的功能。read_signals 子程序中首先應(yīng)有從外接AD設(shè)備獲得音頻數(shù)據(jù)的程序設(shè)計(jì),但此例中由于未采用實(shí)際AD設(shè)備,就未寫相應(yīng)控制程序。此例打算用讀文件的方式獲得數(shù)據(jù),模擬代替實(shí)際的AD輸入信號(hào)數(shù)據(jù)。write_buffer子程序中首先將輸入緩沖區(qū)的數(shù)據(jù)進(jìn)行放大處理,即乘以系數(shù)volume ,然后放入輸出緩沖區(qū)。output_signals函數(shù)完成將處理后的設(shè)備輸出的功能,由于此例未具體操作硬件輸出設(shè)備,所以函數(shù)中未寫具體操作語句。雙擊工程管理窗中的“ UseCCS.h”文件,打開此文件顯示,可以看到其中有主程序中要用到的一些宏定義如“ BUF_S

12、IZE”等。UseCCS.cmd 文件定義程序所放置的位置,此例中描述了 ICETEK C6748-A 評(píng) 估板的存儲(chǔ)器資源,指定了程序和數(shù)據(jù)在內(nèi)存中的位置。比如:它首先將ICETEK VC6748-A 評(píng)估板的可用存儲(chǔ)器分為五個(gè)部分,每個(gè)區(qū) 給定起始地址和長度(區(qū)域地址空間不允許重疊);然后指定經(jīng)編譯器編譯后產(chǎn)生的各模 塊放到哪個(gè)區(qū)。這些區(qū)域需要根據(jù)評(píng)估板硬件的具體情況來確定。編輯修改源文件及編譯程序:打開UseCCS.c ,找到main()”主函數(shù),將語句input = &inp_buffer0; ”最后的分號(hào)去掉,這樣程序中就出現(xiàn)了一個(gè)語法錯(cuò)誤;在工程上點(diǎn)擊右鍵-BuildProject

13、重新編譯連接工程,可以發(fā)現(xiàn)編譯信息窗口出現(xiàn)發(fā)現(xiàn)錯(cuò)誤的提示,工程中出現(xiàn) 錯(cuò)誤的文件會(huì)出現(xiàn)紅色的x,卜* 江三二;雙擊打開出錯(cuò)的文件,可以看到該文件的 最右側(cè)有紅色小方塊的標(biāo)示I皆”,單擊紅色X處,CCS自動(dòng)轉(zhuǎn)到程序中出錯(cuò)的地方;將語句修改正確(將語句末尾的分號(hào)加上);重新編譯;注意,重新編譯時(shí)修改過的文件 被CCS自動(dòng)保存。重新編譯工程時(shí), CCS會(huì)提示程序重新編譯過,是否重新下載?我們點(diǎn)Yes,則CCS會(huì)把最新編譯出的文件下載到DSP中查看和修改工程文件的設(shè)置:在工程上右鍵-Properties,打開工程屬性設(shè)置窗口可以看到,在 Build 一項(xiàng)中,分為 C6000 Compiler( 編譯器

14、)和 C6000 Linker(鏈 接器),我們點(diǎn)中C6000 Linker 下的Basic Options ,則在右邊可以設(shè)置程序的堆棧 大小。.基本調(diào)試功能:下載程序:執(zhí)行 Run-Load-Load Program ,在隨后打開的對(duì)話框中選擇剛剛建立的 C:ICETEKICETEK-DM6437ADebugUseCCS.out 文件,手動(dòng)下載剛才編譯 生成的最終文件 UseCCS .out 設(shè)置軟件調(diào)試斷點(diǎn):在項(xiàng)目瀏覽窗口中,雙擊 UseCCS.c激活這個(gè)文件,移動(dòng)光標(biāo)到while(TRUE)行上,在行號(hào)前雙擊鼠標(biāo)左鍵即在此處設(shè)置了一個(gè)斷點(diǎn)83 / 1 PaUjULE TEF雷 t 之口

15、 RC .o5/* PETWN VALUE 2 2 -i v aid. iihdlu. (|bJ 1Hk - 1UT 3IM-(TE UT) / I 1 t ! r vr :- Tinput output , taut buff eElOJ ;/PCI lit,read xnpue)j/ * we it k 七口 號(hào)唱buEf vc*/irrie tec i impxii:. cutput r ; 利用斷點(diǎn)調(diào)試程序:選Ji Run-Resume 或按F8或點(diǎn)擊Debug 窗口中的 運(yùn)行 程序,程序會(huì)自動(dòng)停在 while(TRUE)上。按F6單步執(zhí)行到 write_buffer() 函數(shù)。再按F

16、5 ,程序?qū)⑥D(zhuǎn)到 write_buffer 函數(shù)中運(yùn)行。此時(shí),為了返回主函數(shù),按 F7完成write_buffer函數(shù)的執(zhí)行。.使用觀察窗口:在volume.c 中,用鼠標(biāo)雙擊一個(gè)變量(比如num),再單擊鼠標(biāo)右鍵,選擇AddWatchExpressions ”, 在彈出的窗口中點(diǎn)擊 ok, CCS將打開 Watch 窗口并顯示選中的 變量。在觀察窗口中雙擊變量,則可以在這個(gè)窗口中改變變量的值。把str變量加到觀察窗口中,點(diǎn)擊變量左邊的,觀察窗口可以展開結(jié)構(gòu)變量,并且顯示結(jié)構(gòu)變量的每個(gè)元素的值。把str變量加到觀察窗口中;執(zhí)行程序進(jìn)入write_buffer 函數(shù),此時(shí)num 變量超出了作用范

17、圍,可以看到num 變量無法查看了:Variables Ejtpr-essions ;陰 RegistersJExpressionTypeValueAddress岡,numtirr knownError; identlfie.+strstruct PARMS20 x004265M= Betaint29340 x00426制,EchoPowerint弘32CMXJ4259W= ErrorPowerirrt2130 x0042 6A 嬖t*)- Raitioint9432hO04 MBb * Linkstruct PARMS 0 x00436C。Add new cxpre.文件輸入/輸出卜面介紹如

18、何從 PC機(jī)上加載數(shù)據(jù)到 DSP上。用于利用已知的數(shù)據(jù)流測試算法。在完成下面的操作以前,先介紹 Code Composer Studio 的斷點(diǎn),斷點(diǎn)允許用戶在指定位置提取/注入數(shù)據(jù)。斷點(diǎn)可以設(shè)置在程序的任何位置,當(dāng)程序運(yùn)行到斷點(diǎn)時(shí),相關(guān)的事件將會(huì)被觸發(fā),當(dāng)事件結(jié)束后,程序會(huì)繼續(xù)執(zhí)行。在這一節(jié)里,斷點(diǎn)觸發(fā)的事件 是:從PC機(jī)存儲(chǔ)的數(shù)據(jù)文件中的一段數(shù)據(jù)加載到DSP的緩沖區(qū)中。(1)在真實(shí)的系統(tǒng)中,read_signals 函數(shù)用于讀取 A/D模塊的數(shù)據(jù)并放到DSP緩沖區(qū)中。在這里,代替A/D模塊完成這個(gè)工作的是斷點(diǎn)。當(dāng)執(zhí)行到函數(shù)read_signals時(shí),斷點(diǎn)完成這個(gè)工作。在程序行read_si

19、gnals(input); 上單擊鼠標(biāo)右鍵選擇 Breakpoint(Code composer Studio)-Breakpoint”,設(shè)置軟件斷點(diǎn)。點(diǎn)擊 CCS菜單的View-Breakpoints,調(diào)出斷點(diǎn)觀察窗口,可以看到我們剛才設(shè)置的斷點(diǎn):Variables 母I Expressior. Itif Registers Breakpoint.眼=巴VIdentityNameConditionCoun7| Q volume. line 37 (C$L1) | Breakpeirrt0在 Breakpoint 窗口中,右鍵點(diǎn) 擊剛才設(shè)置的斷點(diǎn),選擇 Breakpoint porpertie

20、s:做如下設(shè)置:此時(shí),已經(jīng)配置好了斷點(diǎn)和與之關(guān)聯(lián)的事件.進(jìn)一步的結(jié)果在下面實(shí)驗(yàn)中顯示.圖形功能簡介:使用CCS的圖形功能檢驗(yàn)上一節(jié)的結(jié)果。首先進(jìn)行下面設(shè)置操作:點(diǎn)擊菜單 Tools-Graph-Single Time:T? CCS nhuiFa JiiKfl/vDliiBft. C Code Coaposnr St nd iiDIr Ejcl Iapl.rvr :工vlut fJUU右 Einvi ei+ IrMrlud.61王- Dbu(+ L nlw t C+ . jEt 風(fēng) wluftv b國丁明-仙也.小4r NryUU H4時(shí)y fill Hai二叮a Ig J wpa-Ku 3lui。 Dvi ca jbugi 4CTU CyLv JLcik otjfc 二/Li tilR gi聞 m rim c;2ttj I nr f 1 r i Kh n p /葡M1 IFr 1 fh # 7KIQ5 ab|rt (JUJT)*L7 JPE Aulyitr/.t整Vwv Saripit liHp /f

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論