Code Composer Studio入門
一.實(shí)驗(yàn)?zāi)康?br>1.掌握Code Composer Studio 2.21的安裝和配置步驟過程。
2.了解DSP開發(fā)系統(tǒng)和計(jì)算機(jī)與目標(biāo)系統(tǒng)的連接方法。
3.了解Code Composer Studio 2.21軟件的操作環(huán)境和基本功能,了解TMS320C28xx軟件
開發(fā)過程。
(1)學(xué)習(xí)創(chuàng)建工程和管理工程的方法。
(2)了解基本的編譯和調(diào)試功能。
(3)學(xué)習(xí)使用觀察窗口。
(4)了解圖形功能的使用。
二.實(shí)驗(yàn)原理
*開發(fā)TMS320C2xxx應(yīng)用系統(tǒng)一般需要以下幾個(gè)調(diào)試工具來完成:
-軟件集成開發(fā)環(huán)境(Code Composer Studio 2.21):完成系統(tǒng)的軟件開發(fā),進(jìn)行軟件和硬件
仿真調(diào)試。它也是硬件調(diào)試的輔助手段。
-開發(fā)系統(tǒng)(ICETEK 5100 USB或ICETEK 5100 PP):實(shí)現(xiàn)硬件仿真調(diào)試時(shí)與硬件系統(tǒng)的通
信,控制和讀取硬件系統(tǒng)的狀態(tài)和數(shù)據(jù)。
-評(píng)估模塊(ICETEK F2812-A等):提供軟件運(yùn)行和調(diào)試的平臺(tái)和用戶系統(tǒng)開發(fā)的參照。
*Code Composer Studio 2.21主要完成系統(tǒng)的軟件開發(fā)和調(diào)試。它提供一整套的程序編制、維護(hù)、
編譯、調(diào)試環(huán)境,能將匯編語(yǔ)言和C語(yǔ)言程序編譯連接生成COFF (公共目標(biāo)文件)格式的可執(zhí)
行文件,并能將程序下載到目標(biāo)DSP上運(yùn)行調(diào)試。
*用戶系統(tǒng)的軟件部分可以由CCS建立的工程文件進(jìn)行管理,一般包含以下幾種文件:
-源程序文件:C語(yǔ)言或匯編語(yǔ)言文件(*.ASM 或*.C)
-頭文件(*.H)
-命令文件(*.CMD)
-庫(kù)文件(*.LIB,*.OBJ)
三.實(shí)驗(yàn)設(shè)備
1.PC兼容機(jī)一臺(tái);操作系統(tǒng)為Windows2000 (或WindowsNT、Windows98、WindowsXP,
以下假定操作系統(tǒng)為Windows2000)。Windows操作系統(tǒng)的內(nèi)核如果是NT的應(yīng)安裝相應(yīng)
的補(bǔ)丁程序(如:Windows2000為Service Pack3,WindowsXP為Service Pack1)。
2.ICETEK-F2812-EDU實(shí)驗(yàn)箱一臺(tái)。
3.USB連接電纜一條(如使用PP型仿真器換用并口電纜一條)。
四.實(shí)驗(yàn)內(nèi)容與步驟
1.實(shí)驗(yàn)準(zhǔn)備
由于本實(shí)驗(yàn)采用軟仿真模式,無需打開實(shí)驗(yàn)箱電源。
2.設(shè)置Code Composer Studio 2.21在軟仿真(Simulator)方式下運(yùn)行
請(qǐng)參看本書第一部分、四、1。
3.啟動(dòng)Code Composer Studio 2.21
請(qǐng)參看本書第一部分、五、2。
選擇菜單Debug→Reset CPU。
成功地啟動(dòng)了CCS后會(huì)出現(xiàn)如下窗口:
圖1-1 CCS軟件界面介紹
4.創(chuàng)建工程
(1)創(chuàng)建新的工程文件
選擇菜單“Project”的“New…”項(xiàng)。
如下圖,按編號(hào)順序操作建立volume.pjt工程文件:
展開主窗口左側(cè)工程管理窗口中“Projects”下新建立的“volume.pjt”,其各項(xiàng)均為空。
(2)在工程文件中添加程序文件:
選擇菜單“Project”的“Add Files to Project…”項(xiàng);在“Add Files to Project”對(duì)話框
中選擇文件目錄為C:\ICETEK-F2812-A-EDUlab\DSP281x_examples\Lab0101-UseCCS,改變
文件類型為“C Source Files(*.c;*.ccc)”,選擇顯示出來的文件“volum.c”;重復(fù)上述各步驟,
添加C:\ICETEK-F2812-A-EDUlab\DSP281x_examples\Lab0101-UseCCS\volume.cmd文件到
volum工程中;添加C:\ti\c2000\cgtools\lib \rts2800_ml.lib。
(3)編譯連接工程:
選擇菜單“Project”的“Rebuild All”項(xiàng),或單擊工具條中的按鈕;注意編譯過
程中CCS主窗口下部“Build”提示窗中顯示編譯信息,最后將給出錯(cuò)誤和警告的統(tǒng)計(jì)數(shù)。
5.編輯修改工程中的文件
(1)查看工程文件
展開CCS主窗口左側(cè)工程管理窗中的工程各分支,可以看到“volume.pjt”工程中包含
“volume.h”、“rts2800.lib”、“volume.c”和“volume.cmd”文件,其中第一個(gè)為程序在編譯
時(shí)根據(jù)程序中的“include”語(yǔ)句自動(dòng)加入的。
(2)查看源文件
*雙擊工程管理窗中的“volume.c”文件,可以查看程序內(nèi)容。可以看到,用標(biāo)準(zhǔn)C語(yǔ)
言編制的程序,大致分成幾個(gè)功能塊:
-頭文件。描述標(biāo)準(zhǔn)庫(kù)程序的調(diào)用規(guī)則和用戶自定義數(shù)據(jù)、函數(shù)頭、數(shù)據(jù)類型等。具體
包含哪一個(gè)頭文件,需要根據(jù)程序中使用了哪些函數(shù)或數(shù)據(jù)而定。比如:如果程序中使
用了printf函數(shù),它是個(gè)標(biāo)準(zhǔn)C提供的輸入/輸出庫(kù)函數(shù),選中“printf”關(guān)鍵字,按Shift+F1
會(huì)啟動(dòng)關(guān)于此關(guān)鍵字的幫助,在幫助信息中可發(fā)現(xiàn)其頭函數(shù)為stdio.h,那么在此部分程
序中需要增加一條語(yǔ)句:#include “stdio.h”。
-工作變量定義。定義全局變量。
-子程序調(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)可以完成將輸入的音頻數(shù)據(jù)
擴(kuò)大volume倍后再輸出的功能。
read_signal子程序中首先應(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ù)中未寫具體操作語(yǔ)句。
*雙擊工程管理窗中的“volume.h”文件,打開此文件顯示,可以看到其中有主程序中
要用到的一些宏定義如“BUF_SIZE”等。
*volume.cmd 文件定義程序所放置的位置,此例中描述了ICETEK-F2812-A評(píng)估板的存
儲(chǔ)器資源,指定了程序和數(shù)據(jù)在內(nèi)存中的位置。
(3)編輯修改源文件及編譯程序
打開“volume.c”,找到“main()”主函數(shù),將語(yǔ)句“input=inp_buffer;”最后的分號(hào)去掉,
這樣程序中就出現(xiàn)了一個(gè)語(yǔ)法錯(cuò)誤;重新編譯連接工程,可以發(fā)現(xiàn)編譯信息窗口出現(xiàn)發(fā)現(xiàn)錯(cuò)
誤的提示;雙擊紅色錯(cuò)誤提示,CCS自動(dòng)轉(zhuǎn)到程序中出錯(cuò)的地方;將語(yǔ)句修改正確(將語(yǔ)句
末尾的分號(hào)加上);重新編譯;注意:重新編譯時(shí)修改過的文件被CCS自動(dòng)保存。
(4)修改工程文件的設(shè)置
圖1-4 修改工程文件
通過以上設(shè)置操作,重新編譯后,程序中的用戶堆棧的尺寸被設(shè)置成1024個(gè)字。
6.基本調(diào)試功能
(1)下載程序:執(zhí)行FileàLoad Program ,在隨后打開的對(duì)話框中選擇剛建立的文件:
C:\ICETEK-F2812-A-EDUlab\DSP281x_examples\Lab0101-UseCCS\Debug\volume.out
(2)設(shè)置軟件調(diào)試斷點(diǎn):在項(xiàng)目瀏覽窗口中,雙擊volume.c激活這個(gè)文件,移動(dòng)光標(biāo)到main()
行上,單擊鼠標(biāo)右鍵選擇Toggle Breakpoint 或按F9 設(shè)置斷點(diǎn)(另外,雙擊此行左邊的灰
色控制條也可以設(shè)置或刪除斷點(diǎn)標(biāo)記)。
(3)利用斷點(diǎn)調(diào)試程序:選擇DebugàRun或按F5 運(yùn)行程序,程序會(huì)自動(dòng)停在main()函數(shù)上。
①按F10 執(zhí)行到write_buffer()函數(shù)。
②再按F8,程序?qū)⑥D(zhuǎn)到write_buffer 函數(shù)中運(yùn)行。
③此時(shí),為了返回主函數(shù),按shift-F7 完成write_buffer 函數(shù)的執(zhí)行。
④再次執(zhí)行到write_buffer 一行,按F10 執(zhí)行程序,對(duì)比與F8 執(zhí)行的不同。
7.使用觀察窗口
(1)執(zhí)行ViewàWatch Window打開觀察窗口。
(2)在volume.c中,用鼠標(biāo)雙擊一個(gè)變量(比如num),再單擊鼠標(biāo)右鍵,選擇“Quick Watch”,
CCS將打開Quick Watch窗口并顯示選中的變量。
(3)在volume.c中,選中變量num,單擊鼠標(biāo)右鍵,選擇“Add to Watch Window”,CCS將
把變量添加到觀察窗口并顯示選中的變量值。
(4)在觀察窗口中雙擊變量,則彈出修改變量窗口。此時(shí),可以在這個(gè)窗口中改變變量的值。
(5)把str 變量加到觀察窗口中,點(diǎn)擊變量左邊的”+”,觀察窗口可以展開結(jié)構(gòu)變量,并且顯示結(jié)
構(gòu)變量的每個(gè)元素的值。
(6)把str 變量加到觀察窗口中;執(zhí)行程序進(jìn)入write_buffer 函數(shù),此時(shí)num變量超出了作用
范圍,可以利用Call Stack窗口察看在其他函數(shù)中的變量:
①選擇菜單ViewàCall Stack打開堆棧窗口。
②雙擊堆棧窗口的main()選項(xiàng),此時(shí)可以察看num變量的值。
8.文件輸入/輸出
Code Composer Studio的Probe(探針)斷點(diǎn)允許用戶在指定位置提取/注入數(shù)據(jù)。Probe
斷點(diǎn)可以設(shè)置在程序的任何位置,.當(dāng)程序運(yùn)行到Probe斷點(diǎn)時(shí),與Probe斷點(diǎn)相關(guān)的事件將
會(huì)被觸發(fā),當(dāng)事件結(jié)束后,程序會(huì)繼續(xù)執(zhí)行。在這一節(jié)里,Probe斷點(diǎn)觸發(fā)的事件是:從PC
機(jī)存儲(chǔ)的數(shù)據(jù)文件中的一段數(shù)據(jù)加載到DSP的緩沖區(qū)中。
圖1-5 設(shè)置file io文件
(1)在真實(shí)的系統(tǒng)中,read_signals函數(shù)用于讀取A/D模塊的數(shù)據(jù)并放到DSP緩沖區(qū)中。在
這里,代替A/D 模塊完成這個(gè)工作的是Probe斷點(diǎn)。當(dāng)執(zhí)行到函數(shù)read_signals時(shí),Probe
斷點(diǎn)完成這個(gè)工作。
①在程序行read_signals(input);上單擊鼠標(biāo)右鍵選擇“Toggle breakpoint”,設(shè)置軟件斷點(diǎn)。
②再在同一行上單擊鼠標(biāo)右鍵,選擇“Toggle Probe Point”,設(shè)置Probe斷點(diǎn)。
(2)執(zhí)行圖1-5 的操作
此時(shí),已經(jīng)配置好了Probe斷點(diǎn)和與之關(guān)聯(lián)的事件.進(jìn)一步的結(jié)果在下面實(shí)驗(yàn)中顯示。
9.圖形功能簡(jiǎn)介
下面我們使用CCS的圖形功能檢驗(yàn)上一節(jié)的結(jié)果。首先進(jìn)行下面設(shè)置操作:
圖1-6 設(shè)置圖形顯示功能
-在彈出的圖形窗口中單擊鼠標(biāo)右鍵,選擇“Clear Display”。
-按F12 運(yùn)行程序.觀察input 窗口的內(nèi)容。
10.選擇菜單File→workspace→save workspacs As…,輸入文件名SY.wks 。
11.退出CCS 。
五.預(yù)習(xí)要求
1.熟悉DSP系統(tǒng)的軟硬件安裝連接方法。
2.要求熟悉Code Composer Studio 2.21的安裝和配置步驟過程及其操作環(huán)境和基本功能。
六.注意事項(xiàng)
在執(zhí)行C語(yǔ)言的程序時(shí),為了快速的運(yùn)行到主函數(shù)調(diào)試自己的代碼,可以使用
DebugàGo main命令,本實(shí)驗(yàn)中的使用的是較為繁瑣的一種方法。
七..思考題
通過對(duì)工程文件“volume”的編譯、執(zhí)行后得到結(jié)果的圖形顯示?
八.實(shí)驗(yàn)報(bào)告要求
1.硬軟件的安裝及創(chuàng)建查看文件的掌握與體會(huì)?
2.基本調(diào)試功能的掌握與心得。
評(píng)論
查看更多