版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)1:CCS基本操作實(shí)驗(yàn)一、實(shí)驗(yàn)項(xiàng)目與目的重點(diǎn)學(xué)習(xí)CCS中斷點(diǎn)、探針、代碼剖析器、圖形工具、數(shù)據(jù)追蹤與Matlab操作等的使用技巧,練習(xí)C語言和匯編語言編程及調(diào)試。二、實(shí)驗(yàn)設(shè)備計(jì)算機(jī),CC4.1版軟件三、實(shí)驗(yàn)內(nèi)容與步驟1CCS設(shè)置雙擊桌面上的圖標(biāo),先選擇Close,進(jìn)入如圖4.1所示的配置對話框。由于本實(shí)驗(yàn)采用軟件仿真器(Simulator)進(jìn)行軟件仿真,因此應(yīng)從Available Board/Simulator Types列表欄中選擇C2xx Simulator,在C2xx Simulator上單擊右鍵,選擇Add to System。然后單擊Finish即可。注意:如果要從另一種平臺(例
2、如Sdgo2xx)中轉(zhuǎn)變?yōu)镃2xx Simulator平臺,應(yīng)右擊System Configuration列表中的該平臺,再選擇Remove刪除,然后才能按照本步驟對CCS進(jìn)行設(shè)置。圖4.1 CCS設(shè)置2創(chuàng)建新項(xiàng)目文件 (1)在“C:tic2xxmyprojects”目錄下創(chuàng)建一個名為volume的目錄,將本書配套的實(shí)驗(yàn)1“exp01_volume”目錄下的所有文件復(fù)制到該目錄下。 (2)雙擊桌面上的圖標(biāo),啟動CCS。 (3)在Project菜單下點(diǎn)擊New,在出現(xiàn)的項(xiàng)目創(chuàng)建窗口中輸入項(xiàng)目文件名稱。名稱任意,例如“volume”,文件后綴*.mak可省略。3向項(xiàng)目中加入文件(1)在項(xiàng)目文件查看
3、窗口中的volume.mak上單擊右鍵(如圖4.2所示),選擇Add Files,或者選擇ProjectAdd Files to Project,此時出現(xiàn)如圖4.3所示的添加文件窗口,在“文件類型”中選擇要加入的文件的文件類型。將應(yīng)用程序volume.c(主程序可以是C程序 *.c,也可以是匯編程序 *.asm)、命令鏈接文件 *.cmd(volume.cmd)等分別加入。如果需要用到中斷向量,加入中斷向量文件vectors.asm;如果用到了C程序,還需加入實(shí)時運(yùn)行支持庫文件rts2xx.lib。(2)在volume.mak上單擊右鍵(如圖4.2所示),選擇Scan All Dependen
4、cies,將自動為工程添加頭文件(*.h)。 圖4.2 添加文件1 圖4.3 添加文件24瀏覽代碼和Windows的瀏覽器相似,只要在項(xiàng)目文件查看窗口中打開“+”號展開下面的文件,然后雙擊文件(例如volume.c),在主窗口(右半窗口)就會顯示相應(yīng)文件的源程序,出現(xiàn)圖4.4,此時可以瀏覽并檢查源程序。如果要刪除工程中的文件,只要選定目標(biāo)文件,單擊鼠標(biāo)右鍵,選擇Remove from project。 圖4.4 查看源程序5編譯、運(yùn)行程序(1)選擇ProjectRebuilt All或單擊工具條中的按鈕,CCS將重新編譯、鏈接項(xiàng)目中的所有文件。整個過程的信息將在窗口下方的信息框內(nèi)顯示。如果有錯
5、誤,就需要檢查、修改源程序,然后再重新編譯、鏈接,直到通過編譯鏈接為止。注意:由于是采用C程序軟件仿真,而且程序映射在片內(nèi)RAM中,因此應(yīng)該修改鏈接選項(xiàng):選擇ProjectOptionLinker,將C Initialization欄中的選項(xiàng)改為RAM Autoinitialization Model-cr。(2)選擇FileLoad Program并選中volume.out,這樣CCS就把程序加載到目標(biāo)系統(tǒng)DSP中。(3)選擇DebugRun或單擊工具條中的按鈕,這樣程序就可以運(yùn)行起來。選擇DebugHalt或單擊工具條中的按鈕,就可以使程序退出運(yùn)行狀態(tài)。6跟蹤/調(diào)試程序(1)使用斷點(diǎn)(Br
6、eakpoint)與觀察窗口(Watch Window)當(dāng)開發(fā)和測試一個程序時,經(jīng)常需要在程序運(yùn)行過程中檢查一個變量的值。這里使用斷點(diǎn)與觀察窗口來觀察這些變量,也可以到達(dá)斷點(diǎn)后使用step命令。在程序退出運(yùn)行狀態(tài)下,在項(xiàng)目文件查看窗口中雙擊volume.c文件;將光標(biāo)移到下面這行:dataIO();單擊或按F9鍵,此時該行紅色高亮顯示,表示一個斷點(diǎn)已經(jīng)被設(shè)置。單擊工具條中的按鈕或按F5鍵,或選擇DebugRun,開始運(yùn)行。當(dāng)運(yùn)行到斷點(diǎn)時停止,直到再次按。如果需要使程序回到main處,選擇DebugGo Main。 選擇ViewWatch Window,一個單獨(dú)的窗口將出現(xiàn)在CCS窗口的右下方,
7、如圖4.5所示。用鼠標(biāo)右擊該窗口,選擇Insert New Expression,在隨后出現(xiàn)的窗口中填入要觀察的變量的名稱,例如input、dataIO等。圖4.5 觀察變量單擊(Step Over)或按F10鍵單步調(diào)用執(zhí)行指令dataIO()。嘗試使用CCS提供的step命令:Ø Step Into(F8)Ø Step Over(F10)Ø Step Out(shift+F7)Ø Run to Cursor(Ctrl+F10)結(jié)束本練習(xí)后,在進(jìn)行下一個練習(xí)前單擊(Remove All Breakpoints)按鈕,清除所有斷點(diǎn)。(2)加入文件輸入/輸出
8、探針(Probe Point)選擇FileLoad Program并選中volume.out,再單擊Open。在項(xiàng)目文件查看窗口中雙擊volume.c文件。把光標(biāo)放在主程序(main function)的下面這行:dataIO();單擊或按F9鍵,此時該行藍(lán)色高亮顯示,表示一個探點(diǎn)已經(jīng)被設(shè)置。選擇FileFile I/O,這時File I/O對話框顯示出來,如圖4.6所示,從中選擇與該探點(diǎn)相關(guān)聯(lián)的輸入或輸出文件。 圖4.6 File I/O對話框 圖4.7 sine.dat文件的添加過程(一)在File Input欄中選擇Add File,在隨后出現(xiàn)的對話框中選擇sine.dat文件并單擊Op
9、en。一個關(guān)于sine.dat的控制窗口顯示出來,如圖4.7所示。在此后運(yùn)行程序時,使用該窗口利用這個數(shù)據(jù)文件開始、結(jié)束、重復(fù)、快速向前運(yùn)行程序。在File I/O對話框中進(jìn)行如下設(shè)置:Address設(shè)置為inp_buffer,Length設(shè)置為100,同時選中Wrap Around。如圖4.8所示。單擊Add Probe Point,Break/Probe Points的探點(diǎn)窗口將顯示出來,如圖4.9所示。在Connect To欄的下拉菜單中選擇sine.dat,單擊Replace 。Probe Point列表發(fā)生變化,顯示出探點(diǎn)被連接到sine.dat文件上。 圖4.8 sine.dat文
10、件的添加過程(一) 圖4.9 指針設(shè)置窗口單擊確定,F(xiàn)ile I/O對話框顯示文件已經(jīng)被連接到探點(diǎn)上。單擊確定,關(guān)閉File I/O對話框。 (3)圖形顯示選ViewGraphTime/Frequency打開圖形顯示設(shè)置窗口。在彈出的對話框中按圖4.10設(shè)置: “Graph Title”為Input(也可以是其它名字);“Start Address”為inp_buffer;“Acquisition Buffer Size”和“Display Data Size”均設(shè)為100;“DSP Data Type”為16-bit signed integer;想想為什么要這樣修改? 圖4.10 圖形顯示
11、設(shè)置對話框單擊OK,會生成一個名為Input圖形(顯示)窗口。在該輸入圖形窗口中單擊右鍵,并從彈出菜單中選擇Clear Display。再次選擇ViewGraphTime/Frequency,并改變“Graph Title”為Output(也可以是其它名字);“Start Address”為out_buffer,其它設(shè)置一律不變。單擊OK,系統(tǒng)顯示一個名為Output的圖形(顯示)窗口,在該輸出圖形窗口中單擊右鍵,并從彈出菜單中選擇Clear Display。在volume.c源程序窗口中,將光標(biāo)移到指令所在行,并在此處設(shè)置一個斷點(diǎn),即單擊(Toggle Breakpoint)。此時將探點(diǎn)和斷
12、點(diǎn)都放置在同一個命令行上,這就會使得運(yùn)行操作時(傳輸數(shù)據(jù)或刷新圖形時目標(biāo)程序)只暫停一次。重排窗口可以看到所有的圖形。單擊工具條中的按鈕(Animate)或按F12鍵運(yùn)行程序。觀察Input窗口和Output窗口的變化。如圖4.11所示。圖4.11 volume.c程序運(yùn)行輸入輸出圖形選擇DebugHalt,使程序退出運(yùn)行狀態(tài)。 (4)調(diào)整增益方法1:選擇ViewWatch Window,并將gain作為要觀察的變量輸入,通過改變gain的取值從而改變增益(請仔細(xì)查看源程序,為什么能這樣?)。方法2:使用GEL文件。選擇FileLoad GEL,在Load GEL File對話框中選擇volu
13、me.gel文件。選擇GELApplication ControlGain,彈出如圖4.12所示的小窗口,滑動該窗口中的指針,改變gain值。圖4.12 Gain窗口單擊項(xiàng)目文件查看窗口中GEL文件前的“+”號,然后雙擊volume.gel文件即可展開并查看volume.gel文件的內(nèi)容。7代碼性能評估(Profiler)CCS可以統(tǒng)計(jì)某段代碼的執(zhí)行時間,這被稱作剖析(Profile)或稱為代碼性能評估。設(shè)置剖析點(diǎn)(Profile Points)的方法就是:首先在profile菜單中設(shè)置Enable Clock,然后再雙擊volume.c文件,選擇菜單DebugGo Main,接著在主程序中設(shè)
14、置兩個剖析點(diǎn),例如在puts(“volume example started n”)和dataIO()這兩處點(diǎn)擊右擊,選擇Toggle profile points設(shè)置這兩處為剖析點(diǎn)。再單擊Profile下的View Statistics菜單,在右下角出現(xiàn)統(tǒng)計(jì)信息窗口。最后運(yùn)行程序,過一段時間后停止運(yùn)行程序,觀察統(tǒng)計(jì)信息窗口。8數(shù)據(jù)追蹤與Matlab操作可將追蹤的數(shù)據(jù)送到Matlab中加以處理后,再以圖形顯示出來,如下: 存儲追蹤的數(shù)據(jù):使用上一個程序所建立的數(shù)據(jù),在File菜單內(nèi)的Data下選擇Save,再輸入文件名(例如sininteger)并選擇數(shù)據(jù)保存的格式(例如將數(shù)據(jù)保存為整數(shù)型,即
15、*.dat(integer),然后輸入被追蹤數(shù)據(jù)的起始地址out_buffer和長度0x064。將存儲在文件名為sininteger.dat的整數(shù)數(shù)據(jù)文件以記事本(Notepad)打開,加以修改為Sinewave矩陣形式的數(shù)據(jù),再貼到Matlab內(nèi),最后下達(dá)plot(Sinewave)的命令來繪制圖形。如表4.1及圖4.13所示。表4.1 將DSP數(shù)據(jù)轉(zhuǎn)至Matlab繪出圖形的步驟(1)儲存的整數(shù)數(shù)據(jù)文件(sininteger.dat)(2)矩陣形式的整數(shù)數(shù)據(jù)(3)Matlab內(nèi)的數(shù)據(jù)形式1651 2 d6b 1 64 0 150 300 450 . . . 310 150Sinewave=0
16、 150 300 450 . . . 310 150Sinewave=0 150 300 450 . . . 310 150;EnterPlot(Sinewave) 圖4.13 Matlab繪制圖形如果要將整個波形同時顯示出來,可用Hold on 命令加以固定后,再重復(fù)上述操作。四、實(shí)驗(yàn)說明在運(yùn)行C程序之前,首先必須建立C語言的運(yùn)行環(huán)境。這一任務(wù)由C裝載程序來完成。裝載程序其實(shí)就是c_int0函數(shù)。運(yùn)行該函數(shù)的方法可以是跳轉(zhuǎn)到該函數(shù),也可以是調(diào)用該函數(shù),還可以是將硬件中斷的向量入口地址指向c_int0函數(shù),在運(yùn)行支持庫中必須與其它的C目標(biāo)模塊相連接。只要在連接時,使用_c或_cr選項(xiàng),并將運(yùn)行
17、支持rts.src作為連接器的輸入,c_int0就可以被自動連入。如果在CC(或CCS)的編譯連接過程中出現(xiàn)問題,CC都會給出提示,用戶通過閱讀提示,尋找問題出現(xiàn)在什么地方。如果是語法上的錯誤,請查閱相關(guān)的語法資料;如果是環(huán)境參數(shù)設(shè)置上有問題,一般應(yīng)在Project/Option中進(jìn)行相應(yīng)的修改(新安裝程序時的默認(rèn)設(shè)置,不熟悉的用戶最好不要隨意修改)。如果是下載過程中出現(xiàn)問題,可以嘗試使用Debug/Reset DSP,或者是按硬件上的手動復(fù)位鍵。課下練習(xí)數(shù)據(jù)存儲實(shí)驗(yàn)exp02a_memory_Emu F206 dsp的存貯器操作練習(xí),實(shí)驗(yàn)程序運(yùn)行之后,位于數(shù)據(jù)區(qū)地址201H開始的8個單元的數(shù)值被復(fù)制到了數(shù)據(jù)區(qū)301H開始的8個單元中。exp02b_memory_Sim把數(shù)據(jù)空間從0x0200開始的8個地址空間,填寫入0xAAAA的數(shù)值,然后讀出,并存儲到0X0208開始的8個地址空間。試編寫該程序,并用軟件仿真器(C2xx Simulator)調(diào)試、運(yùn)行程序,查看實(shí)驗(yàn)結(jié)果。比較軟件仿真與硬件仿真在編制、調(diào)試程序時的不同點(diǎn)。exp02c_memory該程序的功能是將在0200H開始的18個地址填寫1111
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小額信用借款合同書樣本
- 醫(yī)療器材合作合同樣本
- 農(nóng)村宅基地買賣合同樣本
- 夫妻雙方自愿離婚協(xié)議書撰寫要點(diǎn)
- 2024大學(xué)生就業(yè)協(xié)議書范例
- 離婚標(biāo)準(zhǔn)協(xié)議書815672024年
- 股東之間的投資合作協(xié)議
- 汽車買賣合同書樣本
- 電視劇動畫制作合作協(xié)議
- 合同擔(dān)保書樣本
- GB/T 11375-1999金屬和其他無機(jī)覆蓋層熱噴涂操作安全
- 《文獻(xiàn)閱讀》課件
- 2023年湖北農(nóng)業(yè)發(fā)展集團(tuán)有限公司招聘筆試題庫及答案解析
- 《中值定理應(yīng)用》課件
- 六年級英語上冊課件-Unit4 I have a pen pal 人教pep (共23張PPT)
- 糖尿病膳食計(jì)算課件
- 文化創(chuàng)意產(chǎn)品設(shè)計(jì)及案例PPT完整全套教學(xué)課件
- DB4208T74-2022《早春大棚西瓜生產(chǎn)技術(shù)規(guī)程》
- 急診及創(chuàng)傷外科題庫
- 人教版四年級上冊數(shù)學(xué)大數(shù)的認(rèn)識《改寫和近似數(shù)》課件
- 幼兒園大班科學(xué):《動物城破案》 課件
評論
0/150
提交評論