




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)2:CCS中DSP/BIOS操作實(shí)驗(yàn)一、實(shí)驗(yàn)項(xiàng)目與目的學(xué)習(xí)DSP/BIOS中線程task、旗語(yǔ)、郵箱的使用方法,同時(shí)進(jìn)一步練習(xí)C語(yǔ)言編程及調(diào)試。二、實(shí)驗(yàn)設(shè)備計(jì)算機(jī),CC3.3版軟件三、實(shí)驗(yàn)內(nèi)容與步驟1配置CCS軟件 在桌面上打開(kāi),按照?qǐng)D1所示配置。然后點(diǎn)擊“Save & Quit”按鈕后退出CCS設(shè)置工具,啟動(dòng)CCS。圖1 CCS配置界面2建立帶有DSP/BIOS的項(xiàng)目文件(1)在桌面上有一個(gè)名為tsktest.c的文件,也就是我們實(shí)驗(yàn)的源程序文件。(2)雙擊桌面上的圖標(biāo),啟動(dòng)CCS。 (3)在Project菜單下點(diǎn)擊New,在出現(xiàn)的項(xiàng)目創(chuàng)建窗口中輸入項(xiàng)目文件名稱。名稱任意,例如“
2、tsktest”。如圖2所示:圖2 建立工程4)把源程序tsktest.c拷貝到當(dāng)前工程的目錄下,然后再加入到工程中,如圖3所示:1 / 12圖3 把tsktest.c加入工程中5)在項(xiàng)目文件查看窗口中打開(kāi)“+”號(hào)展開(kāi)下面的文件,然后雙擊文件tsktest.c,在主窗口(右半窗口)顯示相應(yīng)文件的源程序,出現(xiàn)圖4,此時(shí)可以瀏覽并檢查源程序。圖4 瀏覽源程序和工程3向工程中加入DSP/BIOS配置文件該工程是一個(gè)任務(wù)、郵箱、旗語(yǔ)的綜合測(cè)試?yán)?,任?wù)測(cè)試部分為3個(gè)函數(shù)taskA/taskB/taskC,其代碼一樣。為方便理解,故放在這3個(gè)函數(shù)中。void taskA(Arg id_arg) Int
3、id = ArgToInt (id_arg); Int i; LOG_printf(&trace, "Task %d Begin Working.",id); for (i = 0; i < NLOOPS ; i+) LOG_printf(&trace, "Loop Num = %d: Task ID = %d", i, id); TSK_yield(); LOG_printf(&trace, "Task %d DONE", id);這三個(gè)函數(shù)每個(gè)都是一個(gè)單獨(dú)的任務(wù),所以需要在DSP/BIOS環(huán)境中運(yùn)行,
4、下面新建并加入DSP/BIOS配置文件。1)向工程中加入DSP/BIOS系統(tǒng),步驟為點(diǎn)擊菜單“File->New->DSP/BIOS configuration”,如圖5所示:圖5 新建DSP/BIOS配置文件出現(xiàn)圖6所示界面,選擇ti.platforms.sim64xx,然后點(diǎn)擊OK。圖6 選擇合適的芯片型號(hào) 圖7 保存tsktest.tcf2)點(diǎn)擊保存圖標(biāo),把文件保存為tsktest.tcf,圖7所示。3)用和加入tsktest.c程序同樣方法將tsktest.tcf加入工程,注意文件類型選擇*.tcf,否則找不到文件:圖8 把tsktest.tcf加入工程加入后的工程如圖9所
5、示,DSP/BIOS Config下面有了內(nèi)容,也就是tsktest.tcf:圖9 加入DSP/BIOS后的工程4)修改HEAP的配置,在MEM上面右鍵,然后“Properties”(圖),彈出內(nèi)存的屬性配置,如圖10和11所示:圖10修改MEM的屬性然后選中No Dynamic Memort Heaps后,確定即可。圖11 修改MEM屬性4靜態(tài)建立任務(wù)接下來(lái)對(duì)DSP/BIOS進(jìn)行配置,加入三個(gè)線程task0/task1/task2,分別用來(lái)調(diào)用taskA/taskB/taskC三個(gè)函數(shù)。這三個(gè)函數(shù)功能是在日志中寫入運(yùn)行狀態(tài),用來(lái)演示線程是同時(shí)、并行運(yùn)行的。在工程中雙擊tsktest.tcf文
6、件,打開(kāi)BIOS配置界面。然后點(diǎn)開(kāi)”scheduling”,新建一個(gè)任務(wù)(task),如圖12所示:圖12 建立任務(wù)然后按照同樣的方法分別建立task1、task2,最后如圖13所示。圖13 建立3個(gè)任務(wù)task0/task1/task2修改任務(wù)的屬性,在task0上點(diǎn)右鍵,然后選擇“屬性”,按照?qǐng)D14所示填寫內(nèi)容,它調(diào)用函數(shù)taskA,第一個(gè)參數(shù)0作為初始值傳入函數(shù)taskA中。這個(gè)值作為參數(shù)傳入線程函數(shù)中。圖14 設(shè)置task0的屬性再分別設(shè)置task1、task2的屬性,其調(diào)用的函數(shù)分別是taskB和taskC;傳入的參數(shù)分別是1和2。5靜態(tài)建立信號(hào)量建立信號(hào)量sem,如圖15所示:圖1
7、5 建立信號(hào)量sem5靜態(tài)建立郵箱1)在DSP/BIOS中建立了一個(gè)郵箱mbx(圖16所示),大小為24字節(jié),長(zhǎng)度是2,用來(lái)存放結(jié)構(gòu)體數(shù)據(jù)。圖16 建立郵箱并設(shè)置2)再為郵箱建立任務(wù)線程,分別是讀線程taskMbx1和郵箱寫線程taskMbx2(圖17所示),用來(lái)讀寫郵箱,分別調(diào)用函數(shù)mbxReader和mbxWriter。圖17 郵箱測(cè)試線程3)在DSP/BIOS中建立了旗語(yǔ)sem,旗語(yǔ)測(cè)試采用線程triggerSem,調(diào)用函數(shù)tskSem,如圖18所示。圖18 建立旗語(yǔ)測(cè)試線程4)除此之外,為方便調(diào)試和跟蹤程序,在DSP/BIOS中建立了LOG對(duì)象trace,用來(lái)顯示消息,如圖19所示。圖
8、19 建立LOG對(duì)象trace到此就完成了對(duì)象的創(chuàng)建,開(kāi)始編譯程序,點(diǎn)擊圖標(biāo)進(jìn)行編譯。此時(shí)會(huì)報(bào)錯(cuò),再把文件tsktestcfg.cmd加入工程后重新編譯即可。6運(yùn)行程序,觀察結(jié)果(1)測(cè)試和觀察線程1)編譯程序,點(diǎn)擊圖標(biāo),編譯成功后,點(diǎn)擊File/Load Program,顯示圖20所示界面。圖20 載入程序2)點(diǎn)擊Debug菜單,選擇tsktest.out文件后點(diǎn)擊按鈕“打開(kāi)”,加載程序。3)點(diǎn)擊菜單DSP/BIOS下的message log菜單(圖21)。圖21 message Log菜單彈出圖7所示界面,顯示出message log窗口圖22 message log窗口4)單擊工具條中的
9、按鈕或按F5鍵,或選擇DebugRun,開(kāi)始運(yùn)行程序。等待一會(huì)兒后,在message log中顯示圖8所示信息,表示了task0、task1、task2的執(zhí)行情況。圖23 message Log信息該信息表明,task0/task1/task2先后啟動(dòng),同時(shí)運(yùn)行。圖24 清除所有LOG消息5)在message Log窗口中點(diǎn)鼠標(biāo)右鍵,在彈出窗口中選擇Clear , 清除所有消息。6)tsktest.c中,雙擊變量g_trigger,使之變成全選狀態(tài),然后右鍵,在彈出的菜單中選擇Add Watch Window(圖25)。圖25 增加變量g_trigger進(jìn)入觀察窗口顯示圖26所示界面。圖26 觀察g_trigger變量的值7)點(diǎn)擊Value 0,然后把0修改成1;再右鍵在彈出的菜單中點(diǎn)擊Refresh(圖27
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)基礎(chǔ)知識(shí)定期復(fù)習(xí)試題及答案
- MySQL查詢語(yǔ)句實(shí)戰(zhàn)試題及答案
- 計(jì)算機(jī)一級(jí)Photoshop技巧提升試題及答案
- 深入剖析MS Office試題及答案
- 生物-感受器和感覺(jué)器官(第1課時(shí))課件-2024-2025學(xué)年北師大版生物七年級(jí)下冊(cè)
- 2025年重要考點(diǎn)計(jì)算機(jī)試題及答案
- 計(jì)算機(jī)二級(jí)考試Delphi重點(diǎn)考點(diǎn)試題及答案
- 愚人節(jié)主題模板24
- 市場(chǎng)規(guī)范制度先行75課件
- 2025年履行合同時(shí)如何規(guī)避風(fēng)險(xiǎn):采購(gòu)合同的風(fēng)險(xiǎn)防范與應(yīng)對(duì)策略
- 三乙胺安全標(biāo)簽
- GB/T 4490-2021織物芯輸送帶寬度和長(zhǎng)度
- GB/T 3299-2011日用陶瓷器吸水率測(cè)定方法
- GB/T 18867-2014電子工業(yè)用氣體六氟化硫
- GB/T 17793-1999一般用途的加工銅及銅合金板帶材外形尺寸及允許偏差
- FZ/T 51011-2014纖維級(jí)聚己二酰己二胺切片
- ICU常見(jiàn)檢查項(xiàng)目及課件
- 《月光下的中國(guó)》朗誦稿
- 土地荒漠化的防治(公開(kāi)課)課件
- 中考備考應(yīng)對(duì)中考?xì)v史學(xué)科的復(fù)習(xí)策略和解題技巧課件
- 第15課《驛路梨花》教學(xué)實(shí)錄
評(píng)論
0/150
提交評(píng)論