武漢大學(xué)DSP講義第三部分TIDSP軟件開發(fā)工具CCS的使用_第1頁(yè)
武漢大學(xué)DSP講義第三部分TIDSP軟件開發(fā)工具CCS的使用_第2頁(yè)
武漢大學(xué)DSP講義第三部分TIDSP軟件開發(fā)工具CCS的使用_第3頁(yè)
武漢大學(xué)DSP講義第三部分TIDSP軟件開發(fā)工具CCS的使用_第4頁(yè)
武漢大學(xué)DSP講義第三部分TIDSP軟件開發(fā)工具CCS的使用_第5頁(yè)
已閱讀5頁(yè),還剩45頁(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)介

數(shù)字信號(hào)處理器DigitalSignalProcessor

第三局部TIDSP軟件開發(fā)工具

CCS(CodeComposerStudio)的使用紀(jì)震博士Dr.JiZhenShenzhenUniv.-TexasInstrumentsDSPsLab2003.0211CCS集成環(huán)境IDE

(IntegratedDevelopmentEnvironment)不僅僅是代碼生成工具具備根本調(diào)試功能,還具備實(shí)時(shí)分析的能力支持整個(gè)軟件開發(fā)過(guò)程:設(shè)計(jì)代碼生成(工程建立,源程序編寫,配置文件)調(diào)試(語(yǔ)法檢查,探測(cè)點(diǎn),日志log功能)實(shí)時(shí)分析(實(shí)時(shí)調(diào)試,實(shí)時(shí)狀態(tài)顯示,任務(wù)切換跟蹤)實(shí)時(shí)(RealTime)是DSP的靈魂2Dr.JIZHEN1.1CCS集成環(huán)境IDE3Dr.JIZHEN1.1CCS集成環(huán)境IDE的組成4Dr.JIZHEN1.1CCS集成環(huán)境IDE的組成包括主機(jī)和目標(biāo)系統(tǒng)兩局部CCS首先是作為代碼生成工具,作為代碼生成工具有這樣一些輸入:配置工具產(chǎn)生的配置文件,DSP/BIOSAPI的庫(kù)函數(shù)。自己的程序文件.c,.h,生成可執(zhí)行文件主機(jī)方:最低層是JTAG,上面是調(diào)試器,再上面是CCS的各種插件,包括DSP/BIOS插件〔實(shí)時(shí)調(diào)試〕,還用RTDX〔實(shí)時(shí)數(shù)據(jù)交換〕目標(biāo)系統(tǒng)一方:最底層是硬件和JTAG,向上是DSP/BIOS實(shí)時(shí)操作系統(tǒng)〔這是可選的也可以沒(méi)有操作系統(tǒng),完全自己管理〕,再向上是應(yīng)用程序.5Dr.JIZHEN1.2CCS代碼生成工具流圖6Dr.JIZHEN1.2CCS代碼生成工具流圖每個(gè)白色框代表一種代碼生成工具,條紋框是它的輸入文件類型比方:C編譯器〔C程序〕,匯編優(yōu)化器〔線性匯編程序〕,匯編器〔匯編〕,建庫(kù)工具,連接器最后可執(zhí)行文件由調(diào)試器加載目標(biāo)系統(tǒng)以上的工具時(shí)常用和通用的.其它的工具h(yuǎn)exconversionutility16進(jìn)制轉(zhuǎn)換工具,把COFF轉(zhuǎn)換為其它格式文件寫到EPROM中cross-referencelister產(chǎn)生交叉參考列表,它列出定義的symbol,定義symbol的行,以及用到symbol的位置(行),還有symbol的類型,編譯和連接時(shí)分配給symbol的值.absolutelister,產(chǎn)生連接后的coff文件的絕對(duì)地址列表Archiver:文檔管理工具—打包.7Dr.JIZHENCCS代碼生成工具流圖8Dr.JIZHEN1.3CCS軟件TI公司耗資近2億美元CCS2.0ForC5000系列CCS2.0ForC6000系列CCS2.0ForDSK〔DeveloperStartKit,初學(xué)者開發(fā)套件〕CCS2.1升級(jí)包9Dr.JIZHEN1.3.1CCS2.0界面(1)10Dr.JIZHEN1.3.1CCS2.0界面(1)CCS提供一個(gè)類似VC++的集成開發(fā)環(huán)境,使用比較方便有菜單,工具條,左邊是工程窗口,右邊是代碼編輯窗口(和圖形顯示窗口),下邊是編譯器編譯結(jié)果,和變量顯示窗口,和存放器觀察窗口.Project工具條:編譯,連接,設(shè)置三種點(diǎn):斷點(diǎn)、探點(diǎn)〔probe〕、時(shí)間分析點(diǎn)〔profile〕調(diào)試工具條:程序step運(yùn)行〔4種〕,連續(xù)運(yùn)行〔2種〕,查看變量、存放器、存儲(chǔ)器,調(diào)用堆棧,反匯編窗口Standard工具條:新建,保存,翻開,查找,剪貼,Findinfiles功能比較好用編輯工具條:mark〔大小括號(hào)〕查找,縮進(jìn)〔outdent〕,書簽11Dr.JIZHEN1.3.1CCS2.0界面(2)CCS提供一些類似VC的代碼編輯功能語(yǔ)法高亮顯示,自動(dòng)縮近,文字查找等等原程序和反匯編同時(shí)顯示〔逐條語(yǔ)句對(duì)應(yīng),但優(yōu)化后是模塊對(duì)應(yīng)〕12Dr.JIZHEN1.3.2CCS2.0工程管理應(yīng)用程序按工程來(lái)管理,按層次以圖形化的方式顯示工程文件(.mak)CMD文件.h頭文件.lib庫(kù)文件.c源程序13Dr.JIZHEN1.3.3CCS2.0圖形化設(shè)置各種編譯選項(xiàng)〔匯編器選項(xiàng),連接器選項(xiàng)等〕通過(guò)圖形化方式來(lái)設(shè)置,不需要手工添加選項(xiàng)14Dr.JIZHEN1.3.3CCS2.0圖形化設(shè)置15Dr.JIZHEN1.3.4CCS2.0調(diào)試功能(1)斷點(diǎn)設(shè)置:多種step方法:singlestep(stepinto);stepover;stepout;runtocursor運(yùn)行到斷點(diǎn)處自動(dòng)更新窗口觀察和編輯變量、存放器和存儲(chǔ)器調(diào)用堆棧〔callstack〕,顯示函數(shù)調(diào)用層次關(guān)系.補(bǔ)充上電時(shí)的工作:$ASM$(simulator,硬件上電復(fù)位RESET中斷效勞程序)c_int00_auto_init(C變量初始化)返回后c_int00調(diào)main()函數(shù)….Main()完成后,c_int00調(diào)exit(1),做一些清楚工作,如關(guān)閉翻開的文件.exit在調(diào)abort,無(wú)限循環(huán)利用探點(diǎn)(probepoint)流入流出(streaminandout)存儲(chǔ)器數(shù)據(jù)16Dr.JIZHEN1.3.4CCS2.0調(diào)試功能(2)圖形化顯示數(shù)據(jù)一維數(shù)據(jù),二維圖象,眼圖等代碼剖析〔Profile〕計(jì)算代碼運(yùn)行時(shí)間17Dr.JIZHEN1.3.4CCS2.0調(diào)試功能(3)18Dr.JIZHEN1.3.5CCS2.0

DSP/BIOS操作系統(tǒng)DSP/BIOS是一個(gè)實(shí)時(shí)操作系統(tǒng)RTOS提供通常的RTOS的功能〔任務(wù)調(diào)度,任務(wù)間通訊〕提供驅(qū)動(dòng)程序模型,層次化地設(shè)計(jì)應(yīng)用程序DSP/BIOS以CCS插件的形式提供一些實(shí)時(shí)分析工具程序跟蹤:觀察任務(wù)的調(diào)度、切換性能監(jiān)視:觀察CPU的負(fù)載狀態(tài)統(tǒng)計(jì):對(duì)事件做統(tǒng)計(jì)提供RTDX〔實(shí)時(shí)數(shù)據(jù)交換〕,不打斷DSP運(yùn)行的情況下實(shí)現(xiàn)主機(jī)和DSP的數(shù)據(jù)交換19Dr.JIZHEN1.3.6CCS2.0

RTDX(1)RTDX,即Real-timeDataExchange提供了一種實(shí)時(shí),連續(xù)的觀測(cè)手段,不打斷DSP運(yùn)行〔數(shù)據(jù)可連續(xù)觀測(cè),也可傳回來(lái)存儲(chǔ)后觀測(cè)〕不打斷DSP運(yùn)行的情況下,主機(jī)和DSP間傳遞數(shù)據(jù)回傳到主機(jī)的數(shù)據(jù)可以在“OLE自動(dòng)化客戶〞中顯示20Dr.JIZHEN1.3.6CCS2.0

RTDX(2)包括Host方和Target方Target方編程接口RTDXtargetAPIHost方編程接口RTDXCOMAPI〔組件對(duì)象模型COM是windows下一種編程技術(shù)〕21Dr.JIZHEN1.3.7CCS2.0界面(2)主機(jī)方的RTDX庫(kù)是和CCS集成在一起的主機(jī)一方有一個(gè)函數(shù)接口,目標(biāo)方DSP上也有一個(gè)函數(shù)接口主機(jī)應(yīng)用程序通過(guò)COMAPI發(fā)送數(shù)據(jù)到DSP,或接收數(shù)據(jù),應(yīng)用程序可以按自己的方式來(lái)顯示數(shù)據(jù),RTDX可以脫離DSP/BIOS使用,給用戶靈活性下一張圖是一個(gè)例子,用LabView作一個(gè)顯示界面,LabView調(diào)用RTDXAPI得到DSP傳來(lái)的數(shù)據(jù)22Dr.JIZHEN1.3.7CCS2.0界面(2)這是一個(gè)fir濾波的例子.HOST原始數(shù)據(jù)(顯示,左上方)(RTDX)dspfilter(RTDX)HOST(顯示,左下方)左上方:原始的數(shù)據(jù)左下方:濾波后數(shù)據(jù)右上方:dsp的fir濾波后的信號(hào)(左下方顯示)的功率譜右下方:Labview對(duì)原始信號(hào)進(jìn)行fir濾波后的信號(hào)的功率譜(比照)23Dr.JIZHEN1.3.8CCS2.0的文件與環(huán)境變量.mak.lib.obj.out.wks(.wks保存當(dāng)前CCS中的設(shè)置:翻開的變量窗口,顯示的圖形。方便,快捷。)可編輯文件:.c.asm.hd(.sa)三個(gè)環(huán)境變量:C6X_A_DIR,C6X_C_DIR,PATH24Dr.JIZHENCCS小結(jié)CCS不僅僅是代碼生成工具,對(duì)軟件開發(fā)的各個(gè)階段都有支持提供底層實(shí)時(shí)操作系統(tǒng)DSP/BIOS提供RTDX新的實(shí)時(shí)調(diào)試手段,與CCS集成,不需要自己添加額外的用于調(diào)試的硬件〔但是速率比較低〕25Dr.JIZHEN2簡(jiǎn)單程序開發(fā)流程〔1〕建立工程ProjectNew選擇一個(gè)目錄,生成一個(gè)工程文件test.mak26Dr.JIZHEN2簡(jiǎn)單程序開發(fā)流程〔2〕添加文件ProjectAddFilestoProject…添加文件〔.c,.lib,d,.sa,.asm…〕1〕vectors.asm包含匯編指令處理reset中斷效勞程序,跳轉(zhuǎn)到Cc的入口.c_int00.2〕掃描dependence:.h27Dr.JIZHEN2簡(jiǎn)單程序開發(fā)流程〔3〕代碼編輯雙擊工程窗口的文件名,開始編輯源程序28Dr.JIZHEN2簡(jiǎn)單程序開發(fā)流程〔4〕設(shè)置編譯選項(xiàng)ProjectOptions29Dr.JIZHEN2簡(jiǎn)單程序開發(fā)流程〔4〕設(shè)置編譯選項(xiàng)30Dr.JIZHEN2簡(jiǎn)單程序開發(fā)流程〔4〕設(shè)置編譯選項(xiàng)31Dr.JIZHEN2簡(jiǎn)單程序開發(fā)流程〔5〕Build,DebugProjectBuild32Dr.JIZHEN2簡(jiǎn)單程序開發(fā)流程〔6〕Debug加載程序FileLoadProgram…設(shè)置斷點(diǎn),通過(guò)WatchWindow觀察變量單步執(zhí)行黃色條代表當(dāng)前執(zhí)行到那條語(yǔ)句紫色條代表斷點(diǎn)位置33Dr.JIZHEN2簡(jiǎn)單程序開發(fā)流程〔7〕Profile〔剖析〕ProfileEnableClock設(shè)置profilepoint〔綠色條〕每個(gè)綠色條在窗口中對(duì)應(yīng)有一行統(tǒng)計(jì)數(shù)字,用來(lái)統(tǒng)計(jì)profilepoint〔綠色條〕之間的時(shí)鐘數(shù)調(diào)試器內(nèi)部有時(shí)鐘計(jì)數(shù),最后查看每一個(gè)觀測(cè)點(diǎn)的運(yùn)行時(shí)間34Dr.JIZHEN2簡(jiǎn)單程序開發(fā)流程〔7〕總結(jié)按工程管理圖形化的編譯選項(xiàng)設(shè)置提供各種調(diào)試功能,斷點(diǎn)方式,Profile方式下面介紹一個(gè)例子,將學(xué)習(xí)到probepoint〔用于從文件讀入數(shù)據(jù)〕,圖形顯示,animation等調(diào)試方法35Dr.JIZHEN3算法測(cè)試和文件IO〔1〕探點(diǎn)Probe〔探點(diǎn)〕

1)適合于算法的開發(fā),功能驗(yàn)證 2)可以完成這樣的功能從一個(gè)文件中讀入數(shù)據(jù)到一個(gè)DSP的緩沖區(qū)將一個(gè)DSP的緩沖區(qū)寫到文件中 3)探點(diǎn)類似于斷點(diǎn),又不同于斷點(diǎn)運(yùn)行到Probepoint,DSP會(huì)停頓下來(lái)完成一些動(dòng)作后〔讀寫文件〕,程序繼續(xù)運(yùn)行 4)文件輸入輸出的設(shè)置:FileFileI/O… 5)Probe的設(shè)置:類似斷點(diǎn)的設(shè)置〔用工具條〕36Dr.JIZHEN3算法測(cè)試和文件IO〔1〕探點(diǎn)37Dr.JIZHEN3算法測(cè)試和文件IO〔2〕圖形CCS支持一維圖形,二維圖象〔標(biāo)準(zhǔn)的數(shù)據(jù)格式〕,眼圖等顯示方式有放大、縮小等功能可以方便直觀地判斷算法執(zhí)行的效果38Dr.JIZHEN3算法測(cè)試和文件IO〔3〕GELGEL=GeneralExtensionLanguage一種類似C的解釋型語(yǔ)言,可實(shí)現(xiàn)循環(huán)等程序結(jié)構(gòu)提供根本的程序控制命令,類似以前emulator提供的命令,GEL_Go(),GEL_Reset()等等可以制作菜單〔可以參加到CCS主菜單〕,對(duì)話框,滑動(dòng)條39Dr.JIZHEN4基于DSP/BIOS程序的調(diào)試〔1〕DSP/BIOS提供“虛擬儀器〞的調(diào)試方法以圖形化的方式觀察程序執(zhí)行的流向,任務(wù)如何調(diào)度、切換的以圖形化的方式觀看CPULOAD〔CPU負(fù)荷〕,了解CPU還有多大的運(yùn)算能力應(yīng)用程序必須是基于DSP/BIOS的程序,DSP/BIOS提供圖形化的界面設(shè)置各個(gè)模塊的參數(shù)40Dr.JIZHEN4基于DSP/BIOS程序的調(diào)試〔1〕41Dr.JIZHEN4基于DSP/BIOS程序的調(diào)試〔2〕通過(guò)RTA設(shè)置觀看的內(nèi)容通過(guò)ExecutionGraph觀察任務(wù)切換通過(guò)CPULoadGraph觀察CPU負(fù)荷用過(guò)STS觀察事件的統(tǒng)計(jì)都是DSP/BIOS提供的功能42Dr.JIZHEN4基于DSP/BIOS程序的調(diào)試〔2〕43Dr.JIZHEN5基于RTDX的實(shí)時(shí)調(diào)試〔1〕可以實(shí)時(shí)地對(duì)DSP進(jìn)行調(diào)試,不打斷DSP的運(yùn)行可以在不打斷DSP運(yùn)行的情況下,在Host和DSP之間傳遞數(shù)據(jù)是一個(gè)雙向數(shù)據(jù)通道,既可以用來(lái)為主機(jī)收集目標(biāo)系統(tǒng)的數(shù)據(jù),也可以用來(lái)調(diào)整目標(biāo)系統(tǒng)的參數(shù)可以和主機(jī)的應(yīng)用程序集成,實(shí)現(xiàn)自己的用戶界面〔而不是在CCS環(huán)境中44Dr.JIZHEN5基于RTDX的實(shí)時(shí)調(diào)試〔2〕RTDX包括Host和Target兩局部主機(jī)應(yīng)用程序通過(guò)COMAPI與RTDX庫(kù)通訊,目標(biāo)系統(tǒng)上也有RTDX的函數(shù)接口主機(jī)庫(kù)支持兩種接收數(shù)據(jù)模式:連續(xù)、非連續(xù)連續(xù)模式下,RTDX庫(kù)只是緩沖數(shù)據(jù),適合只顯示、不存儲(chǔ)的應(yīng)用程序非連續(xù)模式下,接收的數(shù)據(jù)被寫入一個(gè)日志〔LOG〕文件中,適合需要存儲(chǔ)數(shù)據(jù)的應(yīng)用程序45Dr.JIZHEN6一些調(diào)試經(jīng)驗(yàn)(1)1)一次新增的調(diào)試代碼不能過(guò)長(zhǎng).2)防御式編程:如通信中的等待時(shí)間不能過(guò)長(zhǎng)3)對(duì)感興趣的事件做記錄:中斷發(fā)生次數(shù),等待超時(shí)計(jì)數(shù)4)CCS的運(yùn)行中添加斷點(diǎn)和運(yùn)行前添加斷點(diǎn)5)窗口刷新的影響:大量的數(shù)據(jù)更新回影響底層的時(shí)序6)隨時(shí)關(guān)系程序運(yùn)行時(shí)間,過(guò)長(zhǎng)會(huì)影響時(shí)序,設(shè)置計(jì)算器.46Dr.JIZHEN6一些調(diào)試經(jīng)驗(yàn)(2)7)注意數(shù)組的越界和指針的使用:也是其它編程通常的錯(cuò)誤,這個(gè)錯(cuò)誤可能其它局部修改,尤其對(duì)硬件計(jì)數(shù)器

溫馨提示

  • 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)論