




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1數(shù)字信號(hào)處理器數(shù)字信號(hào)處理器 Digital Signal ProcessorTI DSP軟件開發(fā)工具軟件開發(fā)工具 CCS(Code Composer Studio)的使用的使用21 CCS集成環(huán)境IDE(Integrated Development Environment)n不僅僅是代碼生成工具不僅僅是代碼生成工具 具備基本調(diào)試功能,還具備實(shí)時(shí)分析的能力具備基本調(diào)試功能,還具備實(shí)時(shí)分析的能力 支持整個(gè)軟件開發(fā)過程:支持整個(gè)軟件開發(fā)過程: 設(shè)計(jì)設(shè)計(jì) 代碼生成代碼生成(項(xiàng)目建立,源程序編寫,項(xiàng)目建立,源程序編寫,配置文件配置文件) 調(diào)試調(diào)試(語法檢查,語法檢查,探測點(diǎn)探測點(diǎn),日志,日志log功
2、能功能) 實(shí)時(shí)分析實(shí)時(shí)分析(實(shí)時(shí)調(diào)試,實(shí)時(shí)狀態(tài)顯示,任務(wù)切換跟蹤實(shí)時(shí)調(diào)試,實(shí)時(shí)狀態(tài)顯示,任務(wù)切換跟蹤)實(shí)時(shí)(Real Time)是DSP的靈魂31.1 CCS集成環(huán)境IDE41.1 CCS集成環(huán)境IDE的組成51.1 CCS集成環(huán)境IDE的組成n包括主機(jī)和目標(biāo)系統(tǒng)兩部分nCCS 首先是作為代碼生成工具,作為代碼生成工具有這樣一些輸入:配置工具產(chǎn)生的配置文件,DSP/BIOS API的庫函數(shù)。自己的程序文件.c,.h,生成可執(zhí)行文件n主機(jī)方:最底層是JTAG,上面是調(diào)試器,再上面是CCS的各種插件,包括DSP/BIOS插件(實(shí)時(shí)調(diào)試),還用RTDX(實(shí)時(shí)數(shù)據(jù)交換)n目標(biāo)系統(tǒng)一方:最底層是硬件和J
3、TAG,向上是DSP/BIOS實(shí)時(shí)操作系統(tǒng)(這是可選的也可以沒有操作系統(tǒng),完全自己管理),再向上是應(yīng)用程序.61.2 CCS1.2 CCS代碼生成工具流圖代碼生成工具流圖71.2 CCS CCS代碼生成工具流圖代碼生成工具流圖n每個(gè)白色框代表一種代碼生成工具,條紋框是它的輸入文件類型n比如:C編譯器(C程序),匯編優(yōu)化器(線性匯編程序),匯編器(匯編),建庫工具,連接器n最后可執(zhí)行文件由調(diào)試器加載目標(biāo)系統(tǒng)以上的工具時(shí)常用和通用的.n其它的工具nhex conversion utility 16進(jìn)制轉(zhuǎn)換工具,把COFF 轉(zhuǎn)換為其它格式文件寫到EPROM中ncross-reference list
4、er 產(chǎn)生交叉參考列表, 它列出定義的symbol, 定義symbol的行, 以及用到symbol的位置(行),還有symbol的類型, 編譯和連接時(shí)分配給symbol的值.nabsolute lister, 產(chǎn)生連接后的coff文件的絕對(duì)地址列表nArchiver: 文檔管理工具打包.8C源程序宏源文件文檔管理器宏文件庫C編譯器匯編源程序代數(shù)式指令翻譯器匯編源程序匯編器建庫實(shí)用程序支持運(yùn)行的庫函數(shù)COFF目標(biāo)文件鏈接器可執(zhí)行的COFF文件交叉應(yīng)用列表程序PC機(jī)及DSP調(diào)試工具C54x絕對(duì)列表程序EPROM編程器十六進(jìn)制轉(zhuǎn)換程序十六進(jìn)制轉(zhuǎn)換程序文檔管理器CCSCCS代碼生代碼生成工具流圖成工具
5、流圖91.3 CCS CCS軟件軟件nTI公司耗資近2億美元nCCS2.0 For C5000系列nCCS2.0 For C6000系列nCCS2.0 For DSK(Developer Start Kit,初學(xué)者開發(fā)套件)nCCS2.1升級(jí)包 3101.3.1 CCS2.0界面(1)111.3.1 CCS2.0界面(1)nCCS提供一個(gè)類似VC的集成開發(fā)環(huán)境,使用比較方便n有菜單,工具條,左邊是項(xiàng)目窗口,右邊是代碼編輯窗口(和圖形顯示窗口),下邊是編譯器編譯結(jié)果,和變量顯示窗口,和寄存器觀察窗口.nProject 工具條: 編譯,連接,設(shè)置三種點(diǎn):斷點(diǎn)、探
6、點(diǎn)(probe)、時(shí)間分析點(diǎn)(profile)n調(diào)試工具條:程序step運(yùn)行(4種),連續(xù)運(yùn)行(2種),查看變量、寄存器、存儲(chǔ)器,調(diào)用堆棧,反匯編窗口nStandard工具條:新建,保存,打開,查找,剪貼, Find in files功能比較好用n編輯工具條:mark(大小括號(hào))查找,縮進(jìn)(outdent),書簽121.3.1 CCS2.0界面(2)nCCS提供一些類似VC的代碼編輯功能語法高亮顯示,自動(dòng)縮近,文字查找等等原程序和反匯編 同時(shí)顯示(逐條 語句對(duì)應(yīng),但優(yōu)化 后是模塊對(duì)應(yīng))131.3.2 CCS2.0項(xiàng)目管理n應(yīng)用程序按項(xiàng)目來管理,按層次以圖形化的方式顯示項(xiàng)目文件(.mak)CMD
7、文件.h頭文件.lib庫文件.c源程序141.3.3 CCS 圖形化設(shè)置n各種編譯選項(xiàng)(匯編器選項(xiàng),連接器選項(xiàng)等)通過圖形化方式來設(shè)置,不需要手工添加選項(xiàng)151.3.3 CCS2.0圖形化設(shè)置161.3.4 CCS2.0調(diào)試功能(1)n斷點(diǎn)設(shè)置:多種step方法: single step(step into); step over; step out; run to cursorn運(yùn)行到斷點(diǎn)處自動(dòng)更新窗口n觀察和編輯變量、寄存器和存儲(chǔ)器n調(diào)用堆棧(call stack),顯示函數(shù)調(diào)用層次關(guān)系. 補(bǔ)充上電時(shí)的工作:$ASM$(simulator, 硬件上電復(fù)位RESET中斷服務(wù)程序)c_int0
8、0_auto_init(C變量初始化)返回后c_int00調(diào)main()函數(shù). Main()完成后,c_int00調(diào)exit(1),做一些清楚工作,如關(guān)閉打開的文件.exit在調(diào)abort,無限循環(huán)n利用探點(diǎn)(probe point)流入流出(stream in and out)存儲(chǔ)器數(shù)據(jù)171.3.4 CCS2.0調(diào)試功能(2)n圖形化顯示數(shù)據(jù)n一維數(shù)據(jù),二維圖象,眼圖等n代碼剖析(Profile)n計(jì)算代碼運(yùn)行時(shí)間181.3.4 CCS2.0調(diào)試功能(3)191.3.5 CCS2.0 DSP/BIOS操作系統(tǒng)nDSP/BIOS是一個(gè)實(shí)時(shí)操作系統(tǒng)RTOSn提供通常的RTOS的功能(任務(wù)調(diào)度,
9、任務(wù)間通訊)n提供驅(qū)動(dòng)程序模型,層次化地設(shè)計(jì)應(yīng)用程序nDSP/BIOS以CCS插件的形式提供一些實(shí)時(shí)分析工具n程序跟蹤:觀察任務(wù)的調(diào)度、切換n性能監(jiān)視:觀察CPU的負(fù)載n狀態(tài)統(tǒng)計(jì):對(duì)事件做統(tǒng)計(jì)n提供RTDX(實(shí)時(shí)數(shù)據(jù)交換),不打斷DSP運(yùn)行的情況下實(shí)現(xiàn)主機(jī)和DSP的數(shù)據(jù)交換201.3.6 CCS2.0 RTDX(1)nRTDX,即Real-time Data Exchangen提供了一種實(shí)時(shí),連續(xù)的觀測手段,不打斷DSP運(yùn)行(數(shù)據(jù)可連續(xù)觀測,也可傳回來存儲(chǔ)后觀測)n不打斷DSP運(yùn)行的情況下,主機(jī)和DSP間傳遞數(shù)據(jù)n回傳到主機(jī)的數(shù)據(jù)可以在“OLE自動(dòng)化客戶”中顯示211.3.6 CCS2.0 R
10、TDX(2)n包括Host方和Target方nTarget方編程接口 RTDX target APInHost方編程接口 RTDX COM API(組件對(duì)象模型COM是windows下一種編程技術(shù))221.3.7 CCS2.0界面(2)n主機(jī)方的RTDX庫是和CCS集成在一起的n主機(jī)一方有一個(gè)函數(shù)接口,目標(biāo)方DSP上也有一個(gè)函數(shù)接口n主機(jī)應(yīng)用程序通過COM API發(fā)送數(shù)據(jù)到DSP,或接收數(shù)據(jù),應(yīng)用程序可以按自己的方式來顯示數(shù)據(jù),nRTDX可以脫離DSP/BIOS使用,給用戶靈活性n下一張圖是一個(gè)例子,用LabView作一個(gè)顯示界面,LabView調(diào)用RTDX API得到DSP傳來的數(shù)據(jù)231.
11、3.7 CCS2.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)的功率譜(對(duì)比)241.3.8 CCS2.0的文件與環(huán)境變量n.mak .lib .obj .out .wks (.wks 保存當(dāng)前CCS中的設(shè)置:打開的變量窗口,顯示的圖形。方便,快捷。)n可編輯文件:.c .asm .h .cmd (.sa)n三個(gè)環(huán)境變量:C6X_A_DIR,C6X
12、_C_DIR,PATH25CCS小結(jié)nCCS不僅僅是代碼生成工具,對(duì)軟件開發(fā)的各個(gè)階段都有支持n提供底層實(shí)時(shí)操作系統(tǒng)DSP/BIOSn提供RTDX新的實(shí)時(shí)調(diào)試手段,與CCS集成,不需要自己添加額外的用于調(diào)試的硬件(但是速率比較低)262 簡單程序開發(fā)流程(1)建立項(xiàng)目nProjectNew 選擇一個(gè)目錄,生成一個(gè)項(xiàng)目文件test.mak272 簡單程序開發(fā)流程(2)添加文件nProjectAdd Files to Project添加文件(.c,.lib,.cmd,.sa,.asm)1 1)vectors.asm vectors.asm 包含匯編指包含匯編指令處理令處理resetreset中斷服
13、務(wù)程序,中斷服務(wù)程序,跳轉(zhuǎn)到跳轉(zhuǎn)到C cC c的入口的入口. .c_int00. c_int00. 2 2)掃描掃描dependencedependence: .h .h282 簡單程序開發(fā)流程(3)代碼編輯n雙擊項(xiàng)目窗口的文件名,開始編輯源程序292 簡單程序開發(fā)流程(4)設(shè)置編譯選項(xiàng)nProjectOptions302 簡單程序開發(fā)流程(4)設(shè)置編譯選項(xiàng)312 簡單程序開發(fā)流程(4)設(shè)置編譯選項(xiàng)322 簡單程序開發(fā)流程(5)Build,DebugnProjectBuild332 簡單程序開發(fā)流程(6)Debugn加載程序FileLoad Programn設(shè)置斷點(diǎn),通過Watch Windo
14、w觀察變量n單步執(zhí)行黃色黃色條代表當(dāng)條代表當(dāng)前執(zhí)行到那條前執(zhí)行到那條語句語句紫色紫色條代表斷條代表斷點(diǎn)位置點(diǎn)位置342簡單程序開發(fā)流程(7)Profile(剖析)nProfileEnable Clock設(shè)置設(shè)置profile point(綠綠色條色條)每個(gè)綠色條在窗口中對(duì)每個(gè)綠色條在窗口中對(duì)應(yīng)有一行統(tǒng)計(jì)數(shù)字,用應(yīng)有一行統(tǒng)計(jì)數(shù)字,用來統(tǒng)計(jì)來統(tǒng)計(jì)profile point(綠色條)之間的時(shí)鐘綠色條)之間的時(shí)鐘數(shù)數(shù)調(diào)試器內(nèi)部有時(shí)鐘計(jì)數(shù),調(diào)試器內(nèi)部有時(shí)鐘計(jì)數(shù),最后查看每一個(gè)觀測點(diǎn)最后查看每一個(gè)觀測點(diǎn)的運(yùn)行時(shí)間的運(yùn)行時(shí)間356 一些調(diào)試經(jīng)驗(yàn)(1)n1)1)一次新增的調(diào)試代碼不能過長一次新增的調(diào)試代碼不能
15、過長. .n2)2)防御式編程防御式編程: : 如通信中的等待時(shí)間不能過長如通信中的等待時(shí)間不能過長n3)3)對(duì)感興趣的事件做記錄對(duì)感興趣的事件做記錄: : 中斷發(fā)生次數(shù)中斷發(fā)生次數(shù), , 等待超時(shí)計(jì)等待超時(shí)計(jì)數(shù)數(shù)n4)CCS4)CCS的運(yùn)行中添加斷點(diǎn)和運(yùn)行前添加斷點(diǎn)的運(yùn)行中添加斷點(diǎn)和運(yùn)行前添加斷點(diǎn)n5)5)窗口刷新的影響窗口刷新的影響: : 大量的數(shù)據(jù)更新回影響底層的時(shí)序大量的數(shù)據(jù)更新回影響底層的時(shí)序n6)6)隨時(shí)關(guān)系程序運(yùn)行時(shí)間隨時(shí)關(guān)系程序運(yùn)行時(shí)間, , 過長會(huì)影響時(shí)序過長會(huì)影響時(shí)序, ,設(shè)置計(jì)算設(shè)置計(jì)算器器. .366 一些調(diào)試經(jīng)驗(yàn)(2)n7)7)注意數(shù)組的越界和指針的使用注意數(shù)組的越界
16、和指針的使用: : 也是其它編程通常的錯(cuò)誤也是其它編程通常的錯(cuò)誤, , 這這個(gè)錯(cuò)誤可能其它部分修改個(gè)錯(cuò)誤可能其它部分修改, , 尤其對(duì)硬件計(jì)數(shù)器的修改導(dǎo)致各種錯(cuò)尤其對(duì)硬件計(jì)數(shù)器的修改導(dǎo)致各種錯(cuò)誤誤, , 調(diào)試方法調(diào)試方法: : 遞進(jìn)增加代碼遞進(jìn)增加代碼, , 看看mapmap文件文件, ,了解前后關(guān)系了解前后關(guān)系n8)8)多用服務(wù)中斷程序多用服務(wù)中斷程序, , 但中斷服務(wù)程序不能帶參數(shù)但中斷服務(wù)程序不能帶參數(shù), , 只有通過全只有通過全局變量傳遞值局變量傳遞值, , 所以全局變量常用所以全局變量常用. .n9)volatile 9)volatile 關(guān)鍵字關(guān)鍵字. . 背景中修改背景中修改,
17、, 不被優(yōu)化掉不被優(yōu)化掉. .n10)10)關(guān)于中斷嵌套:關(guān)于中斷嵌套: 長中斷被頻繁中斷中斷,允許嵌套是,關(guān)閉長中斷被頻繁中斷中斷,允許嵌套是,關(guān)閉自身,即不允許重入自身,即不允許重入. . 原因在于打亂時(shí)序關(guān)系原因在于打亂時(shí)序關(guān)系. .n1111)觀察中斷間的同步:通過設(shè)全局變量和記錄數(shù)組觀察嵌套中)觀察中斷間的同步:通過設(shè)全局變量和記錄數(shù)組觀察嵌套中斷發(fā)生時(shí)被嵌套中斷程序的運(yùn)行狀態(tài)斷發(fā)生時(shí)被嵌套中斷程序的運(yùn)行狀態(tài)37關(guān)于TI DSP軟件開發(fā)的學(xué)習(xí)n1)CCS1)CCS只是一部分只是一部分 TutorialTutorial教程入手(教程入手(100100頁左右)。其頁左右)。其它的用到的再
18、查用戶使用手冊(cè)它的用到的再查用戶使用手冊(cè)UserUsers Guides Guiden2 2)C C 的運(yùn)行環(huán)境:的運(yùn)行環(huán)境:C6000C6000的寫在優(yōu)化的寫在優(yōu)化C compiler userC compiler users guides guide中中7 7、8 8章。包括擴(kuò)充的章。包括擴(kuò)充的C C的關(guān)鍵字,編程偽指令,寄存器調(diào)用規(guī)的關(guān)鍵字,編程偽指令,寄存器調(diào)用規(guī)則,存儲(chǔ)器模式,則,存儲(chǔ)器模式,C C語言與匯編語言的接口;語言與匯編語言的接口;n3 3)CPUCPU和匯編語言:耗時(shí)長的部分用匯編寫。和匯編語言:耗時(shí)長的部分用匯編寫。C6000C6000寫線性匯編寫線性匯編要了解要了解CPUCPU結(jié)構(gòu)。結(jié)構(gòu)。n4 4)硬件知識(shí):其實(shí)是不應(yīng)該省略的。難點(diǎn):中斷,)硬件知識(shí):其實(shí)是
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 室內(nèi)消防箱管理制度
- 家委會(huì)經(jīng)費(fèi)管理制度
- 庫房紅黃線管理制度
- 強(qiáng)化對(duì)餐廳管理制度
- 影像科衛(wèi)生管理制度
- 微信工作群管理制度
- 德智體美勞管理制度
- 快餐店前廳管理制度
- 性傳播疾病管理制度
- 患者床頭卡管理制度
- 年產(chǎn)12000噸水合肼(100%)項(xiàng)目環(huán)評(píng)報(bào)告書
- 《有機(jī)波譜分析》期末考試試卷及參考答案
- 公路工程基本建設(shè)項(xiàng)目概算、預(yù)算編制辦法
- 最詳細(xì)的整車開發(fā)流程
- 部編版七年級(jí)歷史(下)材料論述題專項(xiàng)訓(xùn)練
- 年產(chǎn)1000噸乳酸的生產(chǎn)工藝設(shè)計(jì)
- 博克服裝CAD制版說明操作手冊(cè)(共95頁)
- 光電效應(yīng)測普朗克常數(shù)-實(shí)驗(yàn)報(bào)告
- (完整word版)數(shù)據(jù)模型與決策課程案例分析
- 自制桁架移動(dòng)式操作平臺(tái)施工方案
- 物業(yè)服務(wù)參與校園文化建設(shè)及舉辦大型活動(dòng)配合措施
評(píng)論
0/150
提交評(píng)論