TI_DSP軟件開發(fā)工具CCS的使用_第1頁
TI_DSP軟件開發(fā)工具CCS的使用_第2頁
TI_DSP軟件開發(fā)工具CCS的使用_第3頁
TI_DSP軟件開發(fā)工具CCS的使用_第4頁
TI_DSP軟件開發(fā)工具CCS的使用_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、1數(shù)字信號處理器數(shù)字信號處理器 Digital Signal ProcessorTI DSP軟件開發(fā)工具軟件開發(fā)工具 CCS(Code Composer Studio)的使用的使用21 CCS集成環(huán)境IDE(Integrated Development Environment)n不僅僅是代碼生成工具不僅僅是代碼生成工具 具備基本調試功能,還具備實時分析的能力具備基本調試功能,還具備實時分析的能力 支持整個軟件開發(fā)過程:支持整個軟件開發(fā)過程: 設計設計 代碼生成代碼生成(項目建立,源程序編寫,項目建立,源程序編寫,配置文件配置文件) 調試調試(語法檢查,語法檢查,探測點探測點,日志,日志log功

2、能功能) 實時分析實時分析(實時調試,實時狀態(tài)顯示,任務切換跟蹤實時調試,實時狀態(tài)顯示,任務切換跟蹤)實時(Real Time)是DSP的靈魂31.1 CCS集成環(huán)境IDE41.1 CCS集成環(huán)境IDE的組成51.1 CCS集成環(huán)境IDE的組成n包括主機和目標系統(tǒng)兩部分nCCS 首先是作為代碼生成工具,作為代碼生成工具有這樣一些輸入:配置工具產(chǎn)生的配置文件,DSP/BIOS API的庫函數(shù)。自己的程序文件.c,.h,生成可執(zhí)行文件n主機方:最底層是JTAG,上面是調試器,再上面是CCS的各種插件,包括DSP/BIOS插件(實時調試),還用RTDX(實時數(shù)據(jù)交換)n目標系統(tǒng)一方:最底層是硬件和J

3、TAG,向上是DSP/BIOS實時操作系統(tǒng)(這是可選的也可以沒有操作系統(tǒng),完全自己管理),再向上是應用程序.61.2 CCS1.2 CCS代碼生成工具流圖代碼生成工具流圖71.2 CCS CCS代碼生成工具流圖代碼生成工具流圖n每個白色框代表一種代碼生成工具,條紋框是它的輸入文件類型n比如:C編譯器(C程序),匯編優(yōu)化器(線性匯編程序),匯編器(匯編),建庫工具,連接器n最后可執(zhí)行文件由調試器加載目標系統(tǒng)以上的工具時常用和通用的.n其它的工具nhex conversion utility 16進制轉換工具,把COFF 轉換為其它格式文件寫到EPROM中ncross-reference list

4、er 產(chǎn)生交叉參考列表, 它列出定義的symbol, 定義symbol的行, 以及用到symbol的位置(行),還有symbol的類型, 編譯和連接時分配給symbol的值.nabsolute lister, 產(chǎn)生連接后的coff文件的絕對地址列表nArchiver: 文檔管理工具打包.8C源程序宏源文件文檔管理器宏文件庫C編譯器匯編源程序代數(shù)式指令翻譯器匯編源程序匯編器建庫實用程序支持運行的庫函數(shù)COFF目標文件鏈接器可執(zhí)行的COFF文件交叉應用列表程序PC機及DSP調試工具C54x絕對列表程序EPROM編程器十六進制轉換程序十六進制轉換程序文檔管理器CCSCCS代碼生代碼生成工具流圖成工具

5、流圖91.3 CCS CCS軟件軟件nTI公司耗資近2億美元nCCS2.0 For C5000系列nCCS2.0 For C6000系列nCCS2.0 For DSK(Developer Start Kit,初學者開發(fā)套件)nCCS2.1升級包 3101.3.1 CCS2.0界面(1)111.3.1 CCS2.0界面(1)nCCS提供一個類似VC的集成開發(fā)環(huán)境,使用比較方便n有菜單,工具條,左邊是項目窗口,右邊是代碼編輯窗口(和圖形顯示窗口),下邊是編譯器編譯結果,和變量顯示窗口,和寄存器觀察窗口.nProject 工具條: 編譯,連接,設置三種點:斷點、探

6、點(probe)、時間分析點(profile)n調試工具條:程序step運行(4種),連續(xù)運行(2種),查看變量、寄存器、存儲器,調用堆棧,反匯編窗口nStandard工具條:新建,保存,打開,查找,剪貼, Find in files功能比較好用n編輯工具條:mark(大小括號)查找,縮進(outdent),書簽121.3.1 CCS2.0界面(2)nCCS提供一些類似VC的代碼編輯功能語法高亮顯示,自動縮近,文字查找等等原程序和反匯編 同時顯示(逐條 語句對應,但優(yōu)化 后是模塊對應)131.3.2 CCS2.0項目管理n應用程序按項目來管理,按層次以圖形化的方式顯示項目文件(.mak)CMD

7、文件.h頭文件.lib庫文件.c源程序141.3.3 CCS 圖形化設置n各種編譯選項(匯編器選項,連接器選項等)通過圖形化方式來設置,不需要手工添加選項151.3.3 CCS2.0圖形化設置161.3.4 CCS2.0調試功能(1)n斷點設置:多種step方法: single step(step into); step over; step out; run to cursorn運行到斷點處自動更新窗口n觀察和編輯變量、寄存器和存儲器n調用堆棧(call stack),顯示函數(shù)調用層次關系. 補充上電時的工作:$ASM$(simulator, 硬件上電復位RESET中斷服務程序)c_int0

8、0_auto_init(C變量初始化)返回后c_int00調main()函數(shù). Main()完成后,c_int00調exit(1),做一些清楚工作,如關閉打開的文件.exit在調abort,無限循環(huán)n利用探點(probe point)流入流出(stream in and out)存儲器數(shù)據(jù)171.3.4 CCS2.0調試功能(2)n圖形化顯示數(shù)據(jù)n一維數(shù)據(jù),二維圖象,眼圖等n代碼剖析(Profile)n計算代碼運行時間181.3.4 CCS2.0調試功能(3)191.3.5 CCS2.0 DSP/BIOS操作系統(tǒng)nDSP/BIOS是一個實時操作系統(tǒng)RTOSn提供通常的RTOS的功能(任務調度,

9、任務間通訊)n提供驅動程序模型,層次化地設計應用程序nDSP/BIOS以CCS插件的形式提供一些實時分析工具n程序跟蹤:觀察任務的調度、切換n性能監(jiān)視:觀察CPU的負載n狀態(tài)統(tǒng)計:對事件做統(tǒng)計n提供RTDX(實時數(shù)據(jù)交換),不打斷DSP運行的情況下實現(xiàn)主機和DSP的數(shù)據(jù)交換201.3.6 CCS2.0 RTDX(1)nRTDX,即Real-time Data Exchangen提供了一種實時,連續(xù)的觀測手段,不打斷DSP運行(數(shù)據(jù)可連續(xù)觀測,也可傳回來存儲后觀測)n不打斷DSP運行的情況下,主機和DSP間傳遞數(shù)據(jù)n回傳到主機的數(shù)據(jù)可以在“OLE自動化客戶”中顯示211.3.6 CCS2.0 R

10、TDX(2)n包括Host方和Target方nTarget方編程接口 RTDX target APInHost方編程接口 RTDX COM API(組件對象模型COM是windows下一種編程技術)221.3.7 CCS2.0界面(2)n主機方的RTDX庫是和CCS集成在一起的n主機一方有一個函數(shù)接口,目標方DSP上也有一個函數(shù)接口n主機應用程序通過COM API發(fā)送數(shù)據(jù)到DSP,或接收數(shù)據(jù),應用程序可以按自己的方式來顯示數(shù)據(jù),nRTDX可以脫離DSP/BIOS使用,給用戶靈活性n下一張圖是一個例子,用LabView作一個顯示界面,LabView調用RTDX API得到DSP傳來的數(shù)據(jù)231.

11、3.7 CCS2.0界面(2)這是一個fir濾波的例子. HOST原始數(shù)據(jù)(顯示,左上方)(RTDX)dspfilter (RTDX)HOST(顯示,左下方)左上方: 原始的數(shù)據(jù)左下方: 濾波后數(shù)據(jù)右上方: dsp的fir濾波后的信號(左下方顯示)的功率譜右下方: Labview對原始信號進行fir濾波后的信號的功率譜(對比)241.3.8 CCS2.0的文件與環(huán)境變量n.mak .lib .obj .out .wks (.wks 保存當前CCS中的設置:打開的變量窗口,顯示的圖形。方便,快捷。)n可編輯文件:.c .asm .h .cmd (.sa)n三個環(huán)境變量:C6X_A_DIR,C6X

12、_C_DIR,PATH25CCS小結nCCS不僅僅是代碼生成工具,對軟件開發(fā)的各個階段都有支持n提供底層實時操作系統(tǒng)DSP/BIOSn提供RTDX新的實時調試手段,與CCS集成,不需要自己添加額外的用于調試的硬件(但是速率比較低)262 簡單程序開發(fā)流程(1)建立項目nProjectNew 選擇一個目錄,生成一個項目文件test.mak272 簡單程序開發(fā)流程(2)添加文件nProjectAdd Files to Project添加文件(.c,.lib,.cmd,.sa,.asm)1 1)vectors.asm vectors.asm 包含匯編指包含匯編指令處理令處理resetreset中斷服

13、務程序,中斷服務程序,跳轉到跳轉到C cC c的入口的入口. .c_int00. c_int00. 2 2)掃描掃描dependencedependence: .h .h282 簡單程序開發(fā)流程(3)代碼編輯n雙擊項目窗口的文件名,開始編輯源程序292 簡單程序開發(fā)流程(4)設置編譯選項nProjectOptions302 簡單程序開發(fā)流程(4)設置編譯選項312 簡單程序開發(fā)流程(4)設置編譯選項322 簡單程序開發(fā)流程(5)Build,DebugnProjectBuild332 簡單程序開發(fā)流程(6)Debugn加載程序FileLoad Programn設置斷點,通過Watch Windo

14、w觀察變量n單步執(zhí)行黃色黃色條代表當條代表當前執(zhí)行到那條前執(zhí)行到那條語句語句紫色紫色條代表斷條代表斷點位置點位置342簡單程序開發(fā)流程(7)Profile(剖析)nProfileEnable Clock設置設置profile point(綠綠色條色條)每個綠色條在窗口中對每個綠色條在窗口中對應有一行統(tǒng)計數(shù)字,用應有一行統(tǒng)計數(shù)字,用來統(tǒng)計來統(tǒng)計profile point(綠色條)之間的時鐘綠色條)之間的時鐘數(shù)數(shù)調試器內(nèi)部有時鐘計數(shù),調試器內(nèi)部有時鐘計數(shù),最后查看每一個觀測點最后查看每一個觀測點的運行時間的運行時間356 一些調試經(jīng)驗(1)n1)1)一次新增的調試代碼不能過長一次新增的調試代碼不能

15、過長. .n2)2)防御式編程防御式編程: : 如通信中的等待時間不能過長如通信中的等待時間不能過長n3)3)對感興趣的事件做記錄對感興趣的事件做記錄: : 中斷發(fā)生次數(shù)中斷發(fā)生次數(shù), , 等待超時計等待超時計數(shù)數(shù)n4)CCS4)CCS的運行中添加斷點和運行前添加斷點的運行中添加斷點和運行前添加斷點n5)5)窗口刷新的影響窗口刷新的影響: : 大量的數(shù)據(jù)更新回影響底層的時序大量的數(shù)據(jù)更新回影響底層的時序n6)6)隨時關系程序運行時間隨時關系程序運行時間, , 過長會影響時序過長會影響時序, ,設置計算設置計算器器. .366 一些調試經(jīng)驗(2)n7)7)注意數(shù)組的越界和指針的使用注意數(shù)組的越界

16、和指針的使用: : 也是其它編程通常的錯誤也是其它編程通常的錯誤, , 這這個錯誤可能其它部分修改個錯誤可能其它部分修改, , 尤其對硬件計數(shù)器的修改導致各種錯尤其對硬件計數(shù)器的修改導致各種錯誤誤, , 調試方法調試方法: : 遞進增加代碼遞進增加代碼, , 看看mapmap文件文件, ,了解前后關系了解前后關系n8)8)多用服務中斷程序多用服務中斷程序, , 但中斷服務程序不能帶參數(shù)但中斷服務程序不能帶參數(shù), , 只有通過全只有通過全局變量傳遞值局變量傳遞值, , 所以全局變量常用所以全局變量常用. .n9)volatile 9)volatile 關鍵字關鍵字. . 背景中修改背景中修改,

17、, 不被優(yōu)化掉不被優(yōu)化掉. .n10)10)關于中斷嵌套:關于中斷嵌套: 長中斷被頻繁中斷中斷,允許嵌套是,關閉長中斷被頻繁中斷中斷,允許嵌套是,關閉自身,即不允許重入自身,即不允許重入. . 原因在于打亂時序關系原因在于打亂時序關系. .n1111)觀察中斷間的同步:通過設全局變量和記錄數(shù)組觀察嵌套中)觀察中斷間的同步:通過設全局變量和記錄數(shù)組觀察嵌套中斷發(fā)生時被嵌套中斷程序的運行狀態(tài)斷發(fā)生時被嵌套中斷程序的運行狀態(tài)37關于TI DSP軟件開發(fā)的學習n1)CCS1)CCS只是一部分只是一部分 TutorialTutorial教程入手(教程入手(100100頁左右)。其頁左右)。其它的用到的再

18、查用戶使用手冊它的用到的再查用戶使用手冊UserUsers Guides Guiden2 2)C C 的運行環(huán)境:的運行環(huán)境:C6000C6000的寫在優(yōu)化的寫在優(yōu)化C compiler userC compiler users guides guide中中7 7、8 8章。包括擴充的章。包括擴充的C C的關鍵字,編程偽指令,寄存器調用規(guī)的關鍵字,編程偽指令,寄存器調用規(guī)則,存儲器模式,則,存儲器模式,C C語言與匯編語言的接口;語言與匯編語言的接口;n3 3)CPUCPU和匯編語言:耗時長的部分用匯編寫。和匯編語言:耗時長的部分用匯編寫。C6000C6000寫線性匯編寫線性匯編要了解要了解CPUCPU結構。結構。n4 4)硬件知識:其實是不應該省略的。難點:中斷,)硬件知識:其實是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論