第5章 TMS320C54xTMDSP應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì)_第1頁
第5章 TMS320C54xTMDSP應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì)_第2頁
第5章 TMS320C54xTMDSP應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì)_第3頁
第5章 TMS320C54xTMDSP應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì)_第4頁
第5章 TMS320C54xTMDSP應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì)_第5頁
已閱讀5頁,還剩121頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 5.1 c54x dsp應(yīng)用系統(tǒng)的軟硬件開發(fā)工具應(yīng)用系統(tǒng)的軟硬件開發(fā)工具 5.2 ccs的安裝和使用簡介的安裝和使用簡介 5.3 ccs集成開發(fā)環(huán)境的使用集成開發(fā)環(huán)境的使用 5.4 c54x dsp應(yīng)用系統(tǒng)的軟件設(shè)計(jì)與調(diào)試應(yīng)用系統(tǒng)的軟件設(shè)計(jì)與調(diào)試 5.5 c54x dsp應(yīng)用系統(tǒng)的硬件設(shè)計(jì)與調(diào)試應(yīng)用系統(tǒng)的硬件設(shè)計(jì)與調(diào)試 習(xí)習(xí) 題題 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 5.1 c54x dsp應(yīng)用系統(tǒng)的軟硬件開發(fā)工具應(yīng)用系統(tǒng)的軟硬件開發(fā)工具 ti公司和第

2、三方為dsp軟硬件開發(fā)提供了許多工具,常見的dsp開發(fā)工具包括代碼生成工具和代碼調(diào)試工具兩大類,但這些開發(fā)工具未實(shí)現(xiàn)完全的集成化,需要輸入較復(fù)雜的命令,調(diào)試程序效率不高。1999年ti公司推出了code composer studio開發(fā)工具,簡稱ccs,這是一種功能強(qiáng)大的全面集成的開發(fā)環(huán)境(ide),它支持ti的tms320c6000tm、tms320c5000tm、tms320c2000tmdsp平臺(tái)和tms320c3xtm dsp系列。ccs集代碼生成工具和代碼調(diào)試工具于一體,可完成應(yīng)用開發(fā)過程每一步驟所需要的眾多功能。并且ccs具有開放式的架構(gòu),使ti和第三方能通過無縫插入附加專用工具

3、擴(kuò)展ide功能。目前ccs已經(jīng)歷v1.0、v1.2、v2.0、v2.1等版本。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) ccs的主要特性有:* 開發(fā)環(huán)境,可將所有工具緊密集成到單個(gè)簡便易用的應(yīng)用中;* 實(shí)時(shí)分析工具,在不影響處理器性能的情況下可實(shí)現(xiàn)監(jiān)控程序交互作用;* 支持ti的高性能c64xtm dsp與低功率c55xtm dsp;* 在業(yè)界領(lǐng)先的c編譯程序;* 可擴(kuò)展的實(shí)時(shí)核心(dsp/biostm核心);* profile-based compiler(c6000tm dsp),用于優(yōu)化代碼長度與性能;* visual linker,用于在內(nèi)存中以圖形化的方式安排程序代

4、碼與數(shù)據(jù);第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) * 數(shù)據(jù)顯示,用于以多種圖形格式顯示信號(hào);* 開放式的插入式架構(gòu),使你能夠集成專用的第三方工具;* 利用仿真器對(duì)ti dsp進(jìn)行基于jtag掃描的實(shí)時(shí)仿真;* 可輕松管理大型的多用戶、多站點(diǎn)以及多處理器的項(xiàng)目;* 快速模擬器可提供深度視圖,能迅速而準(zhǔn)確地解決問題;* 分析套件利用新的工具提高性能并簡化煩瑣的判斷工作;* 增強(qiáng)的流水線分析工具可提供詳細(xì)的流水線視圖。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 5.2 ccs的安裝和使用簡介的安裝和使用簡介5.2.1 ccs的安裝與設(shè)置的安裝與設(shè)置 1. code

5、 composer studion的安裝的安裝 ccs是一個(gè)開放的環(huán)境,通過設(shè)置不同的驅(qū)動(dòng)可完成對(duì)不同的環(huán)境支持,下面以c54x dsp開發(fā)系統(tǒng)為例說明ccs的安裝。完整地安裝ccs軟件包括以下兩個(gè)步驟: (1) 將ccs安裝光盤放入到光盤驅(qū)動(dòng)器中,運(yùn)行ccs安裝程序setup.exe。安裝完成后,在桌面上會(huì)有“ccs 2 c5000”和 “setup ccs 2 c5000”兩個(gè)快捷方式圖標(biāo),分別對(duì)應(yīng)ccs應(yīng)用程序和ccs配置程序。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) (2) 運(yùn)行ccs配置程序,配置驅(qū)動(dòng)程序。如果ccs是在硬件目標(biāo)板上運(yùn)行,則要先安裝目標(biāo)板驅(qū)動(dòng)系統(tǒng),然

6、后運(yùn)行“ccs 2 setup”配置驅(qū)動(dòng)程序,最后執(zhí)行ccs應(yīng)用程序。除非用戶改變ccs應(yīng)用平臺(tái)類型,否則只需運(yùn)行一次ccs配置程序。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 2. ccs軟件的設(shè)置軟件的設(shè)置 根據(jù)購買的開發(fā)器的類型選擇安裝不同的設(shè)備驅(qū)動(dòng)程序。配置好相應(yīng)的資源,并保存好設(shè)置即可。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 3. 硬件仿真系統(tǒng)的安裝硬件仿真系統(tǒng)的安裝 第一步:對(duì)于安裝ccs軟件,并正確設(shè)置ccs軟件。 第二步:對(duì)于pci接口dsp開發(fā)系統(tǒng),關(guān)閉pc電源,將pci卡插入pci插槽中,注意固定好。 對(duì)于isa接口dsp開發(fā)系統(tǒng),關(guān)閉p

7、c電源,將isa卡插入isa插槽中,注意固定好。 對(duì)于epp接口dsp開發(fā)系統(tǒng),關(guān)閉pc電源,將仿真盒通過并口電纜接在pc機(jī)的并口上。 對(duì)于usb接口dsp開發(fā)系統(tǒng),將仿真盒通過電纜接在pc機(jī)的usb口上。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 第三步:將jtag仿真電纜正確連接在實(shí)驗(yàn)箱的jtag仿真口上,啟動(dòng)ccs軟件,如果一切正常,則ccs能正確啟動(dòng),如果報(bào)錯(cuò),請(qǐng)檢查ccs安裝和設(shè)置以及實(shí)驗(yàn)箱的電源、電纜接線是否正確。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 5.2.2 ccs文件名介紹文件名介紹在使用ccs軟件之前,應(yīng)該先了解以下軟件的文件名約定:*

8、 project.pjt (ccs 1.2 版本該文件名為project.mak) 工程文件* program.c c語言源文件* program.asm 匯編語言源文件* filename.h c語言頭文件* filename.lib 庫文件* project.cmd 鏈接命令文件* program.obj 編譯后的目標(biāo)文件* program.out 在目標(biāo)硬件(實(shí)驗(yàn)箱)上加載、調(diào)試、執(zhí)行的文件 這一部分將要介紹如何在ccs下面新建一個(gè)程序,及如何編譯、鏈接、下載、調(diào)試程序,我們將新建一個(gè)簡單的程序,在窗口顯示“hello world!”。 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟

9、硬件設(shè)計(jì) 5.2.3 新建一個(gè)工程新建一個(gè)工程 (1) 如果你的 ccs安裝在 c:ti目錄下,請(qǐng)?jiān)赾:timyproject 目錄下新建一個(gè)目錄,名為hello1; (2) 將c:tic5400tutorialhello1下的所有文件拷貝到新目錄中; (3) 運(yùn)行ccs程序; (4) 選擇project /new 菜單,輸入新建工程名稱為myhello,點(diǎn)擊完成。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 5.2.4 往工程加入文件往工程加入文件 (1) 選擇project /add files to project,選擇hello.c,加入文件; (2) 按(1)方式分別往

10、工程里加入vector.asm、hello.cmd以及c:tic5400cgtoolslib目錄下的rts.lib文件; (3) 這個(gè)時(shí)候就可以點(diǎn)擊工作窗口工程視圖中myhello.pjt旁的+號(hào),展開工程查看或編輯工程中的文件了; 注意:c語言文件的頭文件會(huì)自動(dòng)加入到工程里。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 5.2.5 編譯執(zhí)行程序編譯執(zhí)行程序 (1) 選擇project /rebuild all 或工具條中相應(yīng)的快捷按鈕; (2) 編譯成功后,選擇file/load program,選擇剛編譯的可執(zhí)行程序myhello.out; (3) 選擇debug /run或

11、工具條中相應(yīng)的快捷按鈕; (4) 運(yùn)行程序后,在標(biāo)準(zhǔn)輸出窗口中會(huì)出現(xiàn)“hello world!”。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 5.2.6 程序的跟蹤、調(diào)試程序的跟蹤、調(diào)試 (1) 選擇debug/restart或重新裝載“.out”文件; (2) 可以選擇view/mixed source/asm 對(duì)照觀察c語言程序和匯編語言程序; (3) 不全速運(yùn)行,而是選擇 debug/stepinto 或按f8,單步執(zhí)行; (4) 單步執(zhí)行程序的同時(shí),選擇view/cpu registers觀察主要寄存器的變化; (5) 對(duì)不熟悉的指令,可查找相應(yīng)的說明。第5章tms32

12、0c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 5.2.7 可能出現(xiàn)問題的處理可能出現(xiàn)問題的處理 在編譯鏈接過程中的問題可以通過提示,尋找問題出現(xiàn)的原因并解決問題。如果是語法出錯(cuò),需要查閱相關(guān)語法資料,如果是環(huán)境參數(shù)設(shè)置上有問題,一般應(yīng)在project/build options 中進(jìn)行相應(yīng)的修改(新安裝程序的默認(rèn)設(shè)置,不熟悉的用戶最好不要隨意改動(dòng))。如果裝載程序時(shí)出問題,可以嘗試debug/reset 或重新運(yùn)行ccs軟件或重新加電等辦法。習(xí)題 習(xí)題 習(xí)題 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 5.3 ccs集成開發(fā)環(huán)境的使用集成開發(fā)環(huán)境的使用 在ccs中,simulato

13、r(軟件模擬器)與emulator(硬件仿真器)使用的是相同的集成開發(fā)環(huán)境,在對(duì)應(yīng)用系統(tǒng)進(jìn)行硬件調(diào)試前,設(shè)計(jì)者可使用simulator在沒有目標(biāo)板的情況下模擬dsp程序的運(yùn)行。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 如果系統(tǒng)中同時(shí)安裝了simulator和emulator的驅(qū)動(dòng)程序,則運(yùn)行ccs時(shí)將啟動(dòng)并行調(diào)試管理器(parallel debug manager)的運(yùn)行,對(duì)于ti的仿真器(如圖5.1所示),此時(shí)需從菜單中選擇openc54xx simulator以啟動(dòng)simulator的運(yùn)行,出現(xiàn)與圖5.2類似的窗口;對(duì)于第三方的仿真器如seed仿真器(如圖5.3所示),從

14、菜單中選擇openc54x simulator以啟動(dòng)simulator的運(yùn)行,出現(xiàn)與圖5.4類似的窗口。圖5.1 ti仿真器并行調(diào)試管理器第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 圖5.2 ti仿真器 ccs運(yùn)行主窗口第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 圖5.3 seed仿真器并行調(diào)試管理器第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 圖5.4 seed仿真器ccs運(yùn)行主窗口第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 在ccs集成開發(fā)環(huán)境中,除edit窗口外,其余所有窗口和所有的工具欄都是可定位(allow docking

15、)的,也就是說可將這些窗口和工具欄拖至屏幕的任何位置(包括移至主窗體之外)。 在ccs中,所有的窗口都支持內(nèi)容相關(guān)菜單(context menu)。在窗口內(nèi)單擊鼠標(biāo)右鍵即可彈出內(nèi)容相關(guān)菜單,菜單中包含有與該窗口相關(guān)的選項(xiàng)和命令。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 5.3.1 菜單菜單 在ccs集成開發(fā)環(huán)境中共有11項(xiàng)菜單,現(xiàn)在就對(duì)其中較為重要的菜單功能加以介紹。 1. file菜單菜單 file菜單提供了與文件操作有關(guān)的命令。除open/save/print/exit等常見的命令外,file菜單還列出了以下幾種文件操作命令,如表5.1所示。第5章tms320c54xtm

16、 dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 表表5.1 file菜單菜單菜單命令 功 能 source file 新建一個(gè)源文件(.c, .asm, .h, .cmd, .gel, .map, .inc 等) dsp/bios config 新建一個(gè) dsp/bios 配置文件 visual linker recipe 打開一個(gè) visual linker recipe 向?qū)?new activex document 在 ccs 中打開一個(gè) activex 文檔(如 microsoft word 或 microsoft excel等) load program 將 coff(.out)文件中數(shù)據(jù)和符號(hào)加載入

17、實(shí)際或仿真目標(biāo)板(simulator)中 load symbol 當(dāng)調(diào)試器不能或無需加載目標(biāo)代碼(如目標(biāo)代碼存放于 rom 中)時(shí),僅將符號(hào)信息加載入目標(biāo)板。此命令只清除符號(hào)表,不更改存儲(chǔ)器內(nèi)容和設(shè)置程序入口 reload program 重新加載 coff 文件,如果程序未作更改則只加載程序代碼而不加載符號(hào)表 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 表表5.1 file菜單菜單load gel 在調(diào)用 gel 函數(shù)之前,應(yīng)將包含該函數(shù)的文件加載入 ccs 中,以將該gel 函數(shù)調(diào)入內(nèi)存。當(dāng)加載的文件修改后,應(yīng)先卸掉該文件,再重新加載該文件,從而使修改生效 加載 gel 函

18、數(shù)時(shí)將檢查文件的語法錯(cuò)誤,但不檢查變量是否已定義 load 將 pc 文件中的數(shù)據(jù)加載入目標(biāo)板, 可以指定存放的地址和數(shù)據(jù)的長度。數(shù)據(jù)文件可以是 coff 文件格式,也可以是 ccs 支持的數(shù)據(jù)格式 data save 將目標(biāo)板存儲(chǔ)器數(shù)據(jù)存儲(chǔ)到一個(gè) pc 數(shù)據(jù)文件中 file i/o ccs 允許在 pc 文件和目標(biāo) dsp 之間傳送數(shù)據(jù)。一方面可從 pc 文件中取出樣值用于模擬,另一方面也可將目標(biāo) dsp 處理的數(shù)據(jù)保存到計(jì)算機(jī)文件中 file i/o 功能應(yīng)與 probe point 配合使用。probe point 將告訴調(diào)試器在何時(shí)從 pc 文件中輸入或輸出數(shù)據(jù) file i/o 功能

19、并不支持實(shí)時(shí)數(shù)據(jù)交換,實(shí)時(shí)數(shù)據(jù)交換應(yīng)使用 rtdx 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 2. edit菜單菜單 edit菜單提供的是與編輯有關(guān)的命令。除去undo/redo/delete/select all/find/replace等常用的文件編輯命令外,ccs還支持以下幾種編輯命令,如表5.2所示。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 表表5.2 edit菜單菜單菜單命令 功 能 find in files 在多個(gè)文本文件中查找特定的字符串或表達(dá)式 go to 快速跳轉(zhuǎn)到源文件中某一指定行或書簽處 edit 編輯某一存儲(chǔ)單元 copy 將某一存

20、儲(chǔ)塊(標(biāo)明起始地址和長度)數(shù)據(jù)拷貝入另一存儲(chǔ)塊 fill 將某一存儲(chǔ)塊填入某一固定值 memory patch asm 在不修改源文件的情況下修改目標(biāo) dsp 的執(zhí)行代碼 edit register 編輯指定的寄存器值,包括 cpu 寄存器和外設(shè)寄存器。由于 simulator 不支持外設(shè)寄存器,因此不能在 simulator 下監(jiān)視和管理外設(shè)寄存器內(nèi)容 edit variable 修改某一變量值。對(duì) ti 定點(diǎn) dsp 芯片而言,如果目標(biāo) dsp 由多個(gè)頁面構(gòu)成,則可使用prog, data 和io 來分別指定程序區(qū)、數(shù)據(jù)區(qū)和 i/o edit command line 提供鍵入表達(dá)式或執(zhí)行

21、 gel 函數(shù)的快捷方法 column editing 選擇某一矩形區(qū)域內(nèi)的文本進(jìn)行列編輯(剪切、拷貝及粘貼等) bookmarks 在源文件中定義一個(gè)或多個(gè)書簽便于快速定位。 書簽被保存在 ccs 的工作區(qū)(workspace)內(nèi)以便隨時(shí)被查找到 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 3. view菜單菜單 在view菜單中,可以選擇是否顯示standard工具欄、gel工具欄、project工具欄、debug工具欄、editor工具欄和狀態(tài)欄(status bar)。此外view菜單中還包括如表5.3所示的顯示命令。 在view菜單中,graph是一個(gè)很有用的功能,它

22、可以逼真地顯示信號(hào)波形。在graph窗口中使用了兩個(gè)緩沖器:獲取緩沖和顯示緩沖。獲取緩沖駐留在實(shí)際或仿真的目標(biāo)板上,它保存有你感興趣的數(shù)據(jù)。當(dāng)圖形更新時(shí),獲取緩沖從實(shí)際或仿真的目標(biāo)板讀取數(shù)據(jù)并更新顯示緩沖。顯示緩沖則駐留在主機(jī)存儲(chǔ)器中,它記錄了歷史數(shù)據(jù)。波形圖則是根據(jù)顯示緩沖的數(shù)據(jù)繪制的。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 當(dāng)輸入所需的參數(shù)并確認(rèn)后,graph窗口從獲取緩沖中接收指定長度(由acquisition buffer size定義)和指定起始地址(由start address定義)的dsp數(shù)據(jù)。表表5.3 view菜單菜單菜單命令 功 能 dis-assemb

23、ly 當(dāng)將程序加載入目標(biāo)板后, ccs 將自動(dòng)打開一個(gè)反匯編窗口。 反匯編窗口根據(jù)存儲(chǔ)器的內(nèi)容顯示反匯編指令和符號(hào)信息 memory 顯示指定存儲(chǔ)器的內(nèi)容 cpu register 顯示 dsp 的寄存器內(nèi)容 cpu registers peripheral regs 顯示外設(shè)寄存器內(nèi)容。simulator 不支持此功能 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 表表5.3 view菜單菜單time/frequency 在時(shí)域或頻域顯示信號(hào)波形。頻域分析時(shí)將對(duì)數(shù)據(jù)進(jìn)行 fft 變換,時(shí)域分析時(shí)數(shù)據(jù)無需進(jìn)行預(yù)處理。顯示緩沖的大小由 display data size定義 con

24、stellation 使用星座圖顯示信號(hào)波形。輸入信號(hào)被分解為 x、y 兩個(gè)分量,采用笛卡爾坐標(biāo)顯示波形。顯示緩沖的大小由 constellation points 定義 eye diagram 使用眼圖來量化信號(hào)失真度。 在指定的顯示范圍內(nèi), 輸入信號(hào)被連續(xù)疊加并顯示為眼睛的形狀 graph image 使用 image 圖來測試圖像處理算法。圖像數(shù)據(jù)基于 rgb 和 yuv 數(shù)據(jù)流顯示 refresh tasks 在 ccs 1.2 版和 2.0 版均不支持 tasks process/thread 在 ccs 1.2 版和 2.0 版均不支持 第5章tms320c54xtm dsp應(yīng)用系

25、統(tǒng)的軟硬件設(shè)計(jì) 表表5.3 view菜單菜單watch window 用來檢查和編輯變量或 c 表達(dá)式,可以以不同格式顯示變量值,還可顯示數(shù)組、結(jié)構(gòu)或指針等包含多個(gè)元素的變量 call stack 檢查所調(diào)試程序的函數(shù)調(diào)用情況。此功能僅在調(diào)試 c 程序時(shí)有效,且程序中必須有一個(gè)堆棧段和一個(gè)主函數(shù), 否則將顯示 “c source is not available.” expression list 所有的 gel 函數(shù)和表達(dá)式都采用表達(dá)式求值程序來估值。求值程序可對(duì)多個(gè)表達(dá)式求值, 在求值過程中可選擇表達(dá)式并按 abort 按鈕取消求值。這項(xiàng)功能在 gel 函數(shù)執(zhí)行到死循環(huán)或執(zhí)行時(shí)間太長時(shí)有用

26、 project ccs 啟動(dòng)后將自動(dòng)打開工程視圖。 在工程視圖中, 文件按其性質(zhì)分為源文件、頭文件、庫文件及命令文件 mixed source/asm 同時(shí)顯示 c 代碼及相關(guān)的反匯編代碼(位于 c 代碼下方) realtime refresh options 在 ccs 1.2 版和 2.0 版均不支持 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 4. project菜單菜單 ccs使用工程來管理設(shè)計(jì)文檔。ccs不允許直接對(duì)匯編或c源文件build生成dsp應(yīng)用程序,只有在建立工程文件的情況下,project工具欄上的build按鈕才會(huì)有效。工程文件被存盤為.mak文件。在

27、project菜單中包括一些常見的命令如new/open/close等,此外還包括如表5.4所示的菜單命令。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 表表5.4 project菜單菜單菜單命令 功 能 add files to project ccs 根據(jù)文件的擴(kuò)展名將文件添加到工程的相應(yīng)子目錄中。工程中支持c 源文件(*.c*)、匯編源文件(*.a*, *.s*)、庫文件(*.o*, *.lib)、頭文件(*.h)和鏈接命令文件(*.cmd)。其中 c 和匯編源文件可被編譯和鏈接;庫文件和鏈接命令文件只能被鏈接;ccs 會(huì)自動(dòng)將頭文件添加到工程中 compile file

28、對(duì) c 或匯編源文件進(jìn)行編譯 build 重新編譯和鏈接。對(duì)于那些沒有修改的源文件,ccs 將不重新編譯 rebuild all 對(duì)工程中所有文件重新編譯并鏈接生成輸出文件 stop build 停止正在 build 的進(jìn)程 show dependencies scan all dependencies 為了判別哪些文件應(yīng)重新編譯, ccs 在 build 一個(gè)程序時(shí)會(huì)生成一個(gè)關(guān)系樹(dependency tree), 以判別工程中各文件的依賴關(guān)系。 使用此兩菜單命令則可以觀察工程的關(guān)系樹 options 用來設(shè)定編譯器、匯編器和鏈接器的參數(shù) recent project files 加載最近

29、打開的工程文件 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 5debug菜單菜單表表5.5 debug菜單菜單菜單命令 功 能 breakpoints 斷點(diǎn)。程序在執(zhí)行到斷點(diǎn)時(shí)將停止運(yùn)行。當(dāng)程序停止運(yùn)行時(shí),可以檢查程序的狀態(tài),查看和更改變量值,查看堆棧等。在設(shè)置斷點(diǎn)時(shí)應(yīng)注意以下兩點(diǎn): 1不要將斷點(diǎn)設(shè)置在任何延時(shí)分支或調(diào)用的指令處; 2不要將斷點(diǎn)設(shè)置在 repeat 塊指令的倒數(shù)一二行指令處 probe points 允許更新觀察窗口并在算法的指定處(設(shè)置 probe point 處)將 pc 文件數(shù)據(jù)讀至存儲(chǔ)器或?qū)⒋鎯?chǔ)器數(shù)據(jù)寫入 pc 文件中, 此時(shí)應(yīng)設(shè)置 file i/o 屬

30、性。 對(duì)每一個(gè)建立的窗口,默認(rèn)情況是在每個(gè)斷點(diǎn)(breakpoint)處更新窗口顯示,然而也可以將其設(shè)置為到達(dá) probe point 處時(shí)更新窗口。 使用 probe point 更新窗口時(shí), 目標(biāo)dsp將臨時(shí)中止運(yùn)行; 當(dāng)窗口更新后, 程序繼續(xù)執(zhí)行。 因此probe point不能滿足實(shí)時(shí)數(shù)據(jù)交換(rtdx)的需要 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 表表5.5 debug菜單菜單菜單命令 功 能 stepinto 單步運(yùn)行。如果運(yùn)行到調(diào)用函數(shù)處將跳入函數(shù)單步執(zhí)行 stepover 執(zhí)行一條 c 或匯編指令。與 stepinto 不同的是,為保護(hù)處理器流水線,該指令

31、后的若干條延時(shí)分支或調(diào)用將同時(shí)被執(zhí)行。如果運(yùn)行到函數(shù)調(diào)用處將執(zhí)行完該函數(shù)而不跳入函數(shù)執(zhí)行,除非在函數(shù)內(nèi)部設(shè)置了斷點(diǎn) stepout 如果程序運(yùn)行在一個(gè)子程序中,執(zhí)行 stepout 將使程序執(zhí)行完該子程序回到調(diào)用該函數(shù)的地方。在 c 源程序模式下,根據(jù)標(biāo)準(zhǔn)運(yùn)行 c 堆棧來推斷返回地址,否則根據(jù)堆棧項(xiàng)的值來求得調(diào)用函數(shù)的返回地址。因此,如果匯編程序使用堆棧來存儲(chǔ)其他信息,則 stepout 命令可能會(huì)不正常工作 run 從當(dāng)前程序計(jì)數(shù)器(pc)執(zhí)行程序,碰到斷點(diǎn)時(shí)程序暫停執(zhí)行 halt 中止程序運(yùn)行 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 表表5.5 debug菜單菜單ani

32、mate 運(yùn)行程序。碰到斷點(diǎn)時(shí)程序暫停運(yùn)行,在更新未與任何 probe point 相關(guān)聯(lián)的窗口后程序繼續(xù)運(yùn)行。動(dòng)畫(animate)命令的作用是在每個(gè)斷點(diǎn)處顯示處理器的狀態(tài),可以在 option 菜單下選擇 animate speed 來控制動(dòng)畫的速度 run free 忽略所有斷點(diǎn)(包括 probe point 和 profile point),從當(dāng)前 pc 處開始執(zhí)行程序。此命令在 simulator 下無效。使用 emulator 進(jìn)行仿真時(shí),此命令將斷開與目標(biāo) dsp 的連接,因此可移走 jtag 或 mpsd 電纜。在 run free 時(shí)還可對(duì)目標(biāo) dsp 硬復(fù)位 run to

33、cursor 執(zhí)行到光標(biāo)處,光標(biāo)所在行必須為有效代碼行 multiple operation 設(shè)置單步執(zhí)行的次數(shù) reset dsp 初始化所有寄存器到其上電狀態(tài)并中止程序運(yùn)行 restart 將 pc 值恢復(fù)到程序的入口。此命令并不開始程序的執(zhí)行 go main 在程序的 main 符號(hào)處設(shè)置一個(gè)臨時(shí)斷點(diǎn)。此命令在調(diào)試 c 程序時(shí)起作用 enable task level debugging 在 ccs 1.2 版和 2.0 版均不支持 real time mode 在 ccs 1.2 版和 2.0 版均不支持 enable rude real time 在 ccs 1.2 版和 2.0 版

34、均不支持 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 6profiler菜單菜單 剖切(profiling)是ccs的一個(gè)重要功能。它可提供程序代碼特定區(qū)域的執(zhí)行統(tǒng)計(jì),從而使開發(fā)設(shè)計(jì)人員能檢查程序的性能,對(duì)源程序進(jìn)行優(yōu)化設(shè)置。使用剖切功能可以觀察dsp算法占用了多少cpu時(shí)間,還可以用它來剖切處理器的其他事件,如分支數(shù)、子程序調(diào)用次數(shù)及中斷發(fā)生次數(shù)等。該菜單如表5.6所示。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 表表5.6 profiler菜單菜單菜單命令 功 能 profile points 設(shè)置剖切點(diǎn)。剖切點(diǎn)是一種特殊的斷點(diǎn),在每個(gè)剖切點(diǎn)處 ccs 將計(jì)

35、算自上一個(gè)剖切點(diǎn)以來的機(jī)器周期數(shù)及其他事件的發(fā)生次數(shù)。與其他斷點(diǎn)不同的是,統(tǒng)計(jì)數(shù)計(jì)算完畢后程序?qū)⒗^續(xù)執(zhí)行。剖切點(diǎn)設(shè)置后,可以被使能,也可以被禁止 view statistics 在剖切統(tǒng)計(jì)窗口(profile statistics window)顯示每個(gè)剖切點(diǎn)處的統(tǒng)計(jì)數(shù)據(jù), 包括該剖切點(diǎn)執(zhí)行的次數(shù)及最小、最大、平均和總的指令周期數(shù)(如圖 5.5 所示)。程序每次執(zhí)行到剖切點(diǎn)時(shí)都會(huì)更新剖切統(tǒng)計(jì)窗口,但太多的更新窗口將降低剖切功能的性能。有兩種減小窗口更新次數(shù)的辦法:一種辦法是把更新窗口與剖切點(diǎn)相連接;另一種辦法是根據(jù)需要打開或關(guān)閉更新窗口 enable clock 為了獲得指令周期及其他事件的統(tǒng)

36、計(jì)數(shù)據(jù),必須使能剖切時(shí)鐘(profile clock)。當(dāng)剖切時(shí)鐘被禁用時(shí),將只能計(jì)算到達(dá)每個(gè)剖切點(diǎn)的次數(shù),而不能計(jì)算統(tǒng)計(jì)數(shù)據(jù) 剖切時(shí)鐘被作為一個(gè)變量(clk)通過 clock 窗口被訪問。clk 變量可在 watch窗口觀察,并可在 edit variable 對(duì)話框內(nèi)修改其值。clk 還可在用戶定義的 gel函數(shù)中使用 指令周期的計(jì)算方式與使用的 dsp 驅(qū)動(dòng)程序有關(guān)。對(duì)使用 jtag 掃描路徑進(jìn)行通信的驅(qū)動(dòng)程序,指令周期通過處理器的片內(nèi)分析功能進(jìn)行計(jì)算,其他的驅(qū)動(dòng)程序則可能使用其他類型的定時(shí)器。simulator 使用仿真的 dsp 片內(nèi)分析接口來統(tǒng)計(jì)剖切數(shù)據(jù)。當(dāng)時(shí)鐘使能時(shí),ccs 調(diào)試

37、器將占用必要的資源實(shí)現(xiàn)指令周期的計(jì)數(shù) 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 表表5.6 profiler菜單菜單clock setup 設(shè)置時(shí)鐘。在 clock setup 對(duì)話框中(如圖 5.6 所示),instruction cycle time 域用于輸入執(zhí)行一條指令的時(shí)間,其作用是在顯示統(tǒng)計(jì)數(shù)據(jù)時(shí)將指令周期數(shù)轉(zhuǎn)換為時(shí)間或頻率用于顯示 在 count 域選擇剖切的事件。對(duì)某些驅(qū)動(dòng)程序而言,cpu cycles 可能是惟一的選項(xiàng)。對(duì)于使用片內(nèi)分析功能的驅(qū)動(dòng)程序而言,可以剖切其他事件,如中斷次數(shù)、子程序或中斷返回次數(shù)、分支數(shù)及子程序調(diào)用次數(shù)等 可使用 reset opt

38、ion 參數(shù)來決定如何計(jì)數(shù)。 如選擇 manual選項(xiàng), 則 clk 變量將不斷累加指令周期數(shù),這與 ti simulator 類似;如選擇 auto 選項(xiàng),則在每次 dsp運(yùn)行前,自動(dòng)將 clk 置為 0, 因此 clk 變量顯示的是上一次運(yùn)行以來的指令周期數(shù),這與 ti emulator 類似 view clock 打開 clock 窗口, 顯示 clk 變量的值。 雙擊 clock 窗口的內(nèi)容可直接將 clk 變量復(fù)位 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 圖5.5 剖切統(tǒng)計(jì)數(shù)據(jù) 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 圖5.6 時(shí)鐘設(shè)置 第5章

39、tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 7. option菜單菜單 option菜單提供ccs的一些設(shè)置選項(xiàng),如顏色、字體和鍵盤等。表5.7列出了幾種較為重要的option菜單命令。 表表5.7 option菜單菜單菜單命令 功 能 editor 設(shè)置集成開發(fā)環(huán)境編輯器。 tab stops 定義tab鍵跳格數(shù); open files as read only用于防止對(duì)文件的不必要的修改;save before running tools 用于在 build 程序時(shí)提示對(duì)修改文件存盤;recent files 用于設(shè)置菜單中顯示的最近打開的工程或文件個(gè)數(shù) animate spee

40、d 設(shè)置斷點(diǎn)之間的最小時(shí)間。在按動(dòng)畫(animate)命令執(zhí)行程序時(shí),dsp 程序在碰到斷點(diǎn)時(shí)停止執(zhí)行,同時(shí)所有與 probe point 相連接的窗口都被更新。在碰到斷點(diǎn)后的最小時(shí)間(由 animate speed 定義)內(nèi),程序不會(huì)繼續(xù)執(zhí)行 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 表表5.7 option菜單菜單memory map 用來定義存儲(chǔ)器映射。存儲(chǔ)器映射指明了 ccs 調(diào)試器能訪問哪段存儲(chǔ)器,不能訪問哪段存儲(chǔ)器。典型情況下,存儲(chǔ)器映射與命令文件的存儲(chǔ)器定義相一致 dis-assembly style 設(shè)置反匯編窗口顯示模式,包括反匯編成助記符或是代數(shù)符號(hào)、直接

41、尋址與間接尋址用十進(jìn)制、二進(jìn)制或是十六進(jìn)制顯示 program load 程序加載選項(xiàng),共提供以下兩種選項(xiàng): 1 perform verification after porgram load: 默認(rèn)情況下此選項(xiàng)有效, 此時(shí) ccs將在程序加載后作校驗(yàn) 2load program after build:此選項(xiàng)有效時(shí),build 程序后會(huì)自動(dòng)加載執(zhí)行代碼到 dsp 器件 connect probe points 將一個(gè)顯示窗口與 probe point 相連接 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 在option菜單中,存儲(chǔ)器映射(memory map)是一個(gè)重要的概念,

42、有必要對(duì)其作詳細(xì)說明。 1) 添加一個(gè)新的存儲(chǔ)器映射范圍 (1) 選擇optionmemory map,將彈出memory map對(duì)話框。 (2) 在對(duì)話框中選中enable memory mapping,以使能存儲(chǔ)器映射。第一次運(yùn)行ccs時(shí),存儲(chǔ)器映射即呈禁用狀態(tài)(未選中enable memory mapping),也就是說,ccs調(diào)試器可存取目標(biāo)板上所有可尋址的存儲(chǔ)器(ram)。當(dāng)使能存儲(chǔ)器映射后,ccs調(diào)試器將根據(jù)存儲(chǔ)器映射設(shè)置檢查其可以訪問的存儲(chǔ)器。如果要存取的是未定義或保護(hù)區(qū)數(shù)據(jù),則調(diào)試器將顯示默認(rèn)值而不是存取目標(biāo)板上的數(shù)據(jù)。 (3) 選擇需修改的頁面(program、data或io

43、)。如果程序只使用一個(gè)存儲(chǔ)器頁面,則可以跳過這一步。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) (4) 按照命令文件的存儲(chǔ)器定義,在starting address域鍵入起始地址,在length域鍵入存儲(chǔ)器長度,在attributes域選擇存儲(chǔ)器的讀/寫屬性,再點(diǎn)擊add按鈕即添加一個(gè)新的存儲(chǔ)器映射范圍。 ccs調(diào)試器允許添加一個(gè)與已有的存儲(chǔ)器范圍有所重疊的新的存儲(chǔ)器范圍,此時(shí)重疊區(qū)域的讀/寫屬性會(huì)作相應(yīng)修改。 當(dāng)定義好一個(gè)新的存儲(chǔ)器范圍后,如果想更改其讀/寫屬性,則可以定義一個(gè)新的存儲(chǔ)器范圍(與該存儲(chǔ)器具有相同起始地址和相同范圍),并單擊add按鈕加入,則可將原存儲(chǔ)器屬性更改

44、為新定義的存儲(chǔ)器屬性。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 2) 刪除一個(gè)新的存儲(chǔ)器映射范圍 將一個(gè)已有的存儲(chǔ)器映射屬性設(shè)置為none-no memory/protected,可將該存儲(chǔ)器范圍刪除。另一個(gè)刪除存儲(chǔ)器范圍的方法是在memory map列表框內(nèi),選中需刪除的存儲(chǔ)器范圍,按delete按鈕可將其刪除。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 3) 存取一個(gè)不合法的存儲(chǔ)地址 當(dāng)設(shè)計(jì)人員想讀取一個(gè)被存儲(chǔ)器映射保護(hù)的存儲(chǔ)空間時(shí),調(diào)試器將不從目標(biāo)板讀取數(shù)據(jù),而是讀取一個(gè)保護(hù)數(shù)據(jù),通常為0。因此一個(gè)非法的存儲(chǔ)地址值通常顯示為0。也可在protected

45、value域輸入另外一個(gè)值,如0xdead,這樣當(dāng)試圖讀取一個(gè)非法存儲(chǔ)地址時(shí)將清楚地給予提示。 在判斷一個(gè)存儲(chǔ)地址是否合法時(shí),ccs調(diào)試器并不根據(jù)硬件結(jié)構(gòu)作出比較結(jié)果。因此,調(diào)試器不能防止程序存取一個(gè)不存在的存儲(chǔ)地址。 定義一個(gè)非法的存儲(chǔ)器映射范圍最好的方法是使用gel嵌入函數(shù),在運(yùn)行ccs時(shí)自動(dòng)執(zhí)行。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 8gel菜單菜單 c5000 ccs軟件本身提供c54x和c55x的gel函數(shù),它們?cè)赾5000.gel文件中定義。表5.8列出了c5000.gel文件中定義的gel函數(shù)。用戶還可將常用的gel函數(shù)添加到gel菜單中,此時(shí)需使用menu

46、item關(guān)鍵詞在gel菜單下建立一個(gè)新的下拉菜單項(xiàng)。此外還可使用dialog和slider關(guān)鍵詞建立對(duì)話框和滑動(dòng)條對(duì)象。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 表表5.8 gel 菜菜 單單菜單命令 功 能 c55x 提供 c55x reset 函數(shù)用于復(fù)位 c55x dsp 器件 c54x_cpu_reset 復(fù)位目標(biāo) dsp、復(fù)位存儲(chǔ)器映射、禁止存儲(chǔ)器映射及初始化寄存器 c541_init c542_init c543_init c545_init c546_init c548_init c549_init 對(duì) c54x dsp 復(fù)位 使能存儲(chǔ)器映射 設(shè)置指定 dsp

47、器件的存儲(chǔ)器映射 c54x c5402_init c5409_init c5410_init c5416_init c5420_init c5421_init c5402_dsk_init 對(duì) c54x dsp 復(fù)位 復(fù)位外設(shè) 使能存儲(chǔ)器映射 設(shè)置指定 dsp 器件的存儲(chǔ)器映射 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 9. tools菜單菜單表表5.9 tools 菜菜 單單菜單命令 功 能 pin connect 用于指定外部中斷發(fā)生的間隔時(shí)間,從而使用 simulator 來仿真和模擬外部中斷信號(hào) 1. 創(chuàng)建一個(gè)數(shù)據(jù)文件以指定中斷間隔時(shí)間(用 cpu 時(shí)鐘周期的函數(shù)來表

48、示) 2. 從 tools 菜單下選擇 pin connect 命令 3. 按 connect 按鈕,選擇創(chuàng)建好的數(shù)據(jù)文件,將其連接到所需的外部中斷 引腳 4. 加載并運(yùn)行程序 port connect 將 pc 文件與存儲(chǔ)器(端口)地址相連接, 可從文件中讀取數(shù)據(jù), 或?qū)⒋鎯?chǔ)器(端口)數(shù)據(jù)寫入文件中 command window 在 ccs 調(diào)試器中鍵入所需的命令, 鍵入的命令遵循 ti 調(diào)試器命令語法格式。由于許多命令都接受 c 表達(dá)式作為命令參數(shù), 因此使得指令集相對(duì)較小且功能較強(qiáng)。在命令窗口中鍵入 help 并回車可得到命令窗口支持的調(diào)試命令列表 data converter supp

49、ort 使開發(fā)者能快速配置與 dsp 器件相連的數(shù)據(jù)轉(zhuǎn)換器 c54dma 使開發(fā)者能觀察和編輯 dma 寄存器的內(nèi)容 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 續(xù)表 菜單命令 功 能 c54emulator analysis 使開發(fā)者能設(shè)置和監(jiān)視事件和硬件斷點(diǎn)的發(fā)生。c54x dsp 器件有一個(gè)片內(nèi)分析模塊,使用這些模塊,可以計(jì)算特定硬件功能發(fā)生的次數(shù)或設(shè)置相應(yīng)的硬件斷點(diǎn) c54mcbsp 使開發(fā)者能觀察和編輯 mcbsp 的內(nèi)容。c54x dsp 器件有多個(gè)高速、全雙工的多信道緩沖串行口(mcbsp),使該 dsp 器件能直接與系統(tǒng)中的其他器件接口。mcbsp 建立在標(biāo)準(zhǔn)串

50、行接口的基礎(chǔ)之上 c54simulator analysis 使開發(fā)者能設(shè)置和監(jiān)視事件的發(fā)生。此工具為加載調(diào)試器使用的特定偽寄存器集提供了一個(gè)透明的手段。調(diào)試器使用這些偽寄存器存取片內(nèi)分析模塊 rtdx 實(shí)時(shí)數(shù)據(jù)交換功能,使開發(fā)者能在不影響程序執(zhí)行的情況下分析 dsp 程序的執(zhí)行情況。 dsp/bios 使開發(fā)者能利用一個(gè)短小的固件核和 ccs 提供的 dsp/bios 工具, 對(duì)程序進(jìn)行實(shí)時(shí)跟蹤和分析 linker configuration 使用 visual linker 鏈接程序 xdais 產(chǎn)生與 xdais 算法相關(guān)聯(lián)的所有文件 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬

51、件設(shè)計(jì) 5.3.2 工具欄工具欄 ccs集成開發(fā)環(huán)境提供五種工具欄,分別為standard toolbar、gel toolbar、project toolbar、debug toolbar和edit toolbar。這五種工具欄可在view菜單下選擇是否顯示。 1. standard toolbar 如圖5.7所示,標(biāo)準(zhǔn)工具欄包括以下常用工具:圖5.7 standard工具欄第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) * new:新建一個(gè)文檔;* open:打開一個(gè)已存在的文檔;* save:保存一個(gè)文檔,如尚未命名,則打開save as對(duì)話框;* cut:剪切;* copy

52、:拷貝;* paste:粘貼;* undo:取消上一次編輯操作;* redo:恢復(fù)上一次編輯操作;* find next:查找下一個(gè);* find previous:查找上一個(gè);* search word:查找指定的文本;* find in files:在多個(gè)文件中查找;* print:打印;* help:獲取特定對(duì)象的幫助。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 2. gel toolbar gel工具欄提供了執(zhí)行g(shù)el函數(shù)的一種快捷方法。如圖5.8所示,在工具欄的左側(cè)文本輸入框中鍵入gel函數(shù)名,再點(diǎn)擊右側(cè)的執(zhí)行按鈕即可執(zhí)行相應(yīng)的函數(shù)。如果不使用gel工具欄,也可以使用

53、edit菜單下的edit command line命令執(zhí)行g(shù)el函數(shù)。圖5.8 gel工具欄第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 3. project toolbar project工具欄提供了與工程和斷點(diǎn)設(shè)置有關(guān)的命令。如圖5.9所示,工程工具欄提供了以下命令:圖5.9 project工具欄第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) * compile file:編譯文件;* incremental build:對(duì)所有修改過的文件重新編譯,再鏈接生成可執(zhí)行程序;* build all:全部重新編譯鏈接生成可執(zhí)行程序;* stop build:停止buil

54、d操作;* toggle breakpoint:設(shè)置斷點(diǎn);* remove all breakpoints:移去所有的斷點(diǎn);* toggle probe point:設(shè)置probe point;* remove all probe points:移去所有的probe point;* toggle profile point:設(shè)置剖切點(diǎn);* remove all profile points:移去所有的剖切點(diǎn)。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 4. debug toolbar如圖5.10所示,debug工具欄提供以下常用的調(diào)試命令:圖5.10 debug工具欄第5章tm

55、s320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) * single step:與debug菜單中的step into命令一致,單步執(zhí)行;* step over:與debug菜單中step over命令一致;* step out:與debug菜單中step out命令一致;* run to cursor:運(yùn)行到光標(biāo)處;* run:運(yùn)行程序;* halt:中止程序運(yùn)行;* animate:與debug菜單中animate命令一致;第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) * quick watch:打開quick watch窗口觀察或修改變量,還可方便地將變量加入watch窗口;

56、 * watch window:打開watch窗口觀察或修改變量; * register windows:觀察或編輯cpu寄存器或外設(shè)寄存器值; * view memory:查看存儲(chǔ)器指定地址的值; * view stack:查看堆棧值; * view disassembly:查看反匯編窗口。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 5. edit toolbar如圖5.11所示,edit菜單提供了一些常用的編輯命令及書簽命令。圖5.11 edit工具欄 * mark to:將光標(biāo)放在括號(hào)前面,再點(diǎn)擊此命令,則將標(biāo)記此括號(hào)內(nèi)所有文本; * mark next:查找下一個(gè)括號(hào)對(duì)

57、,并標(biāo)記其中的文本;第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) * find match:將光標(biāo)放在括號(hào)前面,再點(diǎn)擊此命令,則光標(biāo)將跳至與之配對(duì)的括號(hào)處; * find next open:將光標(biāo)跳至下一個(gè)括號(hào)處(左括號(hào)); * outdent marked text:將所選擇文本向左移一個(gè)tab寬度; * indent marked text:將所選擇文本向右移一個(gè)tab寬度; * edit: toggle bookmark:設(shè)置一個(gè)標(biāo)簽; * edit: next bookmark:查找下一個(gè)標(biāo)簽; * edit: previous bookmark:查找上一個(gè)標(biāo)簽; *

58、edit bookmarks:打開標(biāo)簽對(duì)話框。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 5.4 c54x dsp應(yīng)用系統(tǒng)的軟件設(shè)計(jì)與調(diào)試應(yīng)用系統(tǒng)的軟件設(shè)計(jì)與調(diào)試 一個(gè)c54x dsp應(yīng)用軟件的標(biāo)準(zhǔn)開發(fā)流程如圖5.12所示。 由圖可見,軟件的開發(fā)過程中將涉及到c編譯器、匯編器、鏈接器等開發(fā)工具。c編譯器輸出的是滿足c54x dsp的匯編程序,因?yàn)閏54x dsp的c編程的效率較低,所以它的c編譯器輸出的是匯編程序,用戶可以對(duì)該匯編程序進(jìn)行優(yōu)化,以提高程序效率。第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 圖5.12 c54x dsp應(yīng)用軟件的標(biāo)準(zhǔn)開發(fā)流程圖目標(biāo)文件

59、庫鏈接器實(shí)時(shí)支持庫歸檔器庫建立程序coff文件宏庫編譯器匯編代碼匯編代碼翻譯幫助c編譯器c源程序歸檔器宏源程序可執(zhí)行coff文件交叉引用列表器絕對(duì)列表器十六進(jìn)制轉(zhuǎn)換程序c54x dspeprom編程器pc機(jī)測試工具第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 初始學(xué)習(xí)可以從匯編程序開始,編制一個(gè)匯編程序,需經(jīng)歷下列步驟: (1) 用文本編輯器編輯滿足c54x dsp匯編器格式要求的匯編源程序; (2) 調(diào)用匯編器匯編該源文件; (3) 匯編后生成coff(公共目標(biāo)文件格式)目標(biāo)文件; (4) 調(diào)用鏈接器鏈接目標(biāo)文件,如果包含了運(yùn)行支持庫和目標(biāo)文件庫,鏈接器還會(huì)到所包含的庫中搜索所

60、需的成員; (5) 鏈接后生成可執(zhí)行的coff執(zhí)行文件“.out”; (6) 將可執(zhí)行的coff文件下載到實(shí)驗(yàn)箱中執(zhí)行,也可以使用ccs軟件跟蹤調(diào)試、優(yōu)化。 第5章tms320c54xtm dsp應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì) 5.4.1 匯編源文件匯編源文件(.asm)格式格式 c54x dsp匯編源文件以段(section)為基本單元構(gòu)成,一個(gè)程序文件由若干段構(gòu)成,每一段由若干語句(statement)構(gòu)成。 c54x dsp的程序段分為初始化段(initialized)和未初始化段(uninitialized)兩大類。初始化段可以是程序代碼,也可以是程序中用到的常量、數(shù)據(jù)表等。初始化段就是下載程序

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論