版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 5.1 c54x dsp應用系統(tǒng)的軟硬件開發(fā)工具應用系統(tǒng)的軟硬件開發(fā)工具 5.2 ccs的安裝和使用簡介的安裝和使用簡介 5.3 ccs集成開發(fā)環(huán)境的使用集成開發(fā)環(huán)境的使用 5.4 c54x dsp應用系統(tǒng)的軟件設計與調試應用系統(tǒng)的軟件設計與調試 5.5 c54x dsp應用系統(tǒng)的硬件設計與調試應用系統(tǒng)的硬件設計與調試 習習 題題 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 5.1 c54x dsp應用系統(tǒng)的軟硬件開發(fā)工具應用系統(tǒng)的軟硬件開發(fā)工具 ti公司和第
2、三方為dsp軟硬件開發(fā)提供了許多工具,常見的dsp開發(fā)工具包括代碼生成工具和代碼調試工具兩大類,但這些開發(fā)工具未實現(xiàn)完全的集成化,需要輸入較復雜的命令,調試程序效率不高。1999年ti公司推出了code composer studio開發(fā)工具,簡稱ccs,這是一種功能強大的全面集成的開發(fā)環(huán)境(ide),它支持ti的tms320c6000tm、tms320c5000tm、tms320c2000tmdsp平臺和tms320c3xtm dsp系列。ccs集代碼生成工具和代碼調試工具于一體,可完成應用開發(fā)過程每一步驟所需要的眾多功能。并且ccs具有開放式的架構,使ti和第三方能通過無縫插入附加專用工具
3、擴展ide功能。目前ccs已經(jīng)歷v1.0、v1.2、v2.0、v2.1等版本。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 ccs的主要特性有:* 開發(fā)環(huán)境,可將所有工具緊密集成到單個簡便易用的應用中;* 實時分析工具,在不影響處理器性能的情況下可實現(xiàn)監(jiān)控程序交互作用;* 支持ti的高性能c64xtm dsp與低功率c55xtm dsp;* 在業(yè)界領先的c編譯程序;* 可擴展的實時核心(dsp/biostm核心);* profile-based compiler(c6000tm dsp),用于優(yōu)化代碼長度與性能;* visual linker,用于在內存中以圖形化的方式安排程序代
4、碼與數(shù)據(jù);第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 * 數(shù)據(jù)顯示,用于以多種圖形格式顯示信號;* 開放式的插入式架構,使你能夠集成專用的第三方工具;* 利用仿真器對ti dsp進行基于jtag掃描的實時仿真;* 可輕松管理大型的多用戶、多站點以及多處理器的項目;* 快速模擬器可提供深度視圖,能迅速而準確地解決問題;* 分析套件利用新的工具提高性能并簡化煩瑣的判斷工作;* 增強的流水線分析工具可提供詳細的流水線視圖。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 5.2 ccs的安裝和使用簡介的安裝和使用簡介5.2.1 ccs的安裝與設置的安裝與設置 1. code
5、 composer studion的安裝的安裝 ccs是一個開放的環(huán)境,通過設置不同的驅動可完成對不同的環(huán)境支持,下面以c54x dsp開發(fā)系統(tǒng)為例說明ccs的安裝。完整地安裝ccs軟件包括以下兩個步驟: (1) 將ccs安裝光盤放入到光盤驅動器中,運行ccs安裝程序setup.exe。安裝完成后,在桌面上會有“ccs 2 c5000”和 “setup ccs 2 c5000”兩個快捷方式圖標,分別對應ccs應用程序和ccs配置程序。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 (2) 運行ccs配置程序,配置驅動程序。如果ccs是在硬件目標板上運行,則要先安裝目標板驅動系統(tǒng),然
6、后運行“ccs 2 setup”配置驅動程序,最后執(zhí)行ccs應用程序。除非用戶改變ccs應用平臺類型,否則只需運行一次ccs配置程序。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 2. ccs軟件的設置軟件的設置 根據(jù)購買的開發(fā)器的類型選擇安裝不同的設備驅動程序。配置好相應的資源,并保存好設置即可。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 3. 硬件仿真系統(tǒng)的安裝硬件仿真系統(tǒng)的安裝 第一步:對于安裝ccs軟件,并正確設置ccs軟件。 第二步:對于pci接口dsp開發(fā)系統(tǒng),關閉pc電源,將pci卡插入pci插槽中,注意固定好。 對于isa接口dsp開發(fā)系統(tǒng),關閉p
7、c電源,將isa卡插入isa插槽中,注意固定好。 對于epp接口dsp開發(fā)系統(tǒng),關閉pc電源,將仿真盒通過并口電纜接在pc機的并口上。 對于usb接口dsp開發(fā)系統(tǒng),將仿真盒通過電纜接在pc機的usb口上。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 第三步:將jtag仿真電纜正確連接在實驗箱的jtag仿真口上,啟動ccs軟件,如果一切正常,則ccs能正確啟動,如果報錯,請檢查ccs安裝和設置以及實驗箱的電源、電纜接線是否正確。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 5.2.2 ccs文件名介紹文件名介紹在使用ccs軟件之前,應該先了解以下軟件的文件名約定:*
8、 project.pjt (ccs 1.2 版本該文件名為project.mak) 工程文件* program.c c語言源文件* program.asm 匯編語言源文件* filename.h c語言頭文件* filename.lib 庫文件* project.cmd 鏈接命令文件* program.obj 編譯后的目標文件* program.out 在目標硬件(實驗箱)上加載、調試、執(zhí)行的文件 這一部分將要介紹如何在ccs下面新建一個程序,及如何編譯、鏈接、下載、調試程序,我們將新建一個簡單的程序,在窗口顯示“hello world!”。 第5章tms320c54xtm dsp應用系統(tǒng)的軟
9、硬件設計 5.2.3 新建一個工程新建一個工程 (1) 如果你的 ccs安裝在 c:ti目錄下,請在c:timyproject 目錄下新建一個目錄,名為hello1; (2) 將c:tic5400tutorialhello1下的所有文件拷貝到新目錄中; (3) 運行ccs程序; (4) 選擇project /new 菜單,輸入新建工程名稱為myhello,點擊完成。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 5.2.4 往工程加入文件往工程加入文件 (1) 選擇project /add files to project,選擇hello.c,加入文件; (2) 按(1)方式分別往
10、工程里加入vector.asm、hello.cmd以及c:tic5400cgtoolslib目錄下的rts.lib文件; (3) 這個時候就可以點擊工作窗口工程視圖中myhello.pjt旁的+號,展開工程查看或編輯工程中的文件了; 注意:c語言文件的頭文件會自動加入到工程里。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 5.2.5 編譯執(zhí)行程序編譯執(zhí)行程序 (1) 選擇project /rebuild all 或工具條中相應的快捷按鈕; (2) 編譯成功后,選擇file/load program,選擇剛編譯的可執(zhí)行程序myhello.out; (3) 選擇debug /run或
11、工具條中相應的快捷按鈕; (4) 運行程序后,在標準輸出窗口中會出現(xiàn)“hello world!”。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 5.2.6 程序的跟蹤、調試程序的跟蹤、調試 (1) 選擇debug/restart或重新裝載“.out”文件; (2) 可以選擇view/mixed source/asm 對照觀察c語言程序和匯編語言程序; (3) 不全速運行,而是選擇 debug/stepinto 或按f8,單步執(zhí)行; (4) 單步執(zhí)行程序的同時,選擇view/cpu registers觀察主要寄存器的變化; (5) 對不熟悉的指令,可查找相應的說明。第5章tms32
12、0c54xtm dsp應用系統(tǒng)的軟硬件設計 5.2.7 可能出現(xiàn)問題的處理可能出現(xiàn)問題的處理 在編譯鏈接過程中的問題可以通過提示,尋找問題出現(xiàn)的原因并解決問題。如果是語法出錯,需要查閱相關語法資料,如果是環(huán)境參數(shù)設置上有問題,一般應在project/build options 中進行相應的修改(新安裝程序的默認設置,不熟悉的用戶最好不要隨意改動)。如果裝載程序時出問題,可以嘗試debug/reset 或重新運行ccs軟件或重新加電等辦法。習題 習題 習題 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 5.3 ccs集成開發(fā)環(huán)境的使用集成開發(fā)環(huán)境的使用 在ccs中,simulato
13、r(軟件模擬器)與emulator(硬件仿真器)使用的是相同的集成開發(fā)環(huán)境,在對應用系統(tǒng)進行硬件調試前,設計者可使用simulator在沒有目標板的情況下模擬dsp程序的運行。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 如果系統(tǒng)中同時安裝了simulator和emulator的驅動程序,則運行ccs時將啟動并行調試管理器(parallel debug manager)的運行,對于ti的仿真器(如圖5.1所示),此時需從菜單中選擇openc54xx simulator以啟動simulator的運行,出現(xiàn)與圖5.2類似的窗口;對于第三方的仿真器如seed仿真器(如圖5.3所示),從
14、菜單中選擇openc54x simulator以啟動simulator的運行,出現(xiàn)與圖5.4類似的窗口。圖5.1 ti仿真器并行調試管理器第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 圖5.2 ti仿真器 ccs運行主窗口第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 圖5.3 seed仿真器并行調試管理器第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 圖5.4 seed仿真器ccs運行主窗口第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 在ccs集成開發(fā)環(huán)境中,除edit窗口外,其余所有窗口和所有的工具欄都是可定位(allow docking
15、)的,也就是說可將這些窗口和工具欄拖至屏幕的任何位置(包括移至主窗體之外)。 在ccs中,所有的窗口都支持內容相關菜單(context menu)。在窗口內單擊鼠標右鍵即可彈出內容相關菜單,菜單中包含有與該窗口相關的選項和命令。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 5.3.1 菜單菜單 在ccs集成開發(fā)環(huán)境中共有11項菜單,現(xiàn)在就對其中較為重要的菜單功能加以介紹。 1. file菜單菜單 file菜單提供了與文件操作有關的命令。除open/save/print/exit等常見的命令外,file菜單還列出了以下幾種文件操作命令,如表5.1所示。第5章tms320c54xtm
16、 dsp應用系統(tǒng)的軟硬件設計 表表5.1 file菜單菜單菜單命令 功 能 source file 新建一個源文件(.c, .asm, .h, .cmd, .gel, .map, .inc 等) dsp/bios config 新建一個 dsp/bios 配置文件 visual linker recipe 打開一個 visual linker recipe 向導 new activex document 在 ccs 中打開一個 activex 文檔(如 microsoft word 或 microsoft excel等) load program 將 coff(.out)文件中數(shù)據(jù)和符號加載入
17、實際或仿真目標板(simulator)中 load symbol 當調試器不能或無需加載目標代碼(如目標代碼存放于 rom 中)時,僅將符號信息加載入目標板。此命令只清除符號表,不更改存儲器內容和設置程序入口 reload program 重新加載 coff 文件,如果程序未作更改則只加載程序代碼而不加載符號表 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 表表5.1 file菜單菜單load gel 在調用 gel 函數(shù)之前,應將包含該函數(shù)的文件加載入 ccs 中,以將該gel 函數(shù)調入內存。當加載的文件修改后,應先卸掉該文件,再重新加載該文件,從而使修改生效 加載 gel 函
18、數(shù)時將檢查文件的語法錯誤,但不檢查變量是否已定義 load 將 pc 文件中的數(shù)據(jù)加載入目標板, 可以指定存放的地址和數(shù)據(jù)的長度。數(shù)據(jù)文件可以是 coff 文件格式,也可以是 ccs 支持的數(shù)據(jù)格式 data save 將目標板存儲器數(shù)據(jù)存儲到一個 pc 數(shù)據(jù)文件中 file i/o ccs 允許在 pc 文件和目標 dsp 之間傳送數(shù)據(jù)。一方面可從 pc 文件中取出樣值用于模擬,另一方面也可將目標 dsp 處理的數(shù)據(jù)保存到計算機文件中 file i/o 功能應與 probe point 配合使用。probe point 將告訴調試器在何時從 pc 文件中輸入或輸出數(shù)據(jù) file i/o 功能
19、并不支持實時數(shù)據(jù)交換,實時數(shù)據(jù)交換應使用 rtdx 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 2. edit菜單菜單 edit菜單提供的是與編輯有關的命令。除去undo/redo/delete/select all/find/replace等常用的文件編輯命令外,ccs還支持以下幾種編輯命令,如表5.2所示。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 表表5.2 edit菜單菜單菜單命令 功 能 find in files 在多個文本文件中查找特定的字符串或表達式 go to 快速跳轉到源文件中某一指定行或書簽處 edit 編輯某一存儲單元 copy 將某一存
20、儲塊(標明起始地址和長度)數(shù)據(jù)拷貝入另一存儲塊 fill 將某一存儲塊填入某一固定值 memory patch asm 在不修改源文件的情況下修改目標 dsp 的執(zhí)行代碼 edit register 編輯指定的寄存器值,包括 cpu 寄存器和外設寄存器。由于 simulator 不支持外設寄存器,因此不能在 simulator 下監(jiān)視和管理外設寄存器內容 edit variable 修改某一變量值。對 ti 定點 dsp 芯片而言,如果目標 dsp 由多個頁面構成,則可使用prog, data 和io 來分別指定程序區(qū)、數(shù)據(jù)區(qū)和 i/o edit command line 提供鍵入表達式或執(zhí)行
21、 gel 函數(shù)的快捷方法 column editing 選擇某一矩形區(qū)域內的文本進行列編輯(剪切、拷貝及粘貼等) bookmarks 在源文件中定義一個或多個書簽便于快速定位。 書簽被保存在 ccs 的工作區(qū)(workspace)內以便隨時被查找到 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 3. view菜單菜單 在view菜單中,可以選擇是否顯示standard工具欄、gel工具欄、project工具欄、debug工具欄、editor工具欄和狀態(tài)欄(status bar)。此外view菜單中還包括如表5.3所示的顯示命令。 在view菜單中,graph是一個很有用的功能,它
22、可以逼真地顯示信號波形。在graph窗口中使用了兩個緩沖器:獲取緩沖和顯示緩沖。獲取緩沖駐留在實際或仿真的目標板上,它保存有你感興趣的數(shù)據(jù)。當圖形更新時,獲取緩沖從實際或仿真的目標板讀取數(shù)據(jù)并更新顯示緩沖。顯示緩沖則駐留在主機存儲器中,它記錄了歷史數(shù)據(jù)。波形圖則是根據(jù)顯示緩沖的數(shù)據(jù)繪制的。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 當輸入所需的參數(shù)并確認后,graph窗口從獲取緩沖中接收指定長度(由acquisition buffer size定義)和指定起始地址(由start address定義)的dsp數(shù)據(jù)。表表5.3 view菜單菜單菜單命令 功 能 dis-assemb
23、ly 當將程序加載入目標板后, ccs 將自動打開一個反匯編窗口。 反匯編窗口根據(jù)存儲器的內容顯示反匯編指令和符號信息 memory 顯示指定存儲器的內容 cpu register 顯示 dsp 的寄存器內容 cpu registers peripheral regs 顯示外設寄存器內容。simulator 不支持此功能 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 表表5.3 view菜單菜單time/frequency 在時域或頻域顯示信號波形。頻域分析時將對數(shù)據(jù)進行 fft 變換,時域分析時數(shù)據(jù)無需進行預處理。顯示緩沖的大小由 display data size定義 con
24、stellation 使用星座圖顯示信號波形。輸入信號被分解為 x、y 兩個分量,采用笛卡爾坐標顯示波形。顯示緩沖的大小由 constellation points 定義 eye diagram 使用眼圖來量化信號失真度。 在指定的顯示范圍內, 輸入信號被連續(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應用系
25、統(tǒng)的軟硬件設計 表表5.3 view菜單菜單watch window 用來檢查和編輯變量或 c 表達式,可以以不同格式顯示變量值,還可顯示數(shù)組、結構或指針等包含多個元素的變量 call stack 檢查所調試程序的函數(shù)調用情況。此功能僅在調試 c 程序時有效,且程序中必須有一個堆棧段和一個主函數(shù), 否則將顯示 “c source is not available.” expression list 所有的 gel 函數(shù)和表達式都采用表達式求值程序來估值。求值程序可對多個表達式求值, 在求值過程中可選擇表達式并按 abort 按鈕取消求值。這項功能在 gel 函數(shù)執(zhí)行到死循環(huán)或執(zhí)行時間太長時有用
26、 project ccs 啟動后將自動打開工程視圖。 在工程視圖中, 文件按其性質分為源文件、頭文件、庫文件及命令文件 mixed source/asm 同時顯示 c 代碼及相關的反匯編代碼(位于 c 代碼下方) realtime refresh options 在 ccs 1.2 版和 2.0 版均不支持 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 4. project菜單菜單 ccs使用工程來管理設計文檔。ccs不允許直接對匯編或c源文件build生成dsp應用程序,只有在建立工程文件的情況下,project工具欄上的build按鈕才會有效。工程文件被存盤為.mak文件。在
27、project菜單中包括一些常見的命令如new/open/close等,此外還包括如表5.4所示的菜單命令。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 表表5.4 project菜單菜單菜單命令 功 能 add files to project ccs 根據(jù)文件的擴展名將文件添加到工程的相應子目錄中。工程中支持c 源文件(*.c*)、匯編源文件(*.a*, *.s*)、庫文件(*.o*, *.lib)、頭文件(*.h)和鏈接命令文件(*.cmd)。其中 c 和匯編源文件可被編譯和鏈接;庫文件和鏈接命令文件只能被鏈接;ccs 會自動將頭文件添加到工程中 compile file
28、對 c 或匯編源文件進行編譯 build 重新編譯和鏈接。對于那些沒有修改的源文件,ccs 將不重新編譯 rebuild all 對工程中所有文件重新編譯并鏈接生成輸出文件 stop build 停止正在 build 的進程 show dependencies scan all dependencies 為了判別哪些文件應重新編譯, ccs 在 build 一個程序時會生成一個關系樹(dependency tree), 以判別工程中各文件的依賴關系。 使用此兩菜單命令則可以觀察工程的關系樹 options 用來設定編譯器、匯編器和鏈接器的參數(shù) recent project files 加載最近
29、打開的工程文件 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 5debug菜單菜單表表5.5 debug菜單菜單菜單命令 功 能 breakpoints 斷點。程序在執(zhí)行到斷點時將停止運行。當程序停止運行時,可以檢查程序的狀態(tài),查看和更改變量值,查看堆棧等。在設置斷點時應注意以下兩點: 1不要將斷點設置在任何延時分支或調用的指令處; 2不要將斷點設置在 repeat 塊指令的倒數(shù)一二行指令處 probe points 允許更新觀察窗口并在算法的指定處(設置 probe point 處)將 pc 文件數(shù)據(jù)讀至存儲器或將存儲器數(shù)據(jù)寫入 pc 文件中, 此時應設置 file i/o 屬
30、性。 對每一個建立的窗口,默認情況是在每個斷點(breakpoint)處更新窗口顯示,然而也可以將其設置為到達 probe point 處時更新窗口。 使用 probe point 更新窗口時, 目標dsp將臨時中止運行; 當窗口更新后, 程序繼續(xù)執(zhí)行。 因此probe point不能滿足實時數(shù)據(jù)交換(rtdx)的需要 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 表表5.5 debug菜單菜單菜單命令 功 能 stepinto 單步運行。如果運行到調用函數(shù)處將跳入函數(shù)單步執(zhí)行 stepover 執(zhí)行一條 c 或匯編指令。與 stepinto 不同的是,為保護處理器流水線,該指令
31、后的若干條延時分支或調用將同時被執(zhí)行。如果運行到函數(shù)調用處將執(zhí)行完該函數(shù)而不跳入函數(shù)執(zhí)行,除非在函數(shù)內部設置了斷點 stepout 如果程序運行在一個子程序中,執(zhí)行 stepout 將使程序執(zhí)行完該子程序回到調用該函數(shù)的地方。在 c 源程序模式下,根據(jù)標準運行 c 堆棧來推斷返回地址,否則根據(jù)堆棧項的值來求得調用函數(shù)的返回地址。因此,如果匯編程序使用堆棧來存儲其他信息,則 stepout 命令可能會不正常工作 run 從當前程序計數(shù)器(pc)執(zhí)行程序,碰到斷點時程序暫停執(zhí)行 halt 中止程序運行 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 表表5.5 debug菜單菜單ani
32、mate 運行程序。碰到斷點時程序暫停運行,在更新未與任何 probe point 相關聯(lián)的窗口后程序繼續(xù)運行。動畫(animate)命令的作用是在每個斷點處顯示處理器的狀態(tài),可以在 option 菜單下選擇 animate speed 來控制動畫的速度 run free 忽略所有斷點(包括 probe point 和 profile point),從當前 pc 處開始執(zhí)行程序。此命令在 simulator 下無效。使用 emulator 進行仿真時,此命令將斷開與目標 dsp 的連接,因此可移走 jtag 或 mpsd 電纜。在 run free 時還可對目標 dsp 硬復位 run to
33、cursor 執(zhí)行到光標處,光標所在行必須為有效代碼行 multiple operation 設置單步執(zhí)行的次數(shù) reset dsp 初始化所有寄存器到其上電狀態(tài)并中止程序運行 restart 將 pc 值恢復到程序的入口。此命令并不開始程序的執(zhí)行 go main 在程序的 main 符號處設置一個臨時斷點。此命令在調試 c 程序時起作用 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應用系統(tǒng)的軟硬件設計 6profiler菜單菜單 剖切(profiling)是ccs的一個重要功能。它可提供程序代碼特定區(qū)域的執(zhí)行統(tǒng)計,從而使開發(fā)設計人員能檢查程序的性能,對源程序進行優(yōu)化設置。使用剖切功能可以觀察dsp算法占用了多少cpu時間,還可以用它來剖切處理器的其他事件,如分支數(shù)、子程序調用次數(shù)及中斷發(fā)生次數(shù)等。該菜單如表5.6所示。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 表表5.6 profiler菜單菜單菜單命令 功 能 profile points 設置剖切點。剖切點是一種特殊的斷點,在每個剖切點處 ccs 將計
35、算自上一個剖切點以來的機器周期數(shù)及其他事件的發(fā)生次數(shù)。與其他斷點不同的是,統(tǒng)計數(shù)計算完畢后程序將繼續(xù)執(zhí)行。剖切點設置后,可以被使能,也可以被禁止 view statistics 在剖切統(tǒng)計窗口(profile statistics window)顯示每個剖切點處的統(tǒng)計數(shù)據(jù), 包括該剖切點執(zhí)行的次數(shù)及最小、最大、平均和總的指令周期數(shù)(如圖 5.5 所示)。程序每次執(zhí)行到剖切點時都會更新剖切統(tǒng)計窗口,但太多的更新窗口將降低剖切功能的性能。有兩種減小窗口更新次數(shù)的辦法:一種辦法是把更新窗口與剖切點相連接;另一種辦法是根據(jù)需要打開或關閉更新窗口 enable clock 為了獲得指令周期及其他事件的統(tǒng)
36、計數(shù)據(jù),必須使能剖切時鐘(profile clock)。當剖切時鐘被禁用時,將只能計算到達每個剖切點的次數(shù),而不能計算統(tǒng)計數(shù)據(jù) 剖切時鐘被作為一個變量(clk)通過 clock 窗口被訪問。clk 變量可在 watch窗口觀察,并可在 edit variable 對話框內修改其值。clk 還可在用戶定義的 gel函數(shù)中使用 指令周期的計算方式與使用的 dsp 驅動程序有關。對使用 jtag 掃描路徑進行通信的驅動程序,指令周期通過處理器的片內分析功能進行計算,其他的驅動程序則可能使用其他類型的定時器。simulator 使用仿真的 dsp 片內分析接口來統(tǒng)計剖切數(shù)據(jù)。當時鐘使能時,ccs 調試
37、器將占用必要的資源實現(xiàn)指令周期的計數(shù) 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 表表5.6 profiler菜單菜單clock setup 設置時鐘。在 clock setup 對話框中(如圖 5.6 所示),instruction cycle time 域用于輸入執(zhí)行一條指令的時間,其作用是在顯示統(tǒng)計數(shù)據(jù)時將指令周期數(shù)轉換為時間或頻率用于顯示 在 count 域選擇剖切的事件。對某些驅動程序而言,cpu cycles 可能是惟一的選項。對于使用片內分析功能的驅動程序而言,可以剖切其他事件,如中斷次數(shù)、子程序或中斷返回次數(shù)、分支數(shù)及子程序調用次數(shù)等 可使用 reset opt
38、ion 參數(shù)來決定如何計數(shù)。 如選擇 manual選項, 則 clk 變量將不斷累加指令周期數(shù),這與 ti simulator 類似;如選擇 auto 選項,則在每次 dsp運行前,自動將 clk 置為 0, 因此 clk 變量顯示的是上一次運行以來的指令周期數(shù),這與 ti emulator 類似 view clock 打開 clock 窗口, 顯示 clk 變量的值。 雙擊 clock 窗口的內容可直接將 clk 變量復位 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 圖5.5 剖切統(tǒng)計數(shù)據(jù) 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 圖5.6 時鐘設置 第5章
39、tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 7. option菜單菜單 option菜單提供ccs的一些設置選項,如顏色、字體和鍵盤等。表5.7列出了幾種較為重要的option菜單命令。 表表5.7 option菜單菜單菜單命令 功 能 editor 設置集成開發(fā)環(huán)境編輯器。 tab stops 定義tab鍵跳格數(shù); open files as read only用于防止對文件的不必要的修改;save before running tools 用于在 build 程序時提示對修改文件存盤;recent files 用于設置菜單中顯示的最近打開的工程或文件個數(shù) animate spee
40、d 設置斷點之間的最小時間。在按動畫(animate)命令執(zhí)行程序時,dsp 程序在碰到斷點時停止執(zhí)行,同時所有與 probe point 相連接的窗口都被更新。在碰到斷點后的最小時間(由 animate speed 定義)內,程序不會繼續(xù)執(zhí)行 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 表表5.7 option菜單菜單memory map 用來定義存儲器映射。存儲器映射指明了 ccs 調試器能訪問哪段存儲器,不能訪問哪段存儲器。典型情況下,存儲器映射與命令文件的存儲器定義相一致 dis-assembly style 設置反匯編窗口顯示模式,包括反匯編成助記符或是代數(shù)符號、直接
41、尋址與間接尋址用十進制、二進制或是十六進制顯示 program load 程序加載選項,共提供以下兩種選項: 1 perform verification after porgram load: 默認情況下此選項有效, 此時 ccs將在程序加載后作校驗 2load program after build:此選項有效時,build 程序后會自動加載執(zhí)行代碼到 dsp 器件 connect probe points 將一個顯示窗口與 probe point 相連接 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 在option菜單中,存儲器映射(memory map)是一個重要的概念,
42、有必要對其作詳細說明。 1) 添加一個新的存儲器映射范圍 (1) 選擇optionmemory map,將彈出memory map對話框。 (2) 在對話框中選中enable memory mapping,以使能存儲器映射。第一次運行ccs時,存儲器映射即呈禁用狀態(tài)(未選中enable memory mapping),也就是說,ccs調試器可存取目標板上所有可尋址的存儲器(ram)。當使能存儲器映射后,ccs調試器將根據(jù)存儲器映射設置檢查其可以訪問的存儲器。如果要存取的是未定義或保護區(qū)數(shù)據(jù),則調試器將顯示默認值而不是存取目標板上的數(shù)據(jù)。 (3) 選擇需修改的頁面(program、data或io
43、)。如果程序只使用一個存儲器頁面,則可以跳過這一步。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 (4) 按照命令文件的存儲器定義,在starting address域鍵入起始地址,在length域鍵入存儲器長度,在attributes域選擇存儲器的讀/寫屬性,再點擊add按鈕即添加一個新的存儲器映射范圍。 ccs調試器允許添加一個與已有的存儲器范圍有所重疊的新的存儲器范圍,此時重疊區(qū)域的讀/寫屬性會作相應修改。 當定義好一個新的存儲器范圍后,如果想更改其讀/寫屬性,則可以定義一個新的存儲器范圍(與該存儲器具有相同起始地址和相同范圍),并單擊add按鈕加入,則可將原存儲器屬性更改
44、為新定義的存儲器屬性。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 2) 刪除一個新的存儲器映射范圍 將一個已有的存儲器映射屬性設置為none-no memory/protected,可將該存儲器范圍刪除。另一個刪除存儲器范圍的方法是在memory map列表框內,選中需刪除的存儲器范圍,按delete按鈕可將其刪除。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 3) 存取一個不合法的存儲地址 當設計人員想讀取一個被存儲器映射保護的存儲空間時,調試器將不從目標板讀取數(shù)據(jù),而是讀取一個保護數(shù)據(jù),通常為0。因此一個非法的存儲地址值通常顯示為0。也可在protected
45、value域輸入另外一個值,如0xdead,這樣當試圖讀取一個非法存儲地址時將清楚地給予提示。 在判斷一個存儲地址是否合法時,ccs調試器并不根據(jù)硬件結構作出比較結果。因此,調試器不能防止程序存取一個不存在的存儲地址。 定義一個非法的存儲器映射范圍最好的方法是使用gel嵌入函數(shù),在運行ccs時自動執(zhí)行。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 8gel菜單菜單 c5000 ccs軟件本身提供c54x和c55x的gel函數(shù),它們在c5000.gel文件中定義。表5.8列出了c5000.gel文件中定義的gel函數(shù)。用戶還可將常用的gel函數(shù)添加到gel菜單中,此時需使用menu
46、item關鍵詞在gel菜單下建立一個新的下拉菜單項。此外還可使用dialog和slider關鍵詞建立對話框和滑動條對象。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 表表5.8 gel 菜菜 單單菜單命令 功 能 c55x 提供 c55x reset 函數(shù)用于復位 c55x dsp 器件 c54x_cpu_reset 復位目標 dsp、復位存儲器映射、禁止存儲器映射及初始化寄存器 c541_init c542_init c543_init c545_init c546_init c548_init c549_init 對 c54x dsp 復位 使能存儲器映射 設置指定 dsp
47、器件的存儲器映射 c54x c5402_init c5409_init c5410_init c5416_init c5420_init c5421_init c5402_dsk_init 對 c54x dsp 復位 復位外設 使能存儲器映射 設置指定 dsp 器件的存儲器映射 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 9. tools菜單菜單表表5.9 tools 菜菜 單單菜單命令 功 能 pin connect 用于指定外部中斷發(fā)生的間隔時間,從而使用 simulator 來仿真和模擬外部中斷信號 1. 創(chuàng)建一個數(shù)據(jù)文件以指定中斷間隔時間(用 cpu 時鐘周期的函數(shù)來表
48、示) 2. 從 tools 菜單下選擇 pin connect 命令 3. 按 connect 按鈕,選擇創(chuàng)建好的數(shù)據(jù)文件,將其連接到所需的外部中斷 引腳 4. 加載并運行程序 port connect 將 pc 文件與存儲器(端口)地址相連接, 可從文件中讀取數(shù)據(jù), 或將存儲器(端口)數(shù)據(jù)寫入文件中 command window 在 ccs 調試器中鍵入所需的命令, 鍵入的命令遵循 ti 調試器命令語法格式。由于許多命令都接受 c 表達式作為命令參數(shù), 因此使得指令集相對較小且功能較強。在命令窗口中鍵入 help 并回車可得到命令窗口支持的調試命令列表 data converter supp
49、ort 使開發(fā)者能快速配置與 dsp 器件相連的數(shù)據(jù)轉換器 c54dma 使開發(fā)者能觀察和編輯 dma 寄存器的內容 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 續(xù)表 菜單命令 功 能 c54emulator analysis 使開發(fā)者能設置和監(jiān)視事件和硬件斷點的發(fā)生。c54x dsp 器件有一個片內分析模塊,使用這些模塊,可以計算特定硬件功能發(fā)生的次數(shù)或設置相應的硬件斷點 c54mcbsp 使開發(fā)者能觀察和編輯 mcbsp 的內容。c54x dsp 器件有多個高速、全雙工的多信道緩沖串行口(mcbsp),使該 dsp 器件能直接與系統(tǒng)中的其他器件接口。mcbsp 建立在標準串
50、行接口的基礎之上 c54simulator analysis 使開發(fā)者能設置和監(jiān)視事件的發(fā)生。此工具為加載調試器使用的特定偽寄存器集提供了一個透明的手段。調試器使用這些偽寄存器存取片內分析模塊 rtdx 實時數(shù)據(jù)交換功能,使開發(fā)者能在不影響程序執(zhí)行的情況下分析 dsp 程序的執(zhí)行情況。 dsp/bios 使開發(fā)者能利用一個短小的固件核和 ccs 提供的 dsp/bios 工具, 對程序進行實時跟蹤和分析 linker configuration 使用 visual linker 鏈接程序 xdais 產(chǎn)生與 xdais 算法相關聯(lián)的所有文件 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬
51、件設計 5.3.2 工具欄工具欄 ccs集成開發(fā)環(huán)境提供五種工具欄,分別為standard toolbar、gel toolbar、project toolbar、debug toolbar和edit toolbar。這五種工具欄可在view菜單下選擇是否顯示。 1. standard toolbar 如圖5.7所示,標準工具欄包括以下常用工具:圖5.7 standard工具欄第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 * new:新建一個文檔;* open:打開一個已存在的文檔;* save:保存一個文檔,如尚未命名,則打開save as對話框;* cut:剪切;* copy
52、:拷貝;* paste:粘貼;* undo:取消上一次編輯操作;* redo:恢復上一次編輯操作;* find next:查找下一個;* find previous:查找上一個;* search word:查找指定的文本;* find in files:在多個文件中查找;* print:打??;* help:獲取特定對象的幫助。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 2. gel toolbar gel工具欄提供了執(zhí)行gel函數(shù)的一種快捷方法。如圖5.8所示,在工具欄的左側文本輸入框中鍵入gel函數(shù)名,再點擊右側的執(zhí)行按鈕即可執(zhí)行相應的函數(shù)。如果不使用gel工具欄,也可以使用
53、edit菜單下的edit command line命令執(zhí)行gel函數(shù)。圖5.8 gel工具欄第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 3. project toolbar project工具欄提供了與工程和斷點設置有關的命令。如圖5.9所示,工程工具欄提供了以下命令:圖5.9 project工具欄第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 * compile file:編譯文件;* incremental build:對所有修改過的文件重新編譯,再鏈接生成可執(zhí)行程序;* build all:全部重新編譯鏈接生成可執(zhí)行程序;* stop build:停止buil
54、d操作;* toggle breakpoint:設置斷點;* remove all breakpoints:移去所有的斷點;* toggle probe point:設置probe point;* remove all probe points:移去所有的probe point;* toggle profile point:設置剖切點;* remove all profile points:移去所有的剖切點。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 4. debug toolbar如圖5.10所示,debug工具欄提供以下常用的調試命令:圖5.10 debug工具欄第5章tm
55、s320c54xtm dsp應用系統(tǒng)的軟硬件設計 * single step:與debug菜單中的step into命令一致,單步執(zhí)行;* step over:與debug菜單中step over命令一致;* step out:與debug菜單中step out命令一致;* run to cursor:運行到光標處;* run:運行程序;* halt:中止程序運行;* animate:與debug菜單中animate命令一致;第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 * quick watch:打開quick watch窗口觀察或修改變量,還可方便地將變量加入watch窗口;
56、 * watch window:打開watch窗口觀察或修改變量; * register windows:觀察或編輯cpu寄存器或外設寄存器值; * view memory:查看存儲器指定地址的值; * view stack:查看堆棧值; * view disassembly:查看反匯編窗口。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 5. edit toolbar如圖5.11所示,edit菜單提供了一些常用的編輯命令及書簽命令。圖5.11 edit工具欄 * mark to:將光標放在括號前面,再點擊此命令,則將標記此括號內所有文本; * mark next:查找下一個括號對
57、,并標記其中的文本;第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 * find match:將光標放在括號前面,再點擊此命令,則光標將跳至與之配對的括號處; * find next open:將光標跳至下一個括號處(左括號); * outdent marked text:將所選擇文本向左移一個tab寬度; * indent marked text:將所選擇文本向右移一個tab寬度; * edit: toggle bookmark:設置一個標簽; * edit: next bookmark:查找下一個標簽; * edit: previous bookmark:查找上一個標簽; *
58、edit bookmarks:打開標簽對話框。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 5.4 c54x dsp應用系統(tǒng)的軟件設計與調試應用系統(tǒng)的軟件設計與調試 一個c54x dsp應用軟件的標準開發(fā)流程如圖5.12所示。 由圖可見,軟件的開發(fā)過程中將涉及到c編譯器、匯編器、鏈接器等開發(fā)工具。c編譯器輸出的是滿足c54x dsp的匯編程序,因為c54x dsp的c編程的效率較低,所以它的c編譯器輸出的是匯編程序,用戶可以對該匯編程序進行優(yōu)化,以提高程序效率。第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 圖5.12 c54x dsp應用軟件的標準開發(fā)流程圖目標文件
59、庫鏈接器實時支持庫歸檔器庫建立程序coff文件宏庫編譯器匯編代碼匯編代碼翻譯幫助c編譯器c源程序歸檔器宏源程序可執(zhí)行coff文件交叉引用列表器絕對列表器十六進制轉換程序c54x dspeprom編程器pc機測試工具第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 初始學習可以從匯編程序開始,編制一個匯編程序,需經(jīng)歷下列步驟: (1) 用文本編輯器編輯滿足c54x dsp匯編器格式要求的匯編源程序; (2) 調用匯編器匯編該源文件; (3) 匯編后生成coff(公共目標文件格式)目標文件; (4) 調用鏈接器鏈接目標文件,如果包含了運行支持庫和目標文件庫,鏈接器還會到所包含的庫中搜索所
60、需的成員; (5) 鏈接后生成可執(zhí)行的coff執(zhí)行文件“.out”; (6) 將可執(zhí)行的coff文件下載到實驗箱中執(zhí)行,也可以使用ccs軟件跟蹤調試、優(yōu)化。 第5章tms320c54xtm dsp應用系統(tǒng)的軟硬件設計 5.4.1 匯編源文件匯編源文件(.asm)格式格式 c54x dsp匯編源文件以段(section)為基本單元構成,一個程序文件由若干段構成,每一段由若干語句(statement)構成。 c54x dsp的程序段分為初始化段(initialized)和未初始化段(uninitialized)兩大類。初始化段可以是程序代碼,也可以是程序中用到的常量、數(shù)據(jù)表等。初始化段就是下載程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商鋪裝修合同樣本
- 水暖電消防承包合同范本
- 2025農(nóng)作物種子買賣合同范本
- 柴油運輸合同范本年
- 演出化妝服務合同
- 范文二手房買賣定金合同
- 委托合同行紀合同居間合同
- 2025【合同范本】房屋土建施工合同范本
- 2024年中考物理(廣州卷)真題詳細解讀及評析
- 簡單的櫥柜合同范本
- 河北省邯鄲市永年區(qū)2024-2025學年九年級上學期期末考試化學試卷(含答案)
- 2025初級會計理論考試100題及解析
- 三兄弟分田地宅基地協(xié)議書范文
- 中考數(shù)學計算題練習100道(2024年中考真題)
- 第八講 發(fā)展全過程人民民主PPT習概論2023優(yōu)化版教學課件
- 王崧舟:學習任務群與課堂教學變革 2022版新課程標準解讀解析資料 57
- 招投標現(xiàn)場項目經(jīng)理答辯(完整版)資料
- 運動競賽學課件
- 2022年上海市初中畢業(yè)數(shù)學課程終結性評價指南
- 高考作文備考-議論文對比論證 課件14張
- 新華師大版七年級下冊初中數(shù)學 7.4 實踐與探索課時練(課后作業(yè)設計)
評論
0/150
提交評論