




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第四章DSP的開發(fā)環(huán)境與工具,主要內(nèi)容,軟件開發(fā)過程及開發(fā)工具 CCS集成開發(fā)環(huán)境,軟件開發(fā)過程及開發(fā)工具,一般估計(jì),一個(gè)嵌入式系統(tǒng),開發(fā)的80%的努力,以及系統(tǒng)的80%的復(fù)雜程度,取決于軟件。 因此,設(shè)計(jì)人員在為實(shí)時(shí)系統(tǒng)選擇處理器時(shí),都極為看重先進(jìn)的、易于使用的開發(fā)環(huán)境與工具。,DSP的開發(fā)環(huán)境和工具,代碼生成工具 系統(tǒng)集成及調(diào)試環(huán)境與工具 實(shí)時(shí)操作系統(tǒng),C 優(yōu)化編譯器,TI 為其TMS320系列 DSP提供了系列的 C 編譯器。將標(biāo)準(zhǔn) C 源文件編譯成為相應(yīng)片中的匯編語言源代碼文件,進(jìn)而匯編和連接,產(chǎn)生可執(zhí)行的目標(biāo)文件。 這些 C 編譯器符合ANSI C 標(biāo)準(zhǔn);有運(yùn)行支持庫(kù);一個(gè)外殼程序(
2、shell program)可以一步將 C 源代碼翻譯成為TMS320的目標(biāo)代碼。,匯編語言工具,TMS320的匯編語言工具是一個(gè)軟件包,其中包括:,匯編器 連接器 歸檔器 交叉引用列表器 十六進(jìn)制轉(zhuǎn)換公用程序,匯編器(Assembler),將匯編語言的源程序文件匯編成為機(jī)器語言的目標(biāo)程序文件,其格式為COFF(公用目標(biāo)文件格式)。匯編語言源程序可以包括匯編語言指令(instruction)、匯編指令(assembler directives)和宏指令(macro directives),連接器(Linker),連接器的基本任務(wù)是將目標(biāo)文件連接在一起,產(chǎn)生可執(zhí)行模塊。連接器可以接受的輸入文件包
3、括匯編器產(chǎn)生的COFF目標(biāo)文件、命令文件、庫(kù)文件、以及已部分連接好了的文件。它所產(chǎn)生的可執(zhí)行COFF目標(biāo)模塊可以裝入各種開發(fā)工具,或由TMS320器件來執(zhí)行,歸檔器(Archiver),歸檔器允許用戶將一組文件歸入一個(gè)檔案文件(庫(kù))。例如,將若干個(gè)宏歸入一個(gè)宏庫(kù),匯編器將搜索這個(gè)庫(kù),并調(diào)用源文件中使用的宏。也可以用歸檔器將一組目標(biāo)文件收入一個(gè)目標(biāo)文件庫(kù),連接器將連接庫(kù)內(nèi)的成員,并解決外部引用,交叉引用列表器(Cross-Reference Lister),交叉引用列表器是一個(gè)查錯(cuò)的工具。它接受已經(jīng)連接好的目標(biāo)文件作為輸入,產(chǎn)生一個(gè)交叉引用列表作為輸出。它列出符號(hào)、符號(hào)的定義、以及它們已經(jīng)連接的
4、源文件中的引用,十六進(jìn)制轉(zhuǎn)換公用程序(Hex Conversion Utility),將COFF目標(biāo)文件轉(zhuǎn)換成為若干種標(biāo)準(zhǔn)的文件格式: ASCII-十六進(jìn)制 Extended Tektronix Intel MCS-86 Motorola Exorciser TI SDSMAC,系統(tǒng)集成與調(diào)試工具,TI公司為TMS320系統(tǒng)的集成與調(diào)試所提供的工具包括調(diào)試器接口(C/Assembly source debugger)、軟仿真器(Simulator)、DSP入門套件(DSK,DSP Starter Kit)、標(biāo)準(zhǔn)評(píng)估模塊(EVM)、以及擴(kuò)展開發(fā)系統(tǒng)XDS(eXtended Development
5、 System)等,軟件仿真器(Simulator),將鏈接器輸出文件(.out文件)調(diào)入到一個(gè)PC機(jī)的軟件模擬窗口下,對(duì)DSP代碼進(jìn)行軟件模擬和調(diào)試。TMS320軟件仿真器是一個(gè)軟件程序,使用主機(jī)處理器和存儲(chǔ)器仿真TMS320 DSP的微處理器和微計(jì)算機(jī)模式,從而進(jìn)行軟件開發(fā)和非實(shí)時(shí)的程序驗(yàn)證。,硬件在線仿真器(XDS Emulator),為可擴(kuò)展的開發(fā)系統(tǒng)仿真器(XDS510),可以用來進(jìn)行系統(tǒng)級(jí)的集成調(diào)試,是進(jìn)行DSP芯片軟、硬件開發(fā)的最佳工具。XDS510是TI為其系列DSP設(shè)計(jì)用以系統(tǒng)調(diào)試的專用硬件仿真器(Emulators),它使用JTAG標(biāo)準(zhǔn),使用這種方法,程序可以從片外或片內(nèi)的
6、目標(biāo)存儲(chǔ)器實(shí)時(shí)執(zhí)行,在任何時(shí)鐘速率下都不會(huì)引入額外的等待狀態(tài)。,評(píng)估模塊(EVM板),TMS320的評(píng)估模塊是廉價(jià)的開發(fā)板,用于對(duì)DSP芯片的性能評(píng)估、標(biāo)準(zhǔn)程序檢查,也可以用來組成一定規(guī)模的用戶DSP系統(tǒng)。,CCS集成開發(fā)環(huán)境,TMS320C54x代碼生成工具,如匯編器、鏈接器、C/C+編譯器、建庫(kù)工具等。 CCS集成開發(fā)環(huán)境(Integrated Developong Envirorment,IDE),包括編輯器、工程管理工具、調(diào)試工具等。 DSP/BIOS(Basic Input and Output System)插件及應(yīng)用程序接口API(Application Progran Inte
7、rface)。 RTDX(Real Time Data Exchange)實(shí)時(shí)數(shù)據(jù)交換插件、主機(jī)(Host)接口及相應(yīng)的API。,CCS系統(tǒng)安裝,CCS對(duì)PC機(jī)的最低要求為Windows 95、32M RAM、100M剩余硬盤空間、奔騰90以上處理器、SVGA顯示器(分辨率800600以上)。,CCS系統(tǒng)設(shè)置,在安裝CCS之后、運(yùn)行CCS軟件之前,首先需要運(yùn)行CCS設(shè)置程序,根據(jù)用戶所擁有的軟、硬件資源對(duì)CCS進(jìn)行適當(dāng)?shù)呐渲谩?啟動(dòng)Setup CCS 應(yīng)用程序,將顯示Code Composer Studio Setup窗口。,在Factory Boards中添加設(shè)置,在Family下選擇C55
8、xx,將看到所有C55xx的仿真驅(qū)動(dòng),包括軟件仿真和硬件仿真; 在Platform下選擇Simulator,在Available Factory Boards中只顯示軟件仿真驅(qū)動(dòng),選中相應(yīng)的驅(qū)動(dòng); 雙擊C55xx Rev4.0 CPU Functional Simulator,可以在My System下看到所加入的驅(qū)動(dòng); 點(diǎn)擊Save PAGE n: namen(attr): original=constant, length=constant; ,(1)PAGE指定存儲(chǔ)器空間頁(yè)面,最多255。通常PAGE 0用于程序存儲(chǔ)器,PAGE 1用于數(shù)據(jù)存儲(chǔ)器。如果不指定PAGE,鏈接器默認(rèn)指定PAG
9、E 0。每一個(gè)PAGE代表一個(gè)完全獨(dú)立的地址空間。 (2)name是存儲(chǔ)器區(qū)間的取名,可由164個(gè)字符組成,包括AZ、az、$、.、_。名稱對(duì)鏈接器沒有特殊的含義,只是用來區(qū)分鏈接器區(qū)間。在不同的PAGE里區(qū)間名可以相同,但有同一個(gè)PAGE里區(qū)間名不能相同,且不能重疊配置。,(3)attr指定存儲(chǔ)區(qū)的14種屬性,屬性為任選項(xiàng),利用屬性將輸出段定位到存儲(chǔ)器時(shí)加以限制。 R:指定該存儲(chǔ)區(qū)可以讀。 W:指定該存儲(chǔ)區(qū)可以寫。 X:指定該存儲(chǔ)區(qū)可以裝入可執(zhí)行代碼。 I:指定該存儲(chǔ)區(qū)可以進(jìn)行初始化。 如果不給存儲(chǔ)區(qū)指定屬性,默認(rèn)為具有以上4種屬性,可以不受限制地將任何輸出段分配到該存儲(chǔ)區(qū)。,(4)orig
10、inal指定存儲(chǔ)區(qū)的起始地址,可以簡(jiǎn)寫為org或o,該值是一個(gè)16位二進(jìn)制常數(shù),可以用十進(jìn)制、八進(jìn)制或十六進(jìn)制數(shù)表示。 (5)length指定存儲(chǔ)區(qū)的長(zhǎng)度,可以簡(jiǎn)寫為len或l。,SECTIONS偽指令語法格式如下: SECTIONS name: property ,property ,property name: property ,property ,property name: property ,property ,property ,段,.text:包括可執(zhí)行代碼、字符串和編譯器產(chǎn)生的常數(shù) .data:數(shù)據(jù)段 .cinit:初始化變量和常數(shù)表 .const:字符串和以const關(guān)鍵字
11、定義的常量 .switch:包含switch語句表 .bss:為全局變量和靜態(tài)變量保留空間 .stack:為C的系統(tǒng)堆棧分配存儲(chǔ)空間 .system:動(dòng)態(tài)分配存儲(chǔ)器分配保留空間,為C語言函數(shù)malloc、calloc、realloc動(dòng)態(tài)分配存儲(chǔ)器,通常,.text、.cinit、.switch段可以鏈接到系統(tǒng)的ROM或RAM中且必須是在程序存儲(chǔ)器中(page0) ;.const段可以鏈接到系統(tǒng)的ROM或RAM中,且必須是在數(shù)據(jù)存儲(chǔ)器中(page1) ;.bss、.stack、.system段必須鏈接到系統(tǒng)的RAM中,且必須是在數(shù)據(jù)存儲(chǔ)器中(page1) 。,鏈接器命令文件舉例,-o hello
12、.out-m hello.mapMEMORY PAGE 0: VECT:origin=0 x8000h,length 0 x040h PAGE 0: PROG:origin=0 x8040h,length 0 x600h PAGE 1: DATA:origin=0 x8000h,length 0 x400hSECTIONS.vectors VECT PAGE 0.text PROG PAGE 0.bss DATA PAGE 1.const DATA PAGE 1,用CCS開發(fā)簡(jiǎn)單的程序,1創(chuàng)建新的工程文件 工程文件中包含著設(shè)計(jì)中所有的源代碼文件、鏈接器命令文件、庫(kù)函數(shù)、頭文件等。 (1)在CC
13、S的安裝目錄的myprojects子目錄下創(chuàng)建一個(gè)myfile1目錄。 (2)啟動(dòng)CCS,在Project菜單中選擇New項(xiàng),在Project中輸入myfile1,CCS將創(chuàng)建一個(gè)名為myfile1.pjt的工程。,2.將文件添加到工程中 (1)新建源文件 執(zhí)行菜單file/New/source files,并把文件保存在myfile工程文件夾下。 (2)在工程中添加源文件 執(zhí)行菜單project/add files to project,把此文件添加到工程中。,3生成和運(yùn)行程序 (1)選擇菜單命令ProjectRebuild All,對(duì)工程重新編譯、匯編和鏈接,主窗口下方的信息窗口將顯示bu
14、ild進(jìn)行匯編、編譯和鏈接的相關(guān)信息。 (2)選擇菜單命令FileLoad Program,在當(dāng)前目錄的Debug目錄下選擇myfile.out并打開,將Build生成的程序加載到DSP中。 (3)選擇菜單命令DebugRun或在Debug工具欄上單擊Run按鈕,運(yùn)行該程序。,舉例,實(shí)現(xiàn)數(shù)組a20=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,x20=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1的初始化,并將數(shù)據(jù)存儲(chǔ)器中的數(shù)組x20復(fù)制到數(shù)組y20,將數(shù)據(jù)存儲(chǔ)器中的a20寫入到程序存儲(chǔ)器PROM(200
15、0H-2013H),再將程序存儲(chǔ)器PROM中的20個(gè)數(shù)據(jù)存入數(shù)據(jù)存儲(chǔ)器DATA(0200H-0213H),1.編寫匯編源程序,.mmregs .data TBL: .word 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 .word 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 PROM : .usect “PROM”,20 .bss a,20 .bss x,20 .bss y,20 DATA .usect “DATA”,20,.text Start: STM #a,AR1 RPT #39 MVPD T
16、BL,*AR1+ STM #x,AR2 STM #y,AR3 RPT #19 MVDD *AR2+,*AR3+ STM #a,AR1 LD #PROM,A STM #19,AR3,LOOP: WRITA *AR1+ ADD #1,A,A BANZ LOOP,*AR3- LD #PROM-1,A STM #DATA,AR1 ST #19,BRC RPTB LOOP1 ADD #1,A,A LOOP1: READA *AR1+ WAIT: NOP B WAIT,2.建立匯編源程序,在CCS環(huán)境下,點(diǎn)擊file/new/source file菜單命令,打開一個(gè)空白文檔,將匯編程序輸入。 單擊file
17、/save菜單命令,在D:program filestimyprojects下保存文件名為mymove,并選擇保存類型為*.asm。,3.建立鏈接命令文件,_o mymove.out _m mymove.map MEMORY PAGE 0: RAM: origin=1000h,length=800h RAM1:origin=2000h,length=300h PAGE 1: DARAM1: origin=0100h,length=100h DARAM2: origin=0200h,length=100h ,SECTIONS .data :RAM PAGE 0 .text :RAM PAGE 0
18、 PROM:RAM1 PAGE 0 .bss :DARAM1 PAGE1 DATA :DARAM2 PAGE1 ,4.創(chuàng)建一個(gè)新工程,在project菜單中選擇new項(xiàng),彈出project creation窗口,在project欄中輸入mymove,單擊“完成”按鈕,CCS將創(chuàng)建一個(gè)名為mymove.pjt的工程,此文件保存了工程的設(shè)置信息及工程中的文件引用情況。,5.將有關(guān)文件添加到工程中,從project菜單中選取add files to project命令,選擇文件mymove.asm,雙擊“找開”按鈕,將mymove.asm添加到工程中。 從project菜單中選取add files to project命令,選擇文件mymove.cmd,將mymove.cmd添加到工程中。,6.匯編、編譯和鏈接產(chǎn)生.out文件,點(diǎn)擊project菜單中的rebuild all。在監(jiān)視窗口顯示匯編、編譯和鏈接的相關(guān)信息。如果沒有錯(cuò)誤,將產(chǎn)生mymove.out文件;如果有錯(cuò),在監(jiān)視窗口以紅色字體顯示出錯(cuò)行,用鼠標(biāo)雙擊該行,光標(biāo)跳至源程序相應(yīng)的出錯(cuò)行。修改錯(cuò)誤后,重新匯編、鏈接。,7.加載并運(yùn)行.out文件,執(zhí)行菜單命令file/load program,選擇mymove.out
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《綠野仙蹤》心得體會(huì)
- 《直角的初步認(rèn)識(shí)》教學(xué)反思
- 雙方合作開發(fā)合同范本
- 代播服務(wù)合同范本
- 各公司合同范例
- 代辦入職合同范本
- 單位集資住房合同范例
- 包裝公司加盟合同范本
- 古董陶瓷買賣合同范本
- 北京預(yù)付卡合同范本
- 2024年山東省高考生物試卷真題(含答案解析)
- 光伏發(fā)電站項(xiàng)目安全技術(shù)交底資料
- 富血小板血漿(PRP)臨床實(shí)踐與病例分享課件
- 跨文化交際教程 課件 杜平 Unit 1 Cultural Awareness and Intercultural Communication-Unit 3 Nonverbal Communication
- 光伏工程施工組織設(shè)計(jì)
- 社保知識(shí)競(jìng)賽考試題及答案
- 華為HCSA-Presales-IT售前認(rèn)證備考試題及答案
- 2024-2030年中國(guó)纖維板行業(yè)發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 小學(xué)二年級(jí)上冊(cè)數(shù)學(xué)思維訓(xùn)練題100道及答案解析
- 2024年品酒師職業(yè)技能大賽理論考試題庫(kù)及答案
- 2024-2025學(xué)年全國(guó)中學(xué)生天文知識(shí)競(jìng)賽考試題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論