第3章C6000系列DSPs的開發(fā)工具課件_第1頁
第3章C6000系列DSPs的開發(fā)工具課件_第2頁
第3章C6000系列DSPs的開發(fā)工具課件_第3頁
第3章C6000系列DSPs的開發(fā)工具課件_第4頁
第3章C6000系列DSPs的開發(fā)工具課件_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第3章

TMS320C6000開發(fā)工具1第三章共49頁C6000系列DSPs的開發(fā)工具軟件開發(fā)工具軟件開發(fā)過程2第三章共49頁3第三章共49頁軟件開發(fā)工具代碼產(chǎn)生工具系統(tǒng)集成與代碼調(diào)試工具其它代碼開發(fā)工具4第三章共49頁代碼產(chǎn)生工具——基本工具

C編譯器匯編優(yōu)化器匯編器連接器

C6000代碼產(chǎn)生過程5第三章共49頁代碼產(chǎn)生工具——輔助工具文檔管理器建庫工具十六進(jìn)制轉(zhuǎn)換工具交叉列表工具運(yùn)行支持庫6第三章共49頁代碼產(chǎn)生工具——C編譯器

對(duì)符合ANSI標(biāo)準(zhǔn)的C代碼進(jìn)行編譯,生成C6000匯編代碼編譯器內(nèi)分為:□語法分析器(Parser)□C優(yōu)化器(Optimizer)□代碼產(chǎn)生器(Codegenerator)7第三章共49頁代碼產(chǎn)生工具——C編譯器8第三章共49頁語法分析器的功能是對(duì)C代碼進(jìn)行預(yù)處理,進(jìn)行語言檢查,然后產(chǎn)生一個(gè)中間文件(.lf)作為C優(yōu)化器或代碼產(chǎn)生器的輸入。C優(yōu)化器對(duì)語法代碼器的輸出.lf文件進(jìn)行優(yōu)化,目的是縮短代碼長度和提高代碼執(zhí)行速度。代碼產(chǎn)生器利用語法分析器和C優(yōu)化器產(chǎn)生的中間文件,生成C6000匯編代碼(.asm)作為輸出。9第三章共49頁代碼產(chǎn)生工具——匯編優(yōu)化器通過循環(huán)優(yōu)化與合理分配寄存器來將線性匯編轉(zhuǎn)換成高度并行的匯編代碼,充分利用軟件流水輸入為線性匯編、輸出為標(biāo)準(zhǔn)匯編。10第三章共49頁代碼產(chǎn)生工具——匯編優(yōu)化器線性匯編代碼中不需要給出匯編代碼必須指出的所有信息,這些信息由匯編優(yōu)化器確定,它們包括:□使用的寄存器□指令的并行與否□指令的延遲周期□指令使用的功能單元11第三章共49頁代碼產(chǎn)生工具——匯編優(yōu)化器匯編優(yōu)化器是C6000代碼產(chǎn)生工具中極具特色的部分,它在DSPs業(yè)界首創(chuàng)了對(duì)線性匯編碼自動(dòng)進(jìn)行優(yōu)化的技術(shù),它使得對(duì)C6000結(jié)構(gòu)了解不多的用戶也能夠方便地開發(fā)高度并行的C6000代碼。12第三章共49頁代碼產(chǎn)生工具——匯編器

匯編器的輸入是:□匯編優(yōu)化器輸出的匯編文件□C編譯器產(chǎn)生的匯編文件□文檔管理器管理的宏庫內(nèi)的宏匯編器的輸出是可重新分配地址的機(jī)器語言目標(biāo)文件(TI的COFF格式)13第三章共49頁代碼產(chǎn)生工具——連接器

主要功能是根據(jù)用戶說明的程序和數(shù)據(jù)存放地址,把匯編器產(chǎn)生的浮動(dòng)地址代碼和數(shù)據(jù)映射到用戶系統(tǒng)的實(shí)際地址空間。把程序和數(shù)據(jù)的實(shí)際地址分配放在連接階段集中進(jìn)行,不僅更方便、更容易修改,并且也有利于程序在不同系統(tǒng)之間的移植。14第三章共49頁(1)目標(biāo)文件格式COFF段名聲明方式說明.text.sect“.text”代碼.data.sect“.data”常量.bss.sect“.bss”變量匯編器產(chǎn)生的默認(rèn)代碼段和數(shù)據(jù)段15第三章共49頁C編譯器產(chǎn)生的默認(rèn)代碼段和數(shù)據(jù)段段名說明.text代碼.cinit變量初始值.const常量.bss全局變量和靜態(tài)變量.stack堆棧.sysmem全局堆.farFar變量16第三章共49頁(2)C6000的存儲(chǔ)器映射17第三章共49頁(3)連接器命令文件MEMORY{ EXT0:o=00000000hl=01000000h Ext1:o=01000000hl=00400000h PMEM:0=01400000hl=00010000h EXT2:o=02000000hl=01000000h EXT3:o=03000000hl=01000000h BMEM:o=80000000hl=00010000h}SECTIONS{ .text > PMEM .stack > BMEM .bss > BMEM .cini > BMEM .cio > BMEM .const> BMEM .data> BMEM .switch> BMEM .sysmem> BMEM .far> EXT2}18第三章共49頁代碼產(chǎn)生工具——文檔管理器

可以將一組源文件或目標(biāo)文件放入一個(gè)文檔文件庫,每一個(gè)文件為一個(gè)庫成員可以對(duì)庫成員方便地進(jìn)行增、刪、改操作根據(jù)庫成員的種類,可以分為宏庫和目標(biāo)庫目標(biāo)庫可以作為連接器的輸入19第三章共49頁代碼產(chǎn)生工具——建庫工具

TI不僅提供了標(biāo)準(zhǔn)的ANSIC運(yùn)行支持庫,而且還提供了運(yùn)行支持庫的源代碼,用戶可以按照自己的編譯選項(xiàng)生成符合用戶系統(tǒng)要求的運(yùn)行支持庫20第三章共49頁代碼產(chǎn)生工具——十六進(jìn)制轉(zhuǎn)換工具

一般的編程器不支持TI的COFF格式目標(biāo)文件,因此TI提供了十六進(jìn)制轉(zhuǎn)換工具。可以將COFF格式轉(zhuǎn)換為編程器支持的TITagged,ASCII-hex,Intel,Motorola-S或Tektronix格式。21第三章共49頁代碼產(chǎn)生工具——交叉列表工具輸入已經(jīng)連接的目標(biāo)文件,輸出一個(gè)交叉引用列表文件。在列表文件中列出目標(biāo)文件中所有的符號(hào)以及它們?cè)谖募械亩x和引用情況。22第三章共49頁代碼產(chǎn)生工具——運(yùn)行支持庫

一個(gè)由一組C文件、C頭文件和匯編語言文件組成的庫文件,實(shí)現(xiàn)了符合ANSI標(biāo)準(zhǔn)的運(yùn)行支持功能。C6000的運(yùn)行支持庫還支持浮點(diǎn)函數(shù)、C6000的匯編指令性函數(shù),并且能夠訪問主機(jī)操作系統(tǒng)的CI/O函數(shù)。23第三章共49頁系統(tǒng)集成與調(diào)試工具軟件模擬器(simulator)軟件評(píng)估模塊(EVM)性能分析工具(Profiler)DSK(DSPStarterKit)XDS510硬件仿真器24第三章共49頁系統(tǒng)集成與調(diào)試工具——軟件模擬器

一個(gè)在主機(jī)上運(yùn)行的軟件程序,它使用主機(jī)的處理器和存儲(chǔ)器資源對(duì)C6000DSPs進(jìn)行指令級(jí)和C級(jí)模擬。高性能價(jià)格比的應(yīng)用開發(fā)和程序驗(yàn)證工具。它在PC機(jī)上的模擬速度一般為每秒幾百條指令。25第三章共49頁系統(tǒng)集成與調(diào)試工具——軟件評(píng)估模塊

用于C6000器件評(píng)估、軟件調(diào)試的開發(fā)工具。帶有目標(biāo)處理器的PC機(jī)和PCI插卡,適用于在系統(tǒng)原理樣機(jī)開發(fā)階段。包括軟件與硬件部分。26第三章共49頁EVM硬件

27第三章共49頁EVM軟件EVM卡配置工具EVM功能測試工具C6000COFF加載和執(zhí)行C6000程序EVMWin32DLL樣例代碼28第三章共49頁系統(tǒng)集成與調(diào)試工具——性能分析工具

集成在C6000調(diào)試接口內(nèi),用于評(píng)價(jià)代碼性能。它能方便地顯示:□函數(shù)執(zhí)行時(shí)間占總執(zhí)行時(shí)間的百分比□函數(shù)被調(diào)用的次數(shù)□整個(gè)應(yīng)用程序或某個(gè)函數(shù)、某個(gè)語句的執(zhí)行周期數(shù)29第三章共49頁

30第三章共49頁系統(tǒng)集成與調(diào)試工具——DSK

不僅能滿足開發(fā)人員熟悉C6000DSPs的需要,而且還能夠用于網(wǎng)絡(luò)、通訊、圖像等具體應(yīng)用的開發(fā)。它包括軟件與硬件部分。31第三章共49頁DSK硬件32第三章共49頁DSK軟件代碼產(chǎn)生工具CodeComposerDebuggerDSK支持軟件(閃存支持軟件、樣例程序和DSK功能測試軟件)33第三章共49頁其它代碼開發(fā)工具CodeComposerStudioeXpressDSP算法代碼轉(zhuǎn)換工具

34第三章共49頁其它代碼開發(fā)工具——CCSCCS是TI公司推出的一個(gè)集成性軟件開發(fā)工具。在開放式的插件結(jié)構(gòu)下,CCS內(nèi)部集成以下軟件工具:□C6000代碼產(chǎn)生工具(包括C6000的C編譯器、匯編優(yōu)化器、匯編器和連接器)□軟件模擬器□實(shí)時(shí)底層軟件DSP/BIOSTM□主機(jī)與目標(biāo)機(jī)之間的實(shí)時(shí)數(shù)據(jù)交換軟件RTDXTM□實(shí)時(shí)分析和數(shù)據(jù)可視化軟件35第三章共49頁36第三章共49頁其它代碼開發(fā)工具—eXpressDSPTM

這個(gè)算法標(biāo)準(zhǔn)是TI針對(duì)代碼的可重復(fù)利用提出的,它適用于TI的DSPs器件。它的目的是使得按照這個(gè)標(biāo)準(zhǔn)開發(fā)出的DSP算法,不經(jīng)修改或只需很少修改就可以集成在新的DSP系統(tǒng)中。37第三章共49頁38第三章共49頁其它代碼開發(fā)工具——代碼轉(zhuǎn)換工具

為了使用戶開發(fā)的DSPs軟件能夠在不同形式的設(shè)計(jì)方法之間轉(zhuǎn)換,TI的第三方公司提供了一些轉(zhuǎn)換工具。其中包括:□HypersignalCCodeGenerator——方框圖到C的代碼轉(zhuǎn)換工具□mmCC——C++到C的代碼轉(zhuǎn)換工具39第三章共49頁軟件開發(fā)過程軟件設(shè)計(jì)可以采用以下三種方式:□高級(jí)語言(一般是C語言)□匯編語言□混合語言編程(高級(jí)語言和匯編語言相結(jié)合)40第三章共49頁軟件開發(fā)過程高級(jí)語言

□采用高級(jí)語言編程具有開發(fā)周期短,可讀性強(qiáng),可移植性強(qiáng),便于維護(hù)等優(yōu)點(diǎn)?!跞秉c(diǎn)是一般不能充分地利用DSPs的資源,因而一般不能滿足實(shí)時(shí)性和性價(jià)比的要求。41第三章共49頁軟件開發(fā)過程注意事項(xiàng)在DSP中采用匯編語言編程,除了具有一般匯編語言的缺點(diǎn)之外,還具有很大的難度:為了充分利用DSP中的并行資源和流水線結(jié)構(gòu),需考慮每一條指令所使用的功能單元、延遲間隙、并行性等,所有這些問題都進(jìn)一步增加了開發(fā)和維護(hù)的難度。42第三章共49頁軟件開發(fā)過程混合語言□混合語言編程的優(yōu)點(diǎn)是能夠結(jié)合高級(jí)語言與匯編語言的優(yōu)點(diǎn)?!跬ǔR訡代碼為主體,匯編代碼可以以C語言可調(diào)用的函數(shù)或內(nèi)聯(lián)代碼的形式出現(xiàn)?!跏悄繕?biāo)最流行的編程方式。43第三章共49頁軟件開發(fā)過程

注意事項(xiàng)□通常,在用戶代碼內(nèi)需要用匯編語言進(jìn)行優(yōu)化的代碼只占總代碼的5%左右,而這5%的代碼確是算法的核心,要占用處理器95%的運(yùn)行時(shí)間?!踝罱K代碼效率能夠達(dá)到90%以上。44第三章共49頁軟件開發(fā)過程

編寫C代碼優(yōu)化C代碼編寫線性匯編45第三章共49頁軟件開發(fā)過程——產(chǎn)生C代碼

不需考慮任何C6000有關(guān)知識(shí)情況,根據(jù)任務(wù)編寫C代碼使用C6000Profiling工具確定代碼中可能存在的低效率段。通常在這個(gè)階段的代碼性能很低。46第三章共49頁軟件開發(fā)過程——優(yōu)化C代碼

利用內(nèi)聯(lián)函數(shù)、外殼選項(xiàng)和其它優(yōu)化方法改進(jìn)C代碼。使用profiling工具檢查其性能,然后有針對(duì)性地不斷優(yōu)化。如果代碼仍不能達(dá)到所期望的效率,則進(jìn)入第三階段。47第三章共49頁

軟件開發(fā)過程——編寫線性匯編

從C代碼中抽出對(duì)性能影響很大的代碼段,用線性匯編重新編寫這段代碼,然后使用

溫馨提示

  • 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)論