DSP的CMD文件詳解(整理版)(精)_第1頁(yè)
DSP的CMD文件詳解(整理版)(精)_第2頁(yè)
DSP的CMD文件詳解(整理版)(精)_第3頁(yè)
DSP的CMD文件詳解(整理版)(精)_第4頁(yè)
DSP的CMD文件詳解(整理版)(精)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

DSP的CMD文件詳解(整理版)(精)2{}{torset}3{rsVECSPAGEVECSPAGE}{VECS:origin=00000h,length=00040horiginhlengthFChSARAMorigin=04000h,length=00800hriginFFhlengthhoriginhlengthhoriginhlengthhoriginhlengthh4SARAMoriginhlength00h}{OWPAGELOWPAGEhLOWPAGEconst:{}>SARAMPAGE1.data:{}>SARAMPAGE1.bss:{}>SARAMPAGE1stack:{}>SARAMPAGE1sysmem:{}>SARAMPAGE1}5-c-ohello.outhellomapstack100-lrts2xx.lib{CToriginxlengthxOGoriginxlengthxTAoriginxlengthx}{orsVECTPAGEOGPAGE.bss>DATAPAGE1.const>DATAPAGE1}6constconstswitch放程bss間.far為程序中用far聲明的全局和靜態(tài)變量保留空間CMD的專業(yè)名稱叫鏈接器配置文件,是存放鏈接器的配置信息的,我們簡(jiǎn)稱7oprogout作指令,用來(lái)指定輸出文件IONSotherlink.cmd頭的話,鏈接器是不會(huì)從被調(diào)用的其他命令Y{8stantlengthconstantginconstantlengthconstantPAGEnameattroriginonstantnconstantlengthconstantPAGEnnamenattroriginonstantnamennattroriginconstantlengthconstant字,不超過(guò)8個(gè)字符,不同的PAGE上可以出現(xiàn)相同的名字(最好不用,免的搞{AGEVECSoriginxlengthxPAGEPROGoriginxlengthxPAGEBoriginxlengthx9engthxxlengthx}{SECTIONS必須用大寫字母,其后的大括號(hào)里是輸出段的說(shuō)明性語(yǔ)句,每一個(gè)輸出段的說(shuō)明都是從段名開始,段名之后是如何對(duì)輸入段進(jìn)行組織和給段分配存儲(chǔ)S{xtfileobjtextfiletextfiletextcinit}通常情況下兩個(gè)地址是相同的,可以認(rèn)為輸出段只有一個(gè)地址,這時(shí)就可以不加“run=運(yùn)行地址”這條語(yǔ)句了;但有時(shí)需要將兩個(gè)地址分開,比如將程序加載到FLASHRAM4、CCS中的案例{PAGEVECSoriginhlength=40hPVECS:origin=40h,length=70hPROG:originbhlength=7F50hPAGEMMRSoriginhlength=05FhB2:origin=0060h,length=020hB0:origin=0200h,length=100hB1:origin=0300h,length=100hSARAMorigin0800h,length=0800hEXT:origin=8000h,length=8000h}{VECSPAGEvectorsVECSPAGEpvecsPVECSPAGE0.text:{}>PROGPAGE0PROGPAGE.bss:{}>SARAMPAGE1const{}>SARAMPAGE1.stack:{}>B1PAGE1}1>通用目標(biāo)文件格式(CommonObjectFileFormat)是一種流行的二進(jìn)制可執(zhí)行文件格式,二進(jìn)制可執(zhí)行文件包括庫(kù)文件(lib),目標(biāo)文件(obj)最終可執(zhí)行文件(out)。,現(xiàn)今PC機(jī)上的Windows95和NT4.0以后的操作系統(tǒng)的二進(jìn)制文件格式(PE)就是在COFF格式基礎(chǔ)上的進(jìn)一步擴(kuò)充。寫操作系統(tǒng)和編譯器a.data常數(shù)數(shù)據(jù)(比如對(duì)變量的初始化數(shù)據(jù))3>C語(yǔ)言的段未初始化塊(data):.switchswitch語(yǔ)句產(chǎn)生的常數(shù)表格(program/低64K數(shù)據(jù)空間).pinitTablesforglobalconstructors(C++(programtprogram.const全局和靜態(tài)的const變量初始化值和字符串常數(shù),(data).econst長(zhǎng).const(可定位到任何地方)(data)3>自定義段(C語(yǔ)言)#pragmaDATA_SECTION(函數(shù)名或全局變量名,"用戶自定義在數(shù)據(jù)空間的段名pragmaCODESECTION空間的段名3、連接命令文件(CMD){tantlengthconstanttantlengthconstant}{perty}load=allocation(強(qiáng)制地址或存儲(chǔ)空間名稱)同>allocation:定義輸出段將會(huì)run=allocation(強(qiáng)制地址或存儲(chǔ)空間名稱)同>allocation:定義輸出段將會(huì)在由關(guān)鍵字const限定的全局變量(const限定的局部變量不產(chǎn)生)初始化值,和出現(xiàn)在表達(dá)式(做指針使用,而用來(lái)初始化字符串?dāng)?shù)組變量不產(chǎn)生)中的字符串量時(shí),其初始值會(huì)產(chǎn)生.const段,而全局時(shí)不產(chǎn)SECTION-c-ohello.outhellomapstack100-lrts2xx.lib{CToriginxlengthxOGoriginxlengthxTAoriginxlengthx}{orsVECTPAGEE.bss>DATAPAGE1.const>DATAPAGE1}.const存放程序中的字符常量、浮點(diǎn)常量和用const聲明的常量bss間.far為程序中用far聲明的全局和靜態(tài)變量保留空間t}讀)、W(只寫)、X(存儲(chǔ)器可以包含可執(zhí)行代碼)、I(存儲(chǔ)器可以被初始化)。md{rsVECSPAGEVECSPAGE}(1)被初始化的Section(包含數(shù)據(jù)表和可執(zhí)行代碼).pinit:它包括全局構(gòu)造器(C++)初始化的變量表,要求放在程序頁(yè)t(2)未被初始化的Section(為程序運(yùn)行中創(chuàng)建和存放的變量在存儲(chǔ)器中保留bss,C導(dǎo)入路徑把數(shù)據(jù)從.cinit節(jié)復(fù)制出去然后存在.bss節(jié)中.要求放在低地址的數(shù)據(jù)頁(yè).ebbsC全局變量和靜態(tài)變量保留{PAGEVECSoriginhlengthh程序復(fù)位length=00100h//DRAMB1塊Borigin=00060h,length=00020h//DRAMB2塊SARAM:origin=00800h,length=00800h//SRAM塊IONS{resetVECSPAGEctorsVECSPAGEecsPVECSPAGEOGPAGE}}{PAGE包含的區(qū)間名字與其后面的參數(shù)反映了該區(qū)間的起始地址和長(zhǎng)度.SECTIONS里添加下面的段名如.vectors.用來(lái)指定該段名以下,另一{tvectortableetcode}{ECSoriginhlengthhLOWoriginhlengthFChSARAMoriginhlengthhBorigin=0FF00h,length=00100hPAGEBoriginhlengthhBoriginhlength0hBoriginhlengthhSARAMorig

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論