




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、cmdC2000 系 CMD 文件的配置理解近來群里問 CMD 問題的朋友較多,工程上因?yàn)?CMD 配置較差引起重新學(xué)了下 CMD 的理論寫了些心得與網(wǎng)友共享,還請(qǐng)批評(píng)指教。確實(shí)不少,CMD 的專業(yè)名稱叫器配置文件,是存放器的配置信息的,簡(jiǎn)稱為命令文件,其中比較關(guān)鍵的就是 MEMORY 和SECTIONS 兩個(gè)偽指令的使用,常常令人困惑,系統(tǒng)出現(xiàn)也經(jīng)常與它們的不當(dāng)使用有關(guān),我將重點(diǎn)講解。CCS 是從 DOS 系統(tǒng)下DSP繼承的開發(fā)環(huán)境。CCS令文件是 DOS 命令文件經(jīng)過很長(zhǎng)時(shí)間的引申發(fā)展了,已經(jīng)變得非常了簡(jiǎn)潔(不知道TI 文檔有沒有詳細(xì) CMD 配置說明)。我學(xué) CMD 是從 DOS 里的東
2、西開始的,所以也從DOS 環(huán)境下的 CMD 說起:1 命令文件的組成命令文件的開頭部分是要的各個(gè)子目標(biāo)文件的名字,這樣器就可以根據(jù)子目標(biāo)文件名,將相應(yīng)的目標(biāo)文件成一個(gè)文件;接下來就是器的操作指令,這些指令用來配置器,接下來就是 MEMORY 和SECTIONS 兩個(gè)偽指令的相關(guān)語句,必須大寫。MEMORY,用來配置目標(biāo)結(jié)合下面的典型 DOS 環(huán)境器,SECTIONS 用來指定段的存放位置。令文件 link.cmd 來做一下說明:file.obj/子目標(biāo)文件名 1file2.obj/子目標(biāo)文件名 2file3.obj/子目標(biāo)文件名 3- o prog.out/連接器操作指令,用來指定輸出文件-
3、m prog.m/用來指定 MAP 文件MEMORY 略 SECTIONS 略 otherlink.cmd本命令文件 link.cmd 要調(diào)用的 otherlink.cmd 等其則文件的名字要放到本命令文件最后一行,令文件,因?yàn)榉砰_頭的話,器是不會(huì)從被調(diào)用的其令文件中返回到本命令文件。2 MEMORY 偽指令MEMORY 用來建立目標(biāo)器的模型,SECTIONS 指令就可以根據(jù)這個(gè)模型來安排各個(gè)段的位置,MEMORY 指令可以定義目標(biāo)系統(tǒng)的各種類型的器,及容量。MEMORY 的語法如下:MEMORYPAGE 0 : name1(attr) : origin = constant,length =
4、 constantname1n(attr) : origin = constant,length = constantPAGE 1 : name2(attr) : origin = constant,length = constantname2n(attr) : origin = constant,length = constantPAGE n : namen(attr) : origin = constant,length = constantnamenn(attr) : origin = constant,length = constantPAGE對(duì)獨(dú)立的空間進(jìn)行標(biāo)記,頁號(hào) n 的最大值為
5、 255,實(shí)際應(yīng)用中一般分為兩頁,PAGE 0 程序器和 PAGE 1 數(shù)據(jù)器。name區(qū)間的名字,不超過 8 個(gè)字符,不同的 PAGE 上可以出現(xiàn)相同的名字(最好不用,免的搞混),一個(gè) PAGE 內(nèi)不許有相同的 name。attr 的屬性標(biāo)識(shí),為 R 表示可讀;W 可寫 X 表示區(qū)間可以裝入可執(zhí)行代碼;I 表示器可都選以進(jìn)行初始話,什么屬性代碼也不寫,表示擇這種寫法。區(qū)間具有上述的四種屬性,基本上origin:略。length:略。下面是我經(jīng)常用的 2407 的簡(jiǎn)單寫法大家參考,程序從 0 x060 是要避開加密位,不從 0 x0044開始更可靠一點(diǎn),此例中的同名的頁可以只寫第一個(gè),其后省略
6、,但寫上至少安全一點(diǎn):MEMORYPAGE 0: VECS: origin = 0 x0000,length 0 x40PAGE 0: PROG: origin = 0 x0060,length 0 x6000PAGE 1: B0: origin = 0 x200,length 0 x100PAGE 1: B1: origin = 0 x300,length 0 x100PAGE 1: DATA: origin = 0 x0860,length 0 x07803 SECTIONS 偽指令SECTIONS 指令的語法如下:SECTIONS.text:.data:.bss:所有.text 輸入所有
7、.data 輸入所有.bss 輸入load加載地址 run =運(yùn)行地址load加載地址 load加載地址load加載地址run =運(yùn)行地址 run =運(yùn)行地址run =運(yùn)行地址.other: 所有.other 輸入SECTIONS 必須用大寫字母,其后的大括號(hào)里是輸出段的說明性語句,每一個(gè)輸出段的說明都是從開始,之后是如何對(duì)輸入段進(jìn)行組織和給段分配器的參數(shù)說明:以.text 段的屬性語句為例,“所有.text 輸入”這段內(nèi)容用來說明連接器輸出段的.text段由哪些子目標(biāo)文件的段組成,舉例如下SECTIONS.text:file1.obj(.text) file2(.text) file3(.t
8、ext,cinit)略指明輸出段.text 要file1.obj 的.text 和 file2 的.text 還有 file3 的.text 和.cinit。在 CCS 的SECTIONS 里通常只寫一個(gè)中間沒有內(nèi)容的“ ”就表示所有的目標(biāo)文件的相應(yīng)段接下來說明“l(fā)oad加載地址 run =運(yùn)行地址”兩個(gè)地址:一個(gè)是加載地址,一個(gè)是運(yùn)行地址。通常情況下兩個(gè)地址是相同的,可以認(rèn)為輸出段只有一個(gè)地址,這時(shí)就可以不加“run =運(yùn)行地址”這條語句了;但有時(shí)需要將兩個(gè)地址分開,比如將程序加載到 FLASH,然后放到 RAM 中高速運(yùn)行,這就用到了運(yùn)行地址和加載地址的分別配置了,如下例所示:.const
9、 :略 load = PROGrun = 0 x0800器為每個(gè)輸出段都在目標(biāo)器里分配常量加載在程序區(qū),配置為在 RAM 里調(diào)用?!發(fā)oad加載地址”的幾種寫法需明一下,首先“l(fā)oad”關(guān)鍵字可以省略,“”可以寫成“”, “加載地址”可以是:地址值、區(qū)間的名字、PAGE所以大家見到“.text: 0 x0080”這樣的語句可千萬不要奇怪。“run =運(yùn)行地址”中的“ = ”可以用“”其它的簡(jiǎn)化寫法就沒有了。大家不要亂用。等,4 CCS 中的案例在 CCS 中令文件好像簡(jiǎn)化了不少,少了很多東西,語句也精簡(jiǎn)了好多,首先不用指定輸入器的目標(biāo)文件,CCS 會(huì)自動(dòng)默認(rèn)處理,其次器的配置命令也和DOS 的
10、環(huán)境不同,需要了解的請(qǐng)找TI 文檔吧!下面是劉和平例子,大家來看看是不是可以很精確的理解了呢!不懂的大家繼續(xù)在本帖-stack 40!/*/*/*/空間 F2407*/命令文件*/MEMORYPAGE 0 :VECS : origin =0h , length = 40h/*程序復(fù)位 */模塊中斷向量PVECS : origin =40h , length = 70h/*PROG : origin =0b0h , length = 7F50h*/* 在片 FLASH */PAGE 1 :MMRS : origin =0h , length =05Fh/* MMRS*/B2 : origin =
11、 0060h , length = B0 : origin = 0200h , length =B1 : origin = 0300h , length =020h100h100h/* DARAM B2/* DARAM B0/* DARAM B1塊塊塊*/*/*/SARAM: origin = 0800h , length =0800h/* SARAM 塊*/EXT : origin = 8000h , length =8000h/*外部器*/*/* SECTIONS ALLOCATION*/*/SECTIONS.reset: VECSPAGE 0/*復(fù)位中斷向量表*/.vectors : VECSPAGE 0 /
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國(guó)男士牛仔上衣行業(yè)深度研究及發(fā)展前景投資評(píng)估分析
- 2025至2030中國(guó)生命素內(nèi)衣行業(yè)市場(chǎng)市場(chǎng)占有率及投資前景評(píng)估規(guī)劃報(bào)告
- 美術(shù)培訓(xùn)沙發(fā)課件
- 教育前沿技術(shù)與人才培養(yǎng)研究
- 技術(shù)趨勢(shì)與商業(yè)競(jìng)爭(zhēng)-對(duì)現(xiàn)有工具的分析
- 健康醫(yī)療領(lǐng)域中的品牌形象建設(shè)研究
- 醫(yī)療行業(yè)線上教育活動(dòng)策劃全解析
- 企業(yè)培訓(xùn)的未來-虛擬現(xiàn)實(shí)技術(shù)的前景與挑戰(zhàn)
- 教育行業(yè)中的精準(zhǔn)決策支持系統(tǒng)研究
- 醫(yī)學(xué)教育與專業(yè)發(fā)展的動(dòng)機(jī)驅(qū)動(dòng)與效果衡量
- 華為“1+X”職業(yè)技能等級(jí)(網(wǎng)絡(luò)系統(tǒng)建設(shè)與運(yùn)維)中級(jí)考試題庫(含答案)
- 單位財(cái)務(wù)內(nèi)控制度
- 全老舊小區(qū)改造配套基礎(chǔ)設(shè)施項(xiàng)目工程監(jiān)理實(shí)施細(xì)則
- 【電氣專業(yè)】15D501建筑物防雷設(shè)施安裝
- 山東省病原微生物實(shí)驗(yàn)室及實(shí)驗(yàn)活動(dòng)備案管理系統(tǒng)
- DB41T 1564-2018豫南再生稻栽培技術(shù)規(guī)程
- 統(tǒng)編初中《道德與法治》課標(biāo)解讀與新教材介紹課件
- GB/T 5975-1986鋼絲繩用壓板
- GB/T 3235-2008通風(fēng)機(jī)基本型式、尺寸參數(shù)及性能曲線
- GB/T 17513-1998雄黃礦雌黃礦
- GA/T 1127-2013安全防范視頻監(jiān)控?cái)z像機(jī)通用技術(shù)要求
評(píng)論
0/150
提交評(píng)論