亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? c2000系cmd文件的配置理解2.txt

?? DSP2812的CMD詳細說明,內容非常完整,包括CMD文件編寫以及實例.
?? TXT
字號:
C2000系CMD文件的配置理解
近來群里問CMD問題的朋友較多,工程上因為CMD配置較差引起的問題確實不少,
重新學了下CMD的理論寫了些心得與網友共享,還請批評指教。
CMD的專業名稱叫鏈接器配置文件,是存放鏈接器的配置信息的,我們簡稱為命令文件,
其中比較關鍵的就是MEMORY和SECTIONS兩個偽指令的使用,常常令人困惑,
系統出現的問題也經常與它們的不當使用有關,我將重點講解。
CCS是從DOS系統下DSP軟件繼承的開發環境。
CCS的命令文件是DOS命令文件經過很長時間的引申發展了,
已經變得非常了簡潔(不知道TI文檔有沒有詳細CMD配置說明)。
我學CMD是從DOS里的東西開始的,所以也從DOS環境下的CMD說起:
1命令文件的組成

命令文件的開頭部分是要鏈接的各個子目標文件的名字,
這樣鏈接器就可以根據子目標文件名,將相應的目標文件鏈接成一個文件;
接下來就是鏈接器的操作指令,這些指令用來配置鏈接器,
接下來就是MEMORY和SECTIONS兩個偽指令的相關語句,必須大寫。
MEMORY,用來配置目標存儲器,SECTIONS用來指定段的存放位置。
結合下面的典型DOS環境的命令文件link.cmd來做一下說明:

file.obj            //子目標文件名1

file2.obj        //子目標文件名2

file3.obj        //子目標文件名3

- o prog.out  //連接器操作指令,用來指定輸出文件

- m prog.m    //用來指定MAP文件

MEMORY

{ 略 }

SECTIONS

{ 略 }

otherlink.cmd 


本命令文件link.cmd要調用的otherlink.cmd等其他命令文件,
則文件的名字要放到本命令文件最后一行,
因為放開頭的話,鏈接器是不會從被調用的其他命令文件中返回到本命令文件。
2 MEMORY偽指令


      MEMORY用來建立目標存儲器的模型,
SECTIONS指令就可以根據這個模型來安排各個段的位置,
MEMORY指令可以定義目標系統的各種類型的存儲器,及容量。MEMORY的語法如下: 

MEMORY 

{ 

PAGE 0 : name1[(attr)] : origin = constant,length = constant 

name1n[(attr)] : origin = constant,length = constant 

PAGE 1 : name2[(attr)] : origin = constant,length = constant 

name2n[(attr)] : origin = constant,length = constant 

PAGE n : namen[(attr)] : origin = constant,length = constant 

namenn[(attr)] : origin = constant,length = constant 

} 

PAGE關鍵詞對獨立的存儲空間進行標記,頁號n的最大值為255,實際應用中一般分為兩頁,PAGE 0程序存儲器和PAGE 1數據存儲器。 

name存儲區間的名字,不超過8個字符,不同的PAGE上可以出現相同的名字(最好不用,免的搞混),一個PAGE內不許有相同的name。 

attr的屬性標識,為R表示可讀;W可寫X表示區間可以裝入可執行代碼;I表示存儲器可以進行初始話,什么屬性代碼也不寫,表示存儲區間具有上述的四種屬性,基本上我們都選擇這種寫法。 

origin:略。 

length:略。
下面是我經常用的2407的簡單寫法大家參考,程序從0x060是要避開加密位,不從0x0044開始更可靠一點,此例中的同名的頁可以只寫第一個,其后省略,但寫上至少安全一點:


MEMORY

{

      PAGE 0: VECS: origin = 0x0000,  length 0x40

      PAGE 0: PROG: origin = 0x0060,  length 0x6000

      PAGE 1: B0  : origin = 0x200,  length 0x100

      PAGE 1: B1  : origin = 0x300,  length 0x100

      PAGE 1: DATA: origin = 0x0860,  length 0x0780

} 
3 SECTIONS偽指令
SECTIONS指令的語法如下:
SECTIONS
{
.text:  {所有.text輸入段名}  load=加載地址  run =運行地址
.data:  {所有.data輸入段名}  load=加載地址  run =運行地址
.bss:  {所有.bss輸入段名}    load=加載地址  run =運行地址
.other: {所有.other輸入段名}  load=加載地址  run =運行地址
}
SECTIONS必須用大寫字母,其后的大括號里是輸出段的說明性語句,每一個輸出段的說明都是從段名開始,段名之后是如何對輸入段進行組織和給段分配存儲器的參數說明:
以.text段的屬性語句為例,“{所有.text輸入段名}”這段內容用來說明連接器輸出段的.text段由哪些子目標文件的段組成,舉例如下

SECTIONS
{
.text:{  file1.obj(.text) file2(.text) file3(.text,cinit)}略
}

指明輸出段.text要鏈接file1.obj的.text和 file2的.text 還有file3的.text和.cinit。在CCS的SECTIONS里通常只寫一個中間沒有內容的“{ }”就表示所有的目標文件的相應段
接下來說明“load=加載地址  run =運行地址”鏈接器為每個輸出段都在目標存儲器里分配兩個地址:
一個是加載地址,一個是運行地址。通常情況下兩個地址是相同的,可以認為輸出段只有一個地址,
這時就可以不加“run =運行地址”這條語句了;但有時需要將兩個地址分開,
比如將程序加載到FLASH,然后放到RAM中高速運行,這就用到了運行地址和加載地址的分別配置了,
如下例所示:
.const :{略} load = PROG  run = 0x0800
常量加載在程序存儲區,配置為在RAM里調用。
“load=加載地址”的幾種寫法需要說明一下,首先“load”關鍵字可以省略,
“=”可以寫成“>”, “加載地址”可以是:地址值、存儲區間的名字、PAGE關鍵詞等,
所以大家見到“.text:{ } > 0x0080”這樣的語句可千萬不要奇怪。
“run =運行地址”中的“ = ”可以用“>”其它的簡化寫法就沒有了。大家不要亂用。


4 CCS中的案例
在CCS中的命令文件好像簡化了不少,少了很多東西,語句也精簡了好多,
首先不用指定輸入鏈接器的目標文件,CCS會自動默認處理,
其次鏈接器的配置命令也和DOS的環境不同,需要了解的請找TI文檔吧!
下面是劉和平書中的例子,大家來看看是不是可以很精確的理解了呢!
不懂的大家繼續在本帖討論!我的QQ605507276!
-stack 40
/*-------------------------------------------------------------------------*/
/*  命令文件 – 存儲空間 F2407            */
/*-------------------------------------------------------------------------*/
MEMORY
{
PAGE 0 :  VECS : origin =    0h , length = 40h  /*  程序復位 */
      PVECS : origin =  40h , length = 70h  /* 外圍模塊中斷向量 */
      PROG : origin =  0b0h , length = 7F50h  /* 在片FLASH */
PAGE 1 :  MMRS : origin =    0h , length =  05Fh  /* MMRS            */
    B2 : origin = 0060h , length =  020h  /* DARAM B2 塊  */
    B0 : origin = 0200h , length =  100h  /* DARAM B0 塊  */
    B1 : origin = 0300h , length =  100h  /* DARAM B1 塊  */
SARAM  : origin = 0800h , length =  0800h    /* SARAM 塊  */
EXT : origin = 8000h , length =  8000h  /* 外部存儲器  */
}
/*-------------------------------------------------------------------------*/
/* SECTIONS ALLOCATION                                                    */
/*-------------------------------------------------------------------------*/
SECTIONS
{
    .reset  : { } > VECS  PAGE 0  /* 復位中斷向量表 */
    .vectors : { } > VECS  PAGE 0 /* 中斷向量表 */
    .pvecs  : { } > PVECS  PAGE 0 /* 外圍模塊中斷向量表  */
    .text    : { } > PROG  PAGE 0 /* 代碼 */
    .cinit  : { } > PROG  PAGE 0  
    .bss    : { } > SARAM  PAGE 1 /* 塊 B2 */
    .const  : { } > SARAM  PAGE 1 /* 塊 B2 */  
    .stack  : { } > B1    PAGE 1 /* 堆棧—40個單元 */
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天天色综合成人网| 国产视频一区在线播放| 国产91精品在线观看| 美女脱光内衣内裤视频久久影院| 亚洲一区二区av电影| 亚洲色图制服丝袜| 国产精品久久久久久久裸模| 中文字幕一区二区三区在线播放| 国产精品久久毛片av大全日韩| 中文字幕va一区二区三区| 国产色综合久久| 国产精品麻豆视频| 亚洲男人的天堂在线aⅴ视频| 1024成人网| 一区二区在线免费观看| 亚洲第一福利一区| 成人动漫在线一区| 91一区二区在线| 欧美综合天天夜夜久久| 欧美一区二区三区播放老司机| 欧美一卡2卡3卡4卡| 国产亚洲精品精华液| 136国产福利精品导航| 舔着乳尖日韩一区| 韩国精品主播一区二区在线观看| 国产传媒日韩欧美成人| 91免费版pro下载短视频| 欧美日韩高清在线播放| 日韩免费看的电影| 日韩一区欧美一区| 偷拍一区二区三区| 成人成人成人在线视频| 欧美体内she精高潮| 精品国产亚洲一区二区三区在线观看| 欧美经典一区二区| 亚洲福利视频一区二区| 国产在线视频一区二区三区| 99精品欧美一区二区蜜桃免费| 91.成人天堂一区| 国产精品网站在线观看| 日韩和欧美一区二区| 成人aaaa免费全部观看| 欧美精品一级二级三级| 国产精品美女久久久久久久久久久 | 精品日韩在线一区| 91久久免费观看| 欧美影院午夜播放| 国产精品三级在线观看| 欧美成人r级一区二区三区| 一区二区三区在线免费视频| 欧美一a一片一级一片| 丝袜亚洲精品中文字幕一区| 日韩三级高清在线| 国产不卡视频一区| 亚洲精品乱码久久久久久久久 | 亚洲精品视频在线观看免费 | 成人精品小蝌蚪| 亚洲日本电影在线| 欧美日韩精品是欧美日韩精品| 日韩高清一级片| 国产日韩欧美麻豆| 91传媒视频在线播放| 人人精品人人爱| 国产精品久久看| 91精品国产综合久久婷婷香蕉 | 欧美美女一区二区在线观看| 国产在线播放一区三区四| 国产精品欧美一级免费| 欧美日韩亚洲综合在线| 国产美女主播视频一区| 亚洲已满18点击进入久久| 久久一夜天堂av一区二区三区| 色综合久久久久综合体| 另类调教123区| 一区二区三区高清| 国产免费成人在线视频| 欧美丰满少妇xxxbbb| 成人性生交大片| 天堂成人国产精品一区| 国产精品九色蝌蚪自拍| 亚洲色图欧洲色图婷婷| 99国内精品久久| 一区二区在线观看av| 99久久精品久久久久久清纯| 亚洲日本中文字幕区| 91麻豆精东视频| 欧美人伦禁忌dvd放荡欲情| 丁香啪啪综合成人亚洲小说| 麻豆一区二区三区| 天天操天天综合网| 91论坛在线播放| 图片区日韩欧美亚洲| 26uuu色噜噜精品一区二区| 亚洲黄色片在线观看| 精品国产髙清在线看国产毛片| 欧美日韩在线一区二区| 色一情一伦一子一伦一区| 国产精品一二一区| 久久99久久久久| 日韩成人av影视| 图片区日韩欧美亚洲| 亚洲丰满少妇videoshd| 一区二区三区在线影院| 亚洲欧美国产高清| 亚洲欧美综合色| 中文字幕在线一区二区三区| 国产婷婷一区二区| 久久久亚洲精华液精华液精华液| 欧美另类一区二区三区| 欧美另类变人与禽xxxxx| 欧美老肥妇做.爰bbww视频| 在线观看不卡一区| 欧美伊人久久久久久午夜久久久久| 91在线视频免费91| 日本精品视频一区二区| 色狠狠桃花综合| 欧美日韩在线观看一区二区| 欧美体内she精视频| 91麻豆精品国产无毒不卡在线观看 | 国内成人精品2018免费看| 久久丁香综合五月国产三级网站 | 久久综合精品国产一区二区三区 | 国产在线观看免费一区| 久久综合九色综合97婷婷| 欧美日韩亚洲高清一区二区| 国产精品系列在线观看| 日韩电影免费一区| 亚洲精品欧美综合四区| 久久久久久一级片| 日韩欧美在线不卡| 欧美精品在线观看一区二区| 91在线观看污| 国产乱对白刺激视频不卡| 午夜精品福利一区二区三区av| 最近日韩中文字幕| 久久精品一二三| 精品免费国产二区三区| 欧美精品一级二级三级| 欧美日韩一区三区四区| 在线日韩av片| 欧美综合欧美视频| 欧美色图在线观看| 色妞www精品视频| 波多野结衣精品在线| 成人美女视频在线观看18| 国产麻豆视频精品| 国产在线看一区| 精品无人码麻豆乱码1区2区| 蜜桃视频一区二区| 美女久久久精品| 卡一卡二国产精品| 麻豆国产一区二区| 久久精品999| 激情综合亚洲精品| 国产精品一二一区| 成人免费毛片高清视频| 丁香婷婷深情五月亚洲| 成人精品鲁一区一区二区| 粉嫩aⅴ一区二区三区四区五区| 国产成人av自拍| 97精品视频在线观看自产线路二| 91在线视频播放| 欧美日韩在线不卡| 日韩精品一区二区三区四区视频| 精品国精品国产尤物美女| 亚洲精品一区二区三区福利| 日本一区二区成人| 伊人色综合久久天天人手人婷| 亚洲成人自拍偷拍| 久久国产尿小便嘘嘘尿| 国产精品中文字幕日韩精品| 成人丝袜高跟foot| 色老头久久综合| 日韩欧美国产一二三区| 久久九九影视网| 亚洲免费观看高清完整| 午夜精品一区二区三区免费视频 | 国产亚洲综合色| 亚洲视频一区二区免费在线观看| 亚洲一区二区三区四区五区黄 | 99精品偷自拍| 欧美福利一区二区| 欧美激情一区二区三区四区| 一区二区三区精品视频在线| 麻豆国产欧美日韩综合精品二区| 成人免费视频视频| 欧美视频一区在线| 久久久久综合网| 亚洲国产视频a| 国产精品一级片| 91精品综合久久久久久| 国产欧美精品国产国产专区| 五月综合激情网| 不卡的电视剧免费网站有什么| 91精品在线免费| 亚洲精品伦理在线| 成人激情午夜影院| 日韩一区二区精品| 亚洲一区二区三区四区不卡| 粗大黑人巨茎大战欧美成人|