在創建ccs工程的時候,cmd文件和gel文件很是重要,如不能配置好會出現一些莫名其妙的問題。函數
1. CMD文件:spa
不一樣的DSP芯片內集成的存儲器大小各異,但其配置方式是相似的。你們可經過查閱DSP芯片的數據手冊,瞭解芯片內部存儲空間大小。在實際的配置過程當中,可根據開發程序的實際代碼,正確的劃分程序和數據空間中各段的大小,使其空間配置達到最優。ci
CMD主要是用來分配rom和ram空間用的,它告訴連接程序怎樣計算地址和分配空間.因此不一樣的芯片就有不一樣大小的rom和ram.放用戶序的地程方也不盡相同.因此要根據芯片進行修改.分兩部分.MEMORY和SECTIONS.開發
MEMORY
{ cmd
PAGE 0 ..........
PAGE 1.........
}it
SECTIONS
{
.vectors .................
.reset .................
................
}變量
MEMORY是用來指定芯片的rom和ram的大小和劃分出幾個區間.PAGE 0 對應rom,PAGE 1對應ram。PAGE裏包含的區間名字與其後面的參數反映了該區間的起始地址和長度.配置
SECTIONS:在程序裏添加段名.XXXX(如.vectors.)用來指定該段名如下,另外一個段名以上的程序(屬於PAGE0)或數據(屬於PAGE1)放到「>」符號後的空間名字所在的地方。程序
MEMORY
{call
PAGE 0 :
VECS : origin = 00000h, length = 00040h
LOW : origin = 00040h, length = 03FC0h
SARAM : origin = 04000h, length = 00800h
B0 : origin = 0FF00h, length = 00100h
PAGE 1 :
B0 : origin = 00200h, length = 00100h
B1 : origin = 00300h, length = 00100h
B2 : origin = 00060h, length = 00020h
SARAM : origin = 08000h, length = 00800h
}
SECTIONS
{
.text : { } > LOW PAGE 0 存放程序代碼
.cinit : { } > LOW PAGE 0 存放程序中的變量初值和常量
.switch : { } > LOW PAGE 0 存放程序中switch語句的跳轉地址表
.const : { } > SARAM PAGE 1 量存放程序中的字符常量、浮點常量和用const聲明的常
.data : { } > SARAM PAGE 1
.bss : { } > SARAM PAGE 1 爲程序中的全局和靜態變量保留存儲空間
.stack : { } > SARAM PAGE 1 爲程序系統堆棧保留存儲空間,用於保存返回地址、函數間的參數傳遞、存儲局部變量和保存中間結果
.sysmem : { } > SARAM PAGE 1 用於程序中的malloc 、calloc 、和realoc 函數動態分配存儲空間.text可執行代碼
}
2. GEL文件: