DSP cmd文件的编写.pdf
文本预览下载声明
EDA360 实验室
DSP 的存储器的地址范围,CMD 是主要是根据那个来编的。
CMD 它是用来分配ROM 和RAM 空间用的,告诉链接程序怎样计算地址和分配空间.
所以不同的芯片就有不同大小的ROM 和RAM.放用户程序的地方也不尽相同.所以要根据芯片进行修改.分
两部分.MEMORY 和SECTIONS.
MEMORY
{
PAGE 0
PAGE 1
}
SECTIONS
{SECTIONS
{
.vectors
.reset
}
MEMORY 是用来指定芯片的ROM 和RAM 的大小和划分出几个区间.
PAGE 0 对应ROM PAGE 1 对应RAM
PAGE 里包含的区间名字与其后面的参数反映了该区间的起始地址和长度.
SECTIONS:(在程序里添加下面的段名如.vectors.用来指定该段名以下,
另一个段名以上的程序(属于PAGE0)或数据(属于PAGE1)放到“”符号后的空间名字所在的地方。
SECTIONS
{
.vectors : { } VECS PAGE 0
.reset : { } VECS PAGE 0
}
eg:
MEMORY
{
PAGE 0:
EDA360 实验室
EDA360 实验室
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
.const : { } SARAM PAGE 1
.data : { } SARAM PAGE 1
.bss : { } SARAM PAGE 1
.stack : { } SARAM PAGE 1
.sysmem : { } SARAM PAGE 1
}
由三部分组成:
输入/输出定义:这一部分,可以通过ccs 的“Build Option”菜单设置
.obj 链接的目标文件
.lib 链接的库文件
.map 生成的交叉索引文件
.out 生成的可执行代码
MEMORY 命令:描述系统实际的硬件资源
SECTION 命令:描述“段”如何定位
例子
.cmd 文件
-c
-o hello.out
-m hello.map
EDA360 实验室
EDA360 实验室
-stack 100
-l rts2xx.lib
MEMORY
{
PAGE 0: VECT:origin=0x8000,length 0x040
PAGE 0: PROG:origin=0x8040,length 0x6000
P
显示全部