赚积分啦。。进入正题
TI.DSP的CMD文件详解以2407A为例子
LF2407A_c.cmd
/* CMD命令文件 - 存储空间划分(LF2407A) */
MEMORY
{
PAGE 0:
/* VECS : origin = 0000h , length = 0040h /* 程序复位 --片内FLASH*/
VECS : origin = 0x8000, length = 0x0040 /* 程序复位 仿真时地址*/
/* PROG : origin = 0060h , length = 6000h /* 片内FLASH 最大可到7FFFh*/
PROG: origin = 0x8860, length = 0x6000 /*仿真的片外地址--程序区*/
PAGE 1:
B2 : origin = 0x0060, length=0x0020
B1 : origin = 0x0300, length=0x0100
B0 : origin = 0x0200, length=0x0100
RAM_IN: origin = 0x0860, length=0x0700 /* 片内单访问RAM,数据区 */
/*SARAM_EX: origin = 8000h , length = 0x8000/* 外部扩展RAM,数据区,暂不用 */
}
/* CMD命令文件 - 程序段、数据段配置(LF2407A) */
SECTIONS
{
.vectors : { } > VECS PAGE 0 /* 指向自己定义的中断向量表 */
.text : { } > PROG PAGE 0 /* 程序代码 */
.cinit : { } > PROG PAGE 0 /*明确赋值和明确初始化的全局和静态常数*/
.switch : { } > PROG PAGE 0 /* 包含.switch语句建立的表格 */
.data : { } > B0 PAGE 1 /* 初始化变量和常数表 */
.bss : { } > B0 PAGE 1 /* 保留全局变量和静态变量空间 */
.const : { } > B0 PAGE 1 /* 字符串和switch表 */
.stack : { } > B1 PAGE 1 /* 堆栈,片内单访问RAM */
.sysmem : { } > RAM_IN PAGE 1 /* 为动态存储器函数分配存储器空间 */
}
其中当MP/MC 为0时,为微机模式--从片内FLASH 0x0000开始 到0x7FFF
/**************注意:0x0040--0x0043为DSP密码区不要写东西,不然容易锁死*************/
当MP/MC 为1时,为仿真模式--从片外SRAM程序存储存取
|