在nonBIOS情况下,CMD文件不外乎就三个:28335_RAM_lnk.cmd(用于仿真调试) 、
DSP2833x_Headers_nonBIOS.cmd 、
F28335.cmd(用于flash烧写)。仿真调试时只用前两个,用于flash烧写时只用后两个,且不管在何种方式下28335_RAM_lnk.cmd和F28335.cmd不能同时用,也不能代替用。
在DSP28335—CMD文件解读(1)中,已经介绍过DSP2833x_Headers_nonBIOS.cmd 。
在用28335_RAM_lnk.cmd时,一般情况下直接用TI给的,不需要做修改即可满足调试用,模式较固定,当然你也可以做相应的修改用到哪块RAM存储空间,在CMD文件里做相应的分配即可。
MEMORY
{
PAGE 0 :
BEGIN
: origin = 0x000000, length =
0x000002
BOOT_RSVD :
origin = 0x000002, length =
0x00004E
RAMM0
: origin = 0x000050, length = 0x0003B0
RAML
: origin = 0x008000, length = 0x004000
ZONE7A
: origin = 0x200000, length =
0x00FC00
CSM_RSVD : origin = 0x33FF80,
length =
0x000076
CSM_PWL :
origin = 0x33FFF8, length =
0x000008
ADC_CAL :
origin = 0x380080, length = 0x000009
RESET
: origin = 0x3FFFC0, length = 0x000002
IQTABLES : origin = 0x3FE000,
length = 0x000b50
IQTABLES2 :
origin = 0x3FEB50, length = 0x00008c
FPUTABLES :
origin = 0x3FEBDC, length = 0x0006A0
BOOTROM :
origin = 0x3FF27C, length =
0x000D44
PAGE 1 :
RAMM
: origin = 0x000400, length =
0x000400
RAMH
: origin = 0x00C000, length = 0x004000
ZONE6B
: origin = 0x13FC00, length =
0x000400
ZONE7B
: origin = 0x20FC00, length =
0x000400
}
SECTIONS
{
codestart
: >
BEGIN,
PAGE = 0
ramfuncs
: >
RAML,
PAGE = 0
.text
: >
RAML,
PAGE = 0
.cinit
: >
RAML,
PAGE = 0
.pinit
: >
RAML,
PAGE = 0
.switch
: >
RAML,
PAGE = 0
.stack
: >
RAMM,
PAGE = 1
.ebss
: >
RAMH,
PAGE = 1
.econst
: >
RAMH,
PAGE =
1
.esysmem
: >
RAMM,
PAGE = 1
IQmath
: >
RAML,
PAGE = 0
IQmathTables
: > IQTABLES, PAGE = 0, TYPE = NOLOAD
IQmathTables2
: > IQTABLES2, PAGE = 0, TYPE = NOLOAD
FPUmathTables
: > FPUTABLES, PAGE = 0, TYPE = NOLOAD
ZONE7DATA
: >
ZONE7B, PAGE
= 1
ZONE6DATA
: >
ZONE6B, PAGE
= 1
.reset
: >
RESET,
PAGE = 0, TYPE = DSECT
csm_rsvd
: > CSM_RSVD PAGE = 0, TYPE
= DSECT
csmpasswds
: >
CSM_PWL PAGE
= 0, TYPE = DSECT
.adc_cal
: load = ADC_CAL, PAGE = 0,
TYPE = NOLOAD
}
而编写用于flash烧写的F28335.cmd文件时相对来说较复杂些,根据不同的情况需要做一些修改。
1 不需要把部分代码copy到RAM里,一般情况不需要外扩RAM等时直接用TI的F28335.cmd即可。
2 需要把部分代码从flash
复制到RAM里,如延时函数DSP2833x_usDelay.asm等,这时CMD文件需要做相应的修改,具体参考博文:http://blog.sina.com.cn/s/blog_762cf5f80101asmq.html
3
从时间开销方面考虑,需要把整个程序从flash复制到RAM里,这时程序及CMD文件都要做相应的修改,具体参考博文http://blog.sina.com.cn/s/blog_762cf5f80101apfx.html
加载中,请稍候......