在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文件时相对来说较复杂些,根据不同的情况需要做一些修改。 |