Other Parts Discussed in Thread: C2000WARE
以目前使用的TMS320F28027为例,其他型号还没有试过。
CCS Version: 11.0.0.00012
路径:ti\c2000\C2000Ware_4_00_00_00\device_support\f2802x\common\cmd
以下是上述路径下的F28027.cmd文件内容,MEMORY部分原封不动copy过来的
MEMORY
{
PAGE 0: /* Program Memory */
/* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */
PRAML0 : origin = 0x008000, length = 0x000800 /* on-chip RAM block L0 */
OTP : origin = 0x3D7800, length = 0x000400 /* on-chip OTP */
FLASHD : origin = 0x3F0000, length = 0x002000 /* on-chip FLASH */
FLASHC : origin = 0x3F2000, length = 0x002000 /* on-chip FLASH */
FLASHA : origin = 0x3F6000, length = 0x001F80 /* on-chip FLASH */
CSM_RSVD : origin = 0x3F7F80, length = 0x000076 /* Part of FLASHA. Program with all 0x0000 when CSM is in use. */
BEGIN : origin = 0x3F7FF6, length = 0x000002 /* Part of FLASHA. Used for "boot to Flash" bootloader mode. */
CSM_PWL_P0 : origin = 0x3F7FF8, length = 0x000008 /* Part of FLASHA. CSM password locations in FLASHA */
IQTABLES : origin = 0x3FE000, length = 0x000B50 /* IQ Math Tables in Boot ROM */
IQTABLES2 : origin = 0x3FEB50, length = 0x00008C /* IQ Math Tables in Boot ROM */
IQTABLES3 : origin = 0x3FEBDC, length = 0x0000AA /* IQ Math Tables in Boot ROM */
ROM : origin = 0x3FF27C, length = 0x000D44 /* Boot ROM */
RESET : origin = 0x3FFFC0, length = 0x000002 /* part of boot ROM */
VECTORS : origin = 0x3FFFC2, length = 0x00003E /* part of boot ROM */
PAGE 1 : /* Data Memory */
/* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation */
/* Registers remain on PAGE1 */
BOOT_RSVD : origin = 0x000000, length = 0x000050 /* Part of M0, BOOT rom will use this for stack */
RAMM0 : origin = 0x000050, length = 0x0003B0 /* on-chip RAM block M0 */
RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */
DRAML0 : origin = 0x008800, length = 0x000800 /* on-chip RAM block L0 */
FLASHB : origin = 0x3F4000, length = 0x002000 /* on-chip FLASH */
}


上面两个图是2802x的datasheet截图,datasheet中只有28027-Q1,没有单独28027,姑且认为28027和28027-Q1一样的。
第一个问题:cmd文件中PAGE 1里面的BOOT_RSVD起始地址是0x000000,length是0x000050,RAMM0起始地址是0x000050,length是0x0003B0。这两段我理解的是与datasheet中的M0 Vector RAM和M0 SARAM对应,但是datasheet中M0 SARAM的起始地址是0x000040,不是0x000050,length 0x0003B0是对的。
第二个问题:PAGE 0里面的VECTORS : origin = 0x3FFFC2, length = 0x00003E,但是datasheet中的起始地址是0x3FFFC0。


