芯片6713B,用CCS6编译程序生成的map文件查看内存占用情况,显示IRAM占用大小为0x000311a8(从0x00000400开始),但是发现在地址0x000315c7(>0x000311a8+0x00000400)后还有一段内存被使用,如下图所示。怎么会出现这种情况呢?
CMD 文件中.const段就是放在IRAM内。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
芯片6713B,用CCS6编译程序生成的map文件查看内存占用情况,显示IRAM占用大小为0x000311a8(从0x00000400开始),但是发现在地址0x000315c7(>0x000311a8+0x00000400)后还有一段内存被使用,如下图所示。怎么会出现这种情况呢?
CMD 文件中.const段就是放在IRAM内。
CMD文件:
MEMORY
{
/* IRAM o = 0x00000000 l = 0x00040000 192kB + 64kB - Internal RAM */
BOOT_RAM o = 0x00000000 l = 0x00000400 /* 192kB - Internal RAM */
IRAM o = 0x00000400 l = 0x0003FC00 /* 192kB + 64kB - Internal RAM */
/* L2RAM o = 0x00030000 l = 0x00010000 64kB - Internal RAM/CACHE */
EMIFCE0 o = 0x80000000 l = 0x10000000 /* SDRAM in 6713 DSK */
EXFLASHSYN o = 0x901C3880 l = 0x00000780
EXFLASHPN o = 0x901C4000 l = 0x0003c000
EMIFCE2 o = 0xA0000000 l = 0x10000000 /* Daughterboard in 6713 DSK */
EMIFCE3 o = 0xB0000000 l = 0x10000000 /* Daughterboard in 6713 DSK */
}
SECTIONS
{
.boot_load > BOOT_RAM
.text > IRAM
.stack > IRAM
.bss > IRAM
.cio > IRAM
.const > IRAM
.data > IRAM
.switch > IRAM
.sysmem > IRAM
.far > IRAM
.args > IRAM
.ppinfo > IRAM
.ppdata > IRAM
/* COFF sections */
.pinit > IRAM
.cinit > IRAM
/* EABI sections */
.binit > IRAM
.init_array > IRAM
.neardata > IRAM
.fardata > IRAM
.rodata > IRAM
.c6xabi.exidx > IRAM
.c6xabi.extab > IRAM
/* Revbuffer */
.Rev_bufferinit > IRAM
/* Flash 常量存储空间 */
.my_flash_sys_sync_sect > EXFLASHSYN
.my_flash_PN_sect > EXFLASHPN
}IRAM占用大小为0x000311a8,并不表示一定是到0x400+0x000311a8这个地址为止,在0x400~0x40000(0x400+0x3FC00)这段地址范围内都可以放数据,.const段放到0x000315c7没问题。