你好,ES3.0 的AWR1443芯片,我看SDK_02_01_00_04中 demo中允许配置自由配置6个bank的RAM空间
我实际用的时候给L3_RAM分配了4个BANK,PROG_RAM分配1个,DATA_RAM分配1个,那么实际PROG_RAM大小是192k,DATA_RAM是128K了,
但是如果我的程序大小超过了128K或者说DATA_RAM超过了64K,代码就无法正常运行,也就是说我给PROG_RAM和DATA_RAM分配的空间没法用起来,请问这是什么原因?
你好,ES3.0 的AWR1443芯片,我看SDK_02_01_00_04中 demo中允许配置自由配置6个bank的RAM空间
我实际用的时候给L3_RAM分配了4个BANK,PROG_RAM分配1个,DATA_RAM分配1个,那么实际PROG_RAM大小是192k,DATA_RAM是128K了,
但是如果我的程序大小超过了128K或者说DATA_RAM超过了64K,代码就无法正常运行,也就是说我给PROG_RAM和DATA_RAM分配的空间没法用起来,请问这是什么原因?
你好,
我看到你这边使用的都还是默认的memory配置?没有改动呀?
我理解你的问题是想要拓展PROG_RAM和DATA_RAM,放置于L3上。
这里我提供一个修改方式给你参考,如下
/*----------------------------------------------------------------------------*/
/* Memory Map */
/*----------------------------------------------------------------------------*/
MEMORY{
PAGE 0:
VECTORS (X) : origin=0x00000000 length=0x00000100
PROG_RAM (RX) : origin=0x00000100 length=0x0001FF00
DATA_RAM (RW) : origin=0x08000000 length=0x00010000
//L3_RAM (RW) : origin=0x51020000 length=0x00036000
L3_RAM (RW) : origin=0x51020000 length=0x00036000
L3_RAM_CONST (RW) : origin=0x51056000 length=0x00004000
HWA_RAM (RW) : origin=0x52030000 length=0x00010000
PAGE 1:
L3_RAM (RW) : origin=0x51020000 length=0x00040000
}
/*----------------------------------------------------------------------------*/
/* Section Configuration */
/* 14xx ROM bootloader requires strict 16 byte alignment for the loadable */
/* program sections */
/*----------------------------------------------------------------------------*/
SECTIONS
{
.intvecs : {} > VECTORS
/* Ensure that these sections are placed in the TCMA; since the bootloader
* will load to only TCMA. */
.text : {} > PROG_RAM ALIGN(16)
.const : {} > L3_RAM_CONST ALIGN(16)
.cinit : {} > L3_RAM_CONST ALIGN(16)
//.const : {} > PROG_RAM ALIGN(16)
//.cinit : {} > PROG_RAM ALIGN(16)
.pinit : {} > PROG_RAM ALIGN(16)
.bss : {} > DATA_RAM
.data : {} > DATA_RAM
.stack : {} > DATA_RAM
}
/*----------------------------------------------------------------------------*/