MEMORY
{
PAGE 1 :
//RAMM0 : origin = 0x000050, length = 0x0003B0 /* on-chip RAM block M0 */
//RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */
RaMM01 : origin = 0x000050, length = 0x0007B0
}
SECTIONS
{
Debug_Section : > RaMM01, PAGE = 1
}
#pragma DATA_SECTION(Debug_Buff,"Debug_Section");
Uint16 Debug_Buff[1900];
这样编译时是正确的。
但如果修改为:Uint16 Debug_Buff[1968] 就会编译不通过。
RaMM01 的长度为 0x0007B0=1968,为何会错误。
如果进一步修改,将RaMM1用足。
Debug_Section : > RaMM1, PAGE = 1
Uint16 Debug_Buff[1024]
这样也是可以的。
为何,将RaMM0+RaMM1合并后,不能用足存储空间?