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.

CCS Ram数组的限制



   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合并后,不能用足存储空间?