ccs平台 28335mcu 编程过程中出现RAM不够的问题,修改.cmd文件扩容

2015 0604

工程编辑过程中出现内存不足的问题:

error #10099-D: 

>> Compilation failure
   program will not fit into available memory.  placement with
   alignment/blocking fails for section ".text" size 0x218a page 0.  Available
   memory ranges:
   RAML1        size: 0x2000       unused: 0x2000       max hole: 0x2000

cmd文件中 ".text"是程序语句存储。程序语句存储在  RAML1 中,此时程序语句大小是0x218a 而 RAML1 的大小为 0x2000  ,因此出现内存不足的问题。

而此时cmd文件相关部分程序:

MEMORY
{

  ..................

  RAML0      : origin = 0x008000, length = 0x000B00    
  RAML1      : origin = 0x008B00, length = 0x002000
  RAML2      : origin = 0x00AB00, length = 0x000800

 .....................

}

SECTIONS
{

   ..............

   .text            : > RAML1,     PAGE = 0

   ..............

   IQmath           : > RAML1,     PAGE = 0

  ..............

}

在修改 RAML1 内存空间之前,需要检查section中使用 RAML1 的部分,在对其进行修改之后也要修改section中的这些部分。

修改后程序:

MEMORY
{

  ..................

  RAML0      : origin = 0x008000, length = 0x000B00    
  RAML1_2    : origin = 0x008B00, length = 0x002800

 .....................

}

SECTIONS
{

   ..............

   .text            : > RAML1_2,     PAGE = 0

   ..............

   IQmath           : > RAML1_2,     PAGE = 0

  ..............

}

注意,在合并内存之前需要检查哪些空间空闲,可以用于合并。

你可能感兴趣的:(DSP学习)