1. 程式人生 > >ccs平臺 28335mcu 程式設計過程中出現RAM不夠的問題,修改.cmd檔案擴容

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

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

}

注意,在合併記憶體之前需要檢查哪些空間空閒,可以用於合併。