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
..............
}
注意,在合併記憶體之前需要檢查哪些空間空閒,可以用於合併。