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.

怎么解决C2000的CMD指定的邻近两个存储块不连续存放的问题?



在使用.TI.ramfunc时,使用了RUN = RAMLS0 | RAMLS1 | RAMLS2 | RAMLS3,。每块大小为2K x 16,这样使用的本意是使用8K x 16.

当定义的.TI.ramfunc在2K x 16 以下时,编译正常,但当超过2K x 16 时,就提示错误:

error #10099-D: program will not fit into available memory. run placement with alignment/blocking fails for section ".TI.ramfunc" size 0x838 page 0. Available memory ranges:
RAMLS0 size: 0x800 unused: 0x800 max hole: 0x800
RAMLS1 size: 0x800 unused: 0x800 max hole: 0x800
RAMLS2 size: 0x800 unused: 0x800 max hole: 0x800
RAMLS3 size: 0x800 unused: 0x800 max hole: 0x800
error #10010: errors encountered during linking; "CM_W55_CPU1.out" not built

注:CPU使用的是F28377D

请问,如果不使用 

RAMLS0_1          : origin = 0x008000, length = 0x001000

这样分配方法外,怎么解决两块以上连续使用的问题?