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.

关于不同编译器版本下的栈设置问题

Other Parts Discussed in Thread: TMS320F28335

TMS320F28335芯片

原来有一版编译器为TIv6.2.0的 程序,没有问题,现在改成新的TIv6.4.6,rts2800_fpu32.lib也改了,但是发生了错误:

<Linking>
"../CMD/F28335.cmd", line 147: error #10099-D: program will not fit into available memory. run placement with alignment/blocking fails for section ".stack" size 0x400 page 1. Available memory ranges:
RAMM1 size: 0x400 unused: 0x0 max hole: 0x0

f28335.cmd中是这样的:

.stack : > RAMM1 PAGE = 1
.ebss : > RAML6 PAGE = 1
.esysmem : > RAMM1 PAGE = 1

工程文件.map中是这样的

.esysmem 1 00000400 00000400 UNINITIALIZED
00000400 00000001 rts2800_fpu32.lib : memory.obj (.esysmem)
00000401 000003ff --HOLE--

显然是esysmem占了stack的位置,但是在TIv6.2.0编译器下,工程.map没有问题

.stack 1 00000400 00000400 UNINITIALIZED
00000400 00000400 --HOLE--

请问为什么,怎么解决