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.
原项目使用TMS320F28377D,stack size设置为0x400。新项目使用TMS320F28388D,stack size设置为0x400,CCS12编译报错"../device/2838x_FLASH_lnk_cpu1.cmd", line 73: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section.
现有以下3个疑问:
1.stack是否一定要设置在RAMM1中,是否可以放在其他区域,比如RAMLS0 ,RAMGS0 中?
2.使用以下语句,把stack放进RAMM0 , RAMM1
.stack : >> RAMM0 | RAMM1
编译会报错,"../device/2838x_FLASH_lnk_cpu1.cmd", line 73: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. run placement with alignment/blocking fails for section ".stack" size 0x400 page 0. Available memory ranges:
这是为什么?要怎么才能把stack放进RAMM0 , RAMM1
3.比如我想设置一个更大的stack size,该怎么设置。
感谢回答!
不同类型的存储器描述可以看一下zhcsjs3e_带连接管理器的 TMS320F2838x 实时微控制器 datasheet (Rev. E)第286页8.3.8 存储器类型。
run placement with alignment/blocking fails for section ".stack" size 0x400 page 0.
你的问题是RAMM1被分配到了page 0,而.stack属于未被初始化的部分,应该被分配到page 1。
你好,感谢回复。
我导入的是 C:\ti\c2000\C2000Ware_5_01_00_00\driverlib\f2838x\examples\c28x_dual\empty_projects 这个例程。
看了下里面的CMD文件里面没有关于page0和page1的划分。
而且单独把.stack分配到RAMM0或RAMM1只要够空间都可以正常编译。