ccs遇到部分程序无法放入内存问题Error Type #10099-D

       真的是一旦干起活来,每天都会出现问题...但是现在觉得调试翻来覆去就那几种问题。今天改了改代码然后报错:Description    Resource    Path    Location    Type #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 ".esysmem" size 0x400 page 1.  

      这个问题就说程序和内存不匹配,于是检查内存分配(Memory Allocation),点击View——>Memory Allocation,然后鼠标点击程序中的任意位置,就会出现内存的分配情况。目前代码中确实存在未正确分配的部分:

       点开红色部分,可以看到现实了.esysmem出现问题,回到cmd文件中可以看到它被分配给了RAMLS5。于是去查看该部分的实际存储结果: 

       由于.ebss和.esysmem都分配给了这块内存,但是它的大小为2048,这两部分的大小1542+1024>2048,因此esysmem没能被存储到相应位置。所以,我们需要为.esysmem重新制定位置。可以看到RAMLS6目前没有被占用,并且2048>1024,因此修改cmd文件:

.esysmem         : > RAMLS6,    PAGE = 1

      再次运行程序,报错消失,可以看到通过修改cmd,esysmem被存储在了RAMLS6中:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值