DSP编译时内存溢出问题的解决

故障现象

由于DSP程序在RAM比Flash运行速度更快,所以一般会把中断里调用的程序搬运至RAM里运行。但是如果RAM里的程序占用的内存超过配置的ramfunc的长度,则会提醒内存溢出。今日,我再在28069上编译程序时,遇到了如下错误提示:

program will not fit into available memory. run placement with
alignment/blocking fails for section “ramfuncs” size 0x12a4 page 0.
Available memory ranges: F28069.cmd /SCRACController_28069_V30 line
131 C/C++ Problem

故障分析

上述故障信息大意是:程序需要的memory不足,不能将长度为0x12a4的程序搬运至RAM里运行, 我用的cmd文件名为F28069.cmd, 在此文件的 131行能看到故障位置,找到131行如下:
F28069.cmd 中提醒故障的位置
其中:

  • LOAD = FLASHD指的是现在程序在Flash中的位置段
  • RUN = RAML0指的是接收程序的RAM的位置段

打开编译后的map文件可以看到下面的信息

   name                  origin    length      used     unused   attr    fill
----------------------  --------  ---------  --------  --------  ----  --------
PAGE 0:
  RAML0                 00008000   00001200  00000000  00001200  RWIX
  FLASHD                003e800
  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值