• 首页

  • 动态

  • 随笔

  • 学习

  • 留言板

  • 文章归档

  • 友情链接

  • 关于页面
S w e e t 的 笔 记
S w e e t 的 笔 记

SuSweet

这个人有点懒,他是个学生,他只会摸鱼,并且从来不写个性签名。

09月
06
电控
学习感悟

Code Composer Studio (CCS)报错program will not fit into available memory (280049C)(#10099-D)

发表于 2022-09-06 • 字数统计 1591 • 被 3,454 人看爆

可以解决,但不知道会不会引起其他问题。

项目需要,移植一份W25Q16的底层到280049C中。但是源代码里有一个极大的变量(如下代码),用于保存页的数据。
image-1662435361132
如果使用默认的cmd文件编译,会产生报错:

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 ".bss" size 0x11b4 page 1.  Available memory ranges:
   RAMLS5       size: 0x800        unused: 0x800        max hole: 0x800     

双击报错定位到代码:
image-1662435615103
是分配到RAMLS5的空间不够。
查看其分配的空间(在同一个cmd文件中往上一点):

PAGE 1 :

   BOOT_RSVD       : origin = 0x000002, length = 0x0000F1     /* Part of M0, BOOT rom will use this for stack */
   RAMM1           : origin = 0x000400, length = 0x0003F8     /* on-chip RAM block M1 */
//   RAMM1_RSVD      : origin = 0x0007F8, length = 0x000008     /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */

   RAMLS5      : origin = 0x00A800, length = 0x000800
   RAMLS6      : origin = 0x00B000, length = 0x000800
   RAMLS7      : origin = 0x00B800, length = 0x000800

   RAMGS0      : origin = 0x00C000, length = 0x002000
   RAMGS1      : origin = 0x00E000, length = 0x002000
   RAMGS2      : origin = 0x010000, length = 0x002000
   RAMGS3      : origin = 0x012000, length = 0x001FF8
//   RAMGS3_RSVD : origin = 0x013FF8, length = 0x000008     /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */

发现还有RAMLS6、RAMLS7两块空间。
查看Memory Allocation,确认其实RAMLS5、RAMLS6、RAMLS7远远没有用完,所以可以将其合并起来用于存放这个变量。
image-1662435990639

将代码改为:(去掉下面两个空间,将所有空间合并到RAMLS5中)

   RAMLS5      : origin = 0x00A800, length = 0x001800
//   RAMLS6      : origin = 0x00B000, length = 0x000800
//   RAMLS7      : origin = 0x00B800, length = 0x000800

   RAMGS0      : origin = 0x00C000, length = 0x002000
   RAMGS1      : origin = 0x00E000, length = 0x002000
   RAMGS2      : origin = 0x010000, length = 0x002000
   RAMGS3      : origin = 0x012000, length = 0x001FF8

并重新编译,成功通过。
image-1662436066246
查看Memory Allocation,如下:
image-1662436101411

可以的话还是尽量避免使用占用太大的变量吧,毕竟单片机资源还是很有限的。

分享到:
PMSM滑模观测器
CCS中IQmath库报错(_IQ24div(long, long)没有定义)
  • 文章目录
  • 站点概览
SuSweet

可爱的 SuSweet

你能抓到我么?

QQ Email RSS
看爆 Top5
  • 代码里中文注释变成锟斤拷啦 5,642次看爆
  • Code Composer Studio (CCS)报错program will not fit into available memory (280049C)(#10099-D) 3,455次看爆
  • 解决python中cv2无法自动补全的方法 3,335次看爆
  • CCS中IQmath库报错(_IQ24div(long, long)没有定义) 3,154次看爆
  • 使用GM6020电机参数的Simulink电机控制仿真记录 3,064次看爆

很高兴在这里遇到您!如果您遇到什么问题,或者想留下您的链接,欢迎->网站问题反馈

当然,您也可以通过电子邮件联系我。

Copyright © 2025 SuSweet 粤ICP备2022045669号

由 Halo 强力驱动 · Theme by Sagiri · 站点地图