问题描述
芯片型号:TMS320F28335
在已有CCS工程中添加了一些新的文件和变量,编译后发现报如下错误:
双击program will not fit into之后链接到这里
看上去是**.ebss**这里空间不够了
问题分析
打开Memory Allocation
确实是**.ebss**这里有问题,然后定位到RAML4 PAGE1这个位置
奇怪的是他没有显示占用,所以我感觉有可能这里溢出了
回到代码这边看 原来的Memory分配:
需要增加RAML4的空间,同时由于RAML5、6没有被使用,可以缩小他们的空间(不能直接去掉否则会报错)
解决问题
修改后的RAM分区表如下图:
编译完成后打开Memory Allocation
发现RAML4空间被扩大了,也显示了占用空间。
因为之前的最大空间是8192,使用了8328,所以空间不够
一些小问题
解决上面这个问题后出现了这个warning,看看有什么问题:
完整的警告报告是:
找到TI这边的一个网址
https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/861869/ccs-tms320f28069-creating-esysmem-section-with-default-size-of-0x400
他里面让我进Properties -> Linker -> Basic Options找到 heap size相关:
可能是我这边没有设定默认的动态内存分配,所以让我这样搞……