关于问题“program will not fit into available memory.run placement with alignment/blocking fails ....”的解决

F280049C编译问题

Bug: #10099-D program will not fit into available memory. run placement with alignment/blocking fails for section “.ebss” size 0x1e2 page 1. Available memory ranges:
[1]目前OLED的开发很多都是用STMXX和51单片机,所以这两天打算用DSP写一个OLED显示的程序。通过GPIO模拟SPI的功能进行通信。
[2]关于OLED.C和OLED.H文件就直接基于STM32的代码进行更改,文件如下图所示,(280049和28335配置相差并不大):
关于问题“program will not fit into available memory.run placement with alignment/blocking fails ....”的解决_第1张图片
但是在用RAM.lnk文件进行编译时,会出现错误,错误信息如下图所示:
在这里插入图片描述
错误信息显示"*#10099-D program will not fit into available memory. run placement with alignment/blocking fails for section “.ebss” size 0x1e2 page 1. Available memory ranges:",报告代码在RAM中分配失败,点击错误位置,跳转至错误位置,如下图所示:

关于问题“program will not fit into available memory.run placement with alignment/blocking fails ....”的解决_第2张图片
可知PAGE1 的.ebss处错误(红色框),分析是由于分配的空间太小导致的错误。又可以见到绿色框里面声明了PAGE1还有RAMLS6 RAMLS7两段地址,所以给.ebss分配更大的空间。如下图所示,
在这里插入图片描述
注意分配的地址段要连续,因为CCS不会跨段分配。当然也可以像下图这样分配,只要能扩大空间就行。如果还报错提示空间不够的话,那就把绿色框下面的RAMGS0 RAMGS1 RAMGS2 RAMGS3 也加上。这样的话,空间肯定足够用了!
关于问题“program will not fit into available memory.run placement with alignment/blocking fails ....”的解决_第3张图片
编译一下,0 warnings,0 errors.

你可能感兴趣的:(F280049,编译问题)