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配置相差并不大):
但是在用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中分配失败,点击错误位置,跳转至错误位置,如下图所示:
可知PAGE1 的.ebss处错误(红色框),分析是由于分配的空间太小导致的错误。又可以见到绿色框里面声明了PAGE1还有RAMLS6 RAMLS7两段地址,所以给.ebss分配更大的空间。如下图所示,
注意分配的地址段要连续,因为CCS不会跨段分配。当然也可以像下图这样分配,只要能扩大空间就行。如果还报错提示空间不够的话,那就把绿色框下面的RAMGS0 RAMGS1 RAMGS2 RAMGS3 也加上。这样的话,空间肯定足够用了!
编译一下,0 warnings,0 errors.