转自:http://blog.sina.com.cn/s/blog_735f291001015t9i.html
Heaps are enabled, but the segment for DSP/BIOS Objects (MEM.BIOSOBJSEG) is not set correctly
我用dsp bios生成程序在保存时出现一下错误,网上搜索有人也遇到此问题,经多方探索找到解决方案,先公布如下,希望对后学者有帮助。我用的是TMS320F2812.
错误如下:
Heaps are enabled, but the segment for DSP/BIOS Objects (MEM.BIOSOBJSEG) is not set correctly. Please create a heap in one of your data segments and set MEM.BIOSOBJSEG to it.
解决方案:
右键点击MEM-Memory section manager->properties ,你可以看到segment for DSP/BIOS Objects和segment for malloc()后跟的选项只有MEM_NULL,问题就出在这里,你可以将你所定义的MEM下的任一选项:SRAM,MSARAM等等,拿 MSARAM为例,右键MSRAM->properties 将"enter a user defined heap identifier lable "打勾,在"heap size"中输入大小,将"enter a user defined heap identifier label "打勾,在"heap identifier label "中输入任意堆栈名。点“应用”、“确定”。补充下,修改完MSARAM后,右键点击MEM-Memory section manager->properties ,你可以看到segment for DSP/BIOS Objects和segment for malloc()后跟的选项改为MSARAM即可。
另外,BIOS配置工具会自动生成一个 名为***cfg.h的头文件,用户在C语言源程序中使用#include<***cfg.h> 包含该头文件来引用DSP/BIOS对象。 ***为应用程序名。