出现此错误是你的STVD工程中添加了额外的插件来显示ram flash eeprom stack的占用量(插件下载地址:http://pan.baidu.com/s/1jGjBkTw),我见到的是施诺比编写的一个插件mapinfo.exe。下载它的插件按他的readme文件就可解决此问题,或者是将readme文件使用方法第4步中那一行自己粘贴的内容给删除掉(mapinfo $(OutputPath)$(TargetSName).map)
readme文件如下:
mapinfo v0.3 forcosmic map
功能介绍:
- 对cosmic编译器生成的map文件进行分析,显示ramflash eeprom stack的占用量
ps:ram仅指ram变量(全局+静态+局部变量),不包括栈(stack)
eeprom仅能统计由@eeprom定义出的变量或常量
更新说明:
- 增加堆栈占用(stack)显示
- 增加对自定义(未定义)段的显示,一起统计到unknown显示
使用方法如下:
- 将附件压缩包中的mapinfo.exe解压并解压到stvd的\安装路径\STMicroelectronics\st_toolset\stvd中
- 用stvd打开你的工程文件,在工程上点右键选settings...
- 右侧的选项卡选择Linker,将category的下拉框选成output,然后在GenerateMap file前打勾
- 再将选项卡上选择到Post-Build,在下方文本框中新粘贴一行内容 mapinfo $(OutputPath)$(TargetSName).map
- 点OK按键确定,菜单File->saveworkspace,保存工程
- 重新编译下,你就能看到flash,ram,eeprom占用字节数了