出现此错误是你的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

功能介绍:

  1. 对cosmic编译器生成的map文件进行分析,显示ramflash eeprom stack的占用量

ps:ram仅指ram变量(全局+静态+局部变量),不包括栈(stack)

eeprom仅能统计由@eeprom定义出的变量或常量


更新说明:

  1. 增加堆栈占用(stack)显示
  2. 增加对自定义(未定义)段的显示,一起统计到unknown显示

使用方法如下:

  1. 将附件压缩包中的mapinfo.exe解压并解压到stvd的\安装路径\STMicroelectronics\st_toolset\stvd中
  2. 用stvd打开你的工程文件,在工程上点右键选settings...
  3. 右侧的选项卡选择Linker,将category的下拉框选成output,然后在GenerateMap file前打勾
  4. 再将选项卡上选择到Post-Build,在下方文本框中新粘贴一行内容 mapinfo $(OutputPath)$(TargetSName).map
  5. 点OK按键确定,菜单File->saveworkspace,保存工程
  6. 重新编译下,你就能看到flash,ram,eeprom占用字节数了
Last modification:November 27, 2020
If you think my article is useful to you, please feel free to appreciate