[分享] 在STVD+COSMIC 编译后如何看见目标占用STM8 MCU的资源大小

2020-01-01 17:54发布

资源占用多小本在 .map 文档内已有,但编译后在 IDE 内见不到。

可以在 "Project Settings" 下的 "Post-Build" 内加入以下指令,把资料从 .map 文档内取出,在编译后立刻知道。


  1. findstr /C:"segment .text" /C:"segment .const" $(OutputPath)$(TargetSName).map
  2. findstr /C:"segment .data" /C:"segment .bss" /C:"segment .eeprom" $(OutputPath)$(TargetSName).map
复制代码

所占用的 Flash Bytes 是 .const + .text 的和,SRAM 资源占用是 .bss + .data,使用多小 eeprom 也有了,是否很方便?

Image2.gif (8.26 KB, 下载次数: 0) 下载附件 2015-2-3 12:47 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
yangsen
1楼-- · 2020-01-01 19:22
装个winavr直接在postbuilde里加一句avr-size $(OutputPath)$(TargetSName).elf就全出来了
alias
2楼-- · 2020-01-01 19:36
 精彩回答 2  元偷偷看……
snoopyzz
3楼-- · 2020-01-01 20:05
avr-size是不准的, 建议使用我以前做的mapinfo
这里再发一次吧, 用法看压缩包内的readme文件
mapinfo_v0.4(stvd集成查看flash_ram_stack占用量).rar (17.54 KB, 下载次数: 68) 2015-2-3 13:30 上传 点击文件名下载附件
wuyya
4楼-- · 2020-01-01 22:32
用size.exe好像是有点不太对,差了8个字节。
size Debug    .map
Program Size: Code=3577 Eeprom=0 ZeroPage=6 Ram=83
findstr "/C:segment .text" "/C:segment .const" Debug         .map
start 00008080 end 000082f1 length   625 segment .const
start 0000831d end 00008e1d length  2816 segment .text
start 00008000 end 00008080 length   128 segment .const
findstr "/C:segment .data" "/C:segment .bss" "/C:segment .eeprom" Debug       .map
start 00004000 end 00004000 length     0 segment .eeprom
start 00000100 end 00000124 length    36 segment .data, initialized
start 000082f9 end 0000831d length    36 segment .data, from
start 00000124 end 00000153 length    47 segment .bss
alias
5楼-- · 2020-01-02 02:29
4 楼使用 mapinfo.exe 的方法目前是最准确,现正使用中。多谢 snoopyzz 提供。
laoxia
6楼-- · 2020-01-02 04:03
谢谢4楼软件~能用

一周热门 更多>