[开发工具] 在STVD里面怎么查看编译后所用的内存容量?

[复制链接]
7082|11
 楼主| leojiang 发表于 2008-7-8 16:08 | 显示全部楼层 |阅读模式
在STVD里面怎么查看程序编译后所用的内存容量?
就是用了多少内存?还剩多少?
aes_sea 发表于 2008-7-8 16:42 | 显示全部楼层

re

看MAP文件
 楼主| leojiang 发表于 2008-7-11 14:34 | 显示全部楼层

请问是如下的那个?

请问是如下的那个?1784 segment .text?

Map of Debug123.st7 from link file Debugscrappy.lkf - Fri Jul 11 09:38:49 2008


                               --------
                               Segments
                               --------

start 0000f800 end 0000fef8 length  1784 segment .text
start 0000ff05 end 0000ffa1 length   156 segment .const
start 00000080 end 00000085 length     5 segment .bsct, initialized
start 0000ff00 end 0000ff05 length     5 segment .bsct, from
start 00000085 end 000000a3 length    30 segment .ubsct
start 000000a3 end 000000ae length    11 segment .share
start 000000ae end 000000ae length     0 segment .data
start 000000ae end 000000ae length     0 segment .bss
start 00000000 end 00000e7d length  3709 segment .debug
start 0000ffe0 end 00010000 length    32 segment .const
start 0000fef8 end 0000ff00 length     8 segment .init
香水城 发表于 2008-7-11 14:39 | 显示全部楼层

start 和 end 都在RAM区的那些段

start 00000080 end 00000085 length     5 segment .bsct, initialized

start 00000085 end 000000a3 length    30 segment .ubsct
start 000000a3 end 000000ae length    11 segment .share
start 000000ae end 000000ae length     0 segment .data
start 000000ae end 000000ae length     0 segment .bss
walnutcy 发表于 2008-7-12 01:58 | 显示全部楼层

如果是用HIWARE的话,见下边,

******************************************************
SEGMENT-ALLOCATION SECTION
------------------------------------------------------
Segmentname           Size Type    From       To  Name

STRINGS                23F  R      839E     85DC  USER_ROM
ROM_VAR                580  R      7E1E     839D  USER_ROM
FUNCS                 6DE8  R      1036     7E1D  USER_ROM
COPY                     C  R      102A     1035  USER_ROM
STARTUP                 2A  R      1000     1029  USER_ROM
SSTACK                 100 R/W      100      1FF  MYSTACK
_OVERLAP                1A R/W       9B       B4  BITS_RAM
_ZEROPAGE               1B R/W       80       9A  BITS_RAM
_STARTUP                4B R/W      68B      6D5  BYTE_RAM
DEFAULT_RAM            48B R/W      200      68A  BYTE_RAM

ROM size:     75DD (dec:    30173)
RAM size:      60B (dec:     1547)
 楼主| leojiang 发表于 2008-7-14 11:47 | 显示全部楼层

我用的是COSMIC C

还是不明白啊?怎么看用了多少Byte?我的MCU是2KB FLASH的.128B RAM,怎么看用了多少?
--------
                               Segments
                               --------

start 0000f800 end 0000feca length  1738 segment .text
start 0000fed7 end 0000ff73 length   156 segment .const
start 00000080 end 00000085 length     5 segment .bsct, initialized
start 0000fed2 end 0000fed7 length     5 segment .bsct, from
start 00000085 end 000000ac length    39 segment .ubsct
start 000000ac end 000000b7 length    11 segment .share
start 000000b7 end 000000b7 length     0 segment .data
start 000000b7 end 000000b7 length     0 segment .bss
start 00000000 end 00000e7a length  3706 segment .debug
start 0000ffe0 end 00010000 length    32 segment .const
start 0000feca end 0000fed2 length     8 segment .init
香水城 发表于 2008-7-14 11:50 | 显示全部楼层

start xxxxxxxx end xxxxxxxx length ????

把所有的length部分相加。
 楼主| leojiang 发表于 2008-7-16 09:55 | 显示全部楼层

length部分相加起来的单位是什么?BYTE?

我想知道FLASH用了多少?RAM用了多少?
比如像如下的CCS的编译器显示:
 Memory usage:   ROM=64%      RAM=28% - 31%
香水城 发表于 2008-7-16 10:16 | 显示全部楼层

单位是什么?答:BYTE

起始地址和结束地址都给了,自己算也算出来了!

比如我在4楼列出的第一行:
start 00000080 end 00000085 length     5 segment .bsct, initialized
0x85 - 0x80 = 5
 楼主| leojiang 发表于 2008-7-16 11:01 | 显示全部楼层

谢谢解答!

根据MAP里面的地址和MCU数据手册可以算出来,不过有点麻烦。
建议下次版本改进一下直接显示方便很多啊,
huangjinyuan06 发表于 2013-6-8 10:35 | 显示全部楼层
据说有插件,可是我用的时候出错误了
callhgd 发表于 2013-12-1 20:36 | 显示全部楼层
这东西还这么折腾人么?没有一点人性化啊。直接显示出来多好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

102

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部