打印
[开发工具]

在STVD里面怎么查看编译后所用的内存容量?

[复制链接]
5504|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

使用特权

评论回复
5
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)

使用特权

评论回复
6
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

使用特权

评论回复
7
香水城| | 2008-7-14 11:50 | 只看该作者

start xxxxxxxx end xxxxxxxx length ????

把所有的length部分相加。

使用特权

评论回复
8
leojiang|  楼主 | 2008-7-16 09:55 | 只看该作者

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

我想知道FLASH用了多少?RAM用了多少?
比如像如下的CCS的编译器显示:
 Memory usage:   ROM=64%      RAM=28% - 31%

使用特权

评论回复
9
香水城| | 2008-7-16 10:16 | 只看该作者

单位是什么?答:BYTE

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

比如我在4楼列出的第一行:
start 00000080 end 00000085 length     5 segment .bsct, initialized
0x85 - 0x80 = 5

使用特权

评论回复
10
leojiang|  楼主 | 2008-7-16 11:01 | 只看该作者

谢谢解答!

根据MAP里面的地址和MCU数据手册可以算出来,不过有点麻烦。
建议下次版本改进一下直接显示方便很多啊,

使用特权

评论回复
11
huangjinyuan06| | 2013-6-8 10:35 | 只看该作者
据说有插件,可是我用的时候出错误了

使用特权

评论回复
12
callhgd| | 2013-12-1 20:36 | 只看该作者
这东西还这么折腾人么?没有一点人性化啊。直接显示出来多好。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

102

帖子

2

粉丝