打印
[STM8]

怎样看懂STM8的MAP文件???

[复制链接]
3473|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pmw_56|  楼主 | 2015-1-15 09:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                               --------
                               Segments
                               --------

start 00008080 end 00008080 length     0 segment .const
start 00008090 end 00008b50 length  2752 segment .text
start 00004000 end 00004000 length     0 segment .eeprom
start 00000000 end 00000002 length     2 segment .bsct, initialized
start 0000808d end 0000808f length     2 segment .bsct, from
start 00000002 end 00000022 length    32 segment .ubsct
start 000022:0 end 000022:1 length     1 segment .bit, initialized
start 0000808f end 00008090 length     1 segment .bit, from
start 00000023 end 00000023 length     0 segment .share
start 00000100 end 00000100 length     0 segment .data
start 00000100 end 0000010d length    13 segment .bss
start 00000000 end 00008f94 length 36756 segment .debug
start 00008000 end 00008080 length   128 segment .const
start 00008080 end 0000808d length    13 segment .init


                             有哪位帮分析下?
沙发
lxyppc| | 2015-1-15 10:24 | 只看该作者
先说说你哪儿看不懂吧

使用特权

评论回复
板凳
pmw_56|  楼主 | 2015-1-15 12:27 | 只看该作者
lxyppc 发表于 2015-1-15 10:24
先说说你哪儿看不懂吧

.bsct   .share  .bss   .debug  还有两.const都是标示什么意思呢?第一次用个COSMIC编译器,看不懂

使用特权

评论回复
地板
pmw_56|  楼主 | 2015-1-15 12:30 | 只看该作者
为什么.debug 有36756B的字节呢?还有我这个程序是从HT66F016移植过来的,原来只要1K,现在怎么有2752B了呢?大这么多的空间

使用特权

评论回复
5
搞IT的| | 2015-1-15 22:02 | 只看该作者
我也不是很懂,顶一个!!

使用特权

评论回复
6
lxyppc| | 2015-1-15 23:03 | 只看该作者
pmw_56 发表于 2015-1-15 12:27
.bsct   .share  .bss   .debug  还有两.const都是标示什么意思呢?第一次用个COSMIC编译器,看不懂 ...

Google搜索cosmic bsct 这两个词
出来的第一个答案是这样的

What is the difference between the Data and BSS sections?


BSS refers to uninitialized global and static objects and Data refers to initialized global and static objects. Both BSS and Data usually refer to RAM objects. The .bss and .ubsct (zero page BSS) sections are used to reserve space for uninitialized global and static objects (variables) which will be zero upon entering main. The .data and .bsct (zero page data) sections are used to reserve space for initialized global and static objects. If automatic data initialization is used, the linker relocates the .data and .bsct images and locates them in ROM to be copied back into RAM at startup. See the section Automatic Data initialization in the User’s manual for details.
unsigned char var;                // 8 bit variable uninitialized variable allocated into the .bss section.
static int svar;                // 16 bit static uninitialized variable allocated into the .bss section.

unsigned char var2 = 25;        // 8 bit initialized variable allocated into the .data section.
static unsigned int svar2 = 3;        // 16 bit initialized variable allocated into the .data section.

这里面说bsct就是第零页的bss

使用特权

评论回复
7
pmw_56|  楼主 | 2015-1-16 14:26 | 只看该作者
搞IT的 发表于 2015-1-15 22:02
我也不是很懂,顶一个!!

高级工程师还不懂呀?

使用特权

评论回复
8
pmw_56|  楼主 | 2015-1-16 14:29 | 只看该作者
,有知道的朋友吗?帮我分析下?

使用特权

评论回复
9
lxyppc| | 2015-1-16 15:00 | 只看该作者
pmw_56 发表于 2015-1-16 14:29
,有知道的朋友吗?帮我分析下?

已经解释了bsct
其他字段的含义只要重复这个动作就能求出解了

归纳法怎么放到知识学习上就不灵了呢

使用特权

评论回复
10
搞IT的| | 2015-1-30 16:16 | 只看该作者
pmw_56 发表于 2015-1-16 14:26
高级工程师还不懂呀?

:lol

使用特权

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

本版积分规则

34

主题

215

帖子

1

粉丝