打印
[51单片机]

关于MDK C51编译后产生.map文件的疑问?

[复制链接]
2769|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一直以来,人们都说要查看代码占了多少内存空间,看看.map文件就知道了,可是,C51中这个文件在哪呢?
找到listing的界面如下,没有找到.map的选项设置,output中也没有这个设置


相关帖子

沙发
xyz549040622|  楼主 | 2015-5-15 17:12 | 只看该作者
最后,找了找,在C51中,这个所谓的.map文件,应该是.m51文件

打开后的.m51文件如下
BL51 BANKED LINKER/LOCATER V6.22                                                        05/15/2015  16:59:52  PAGE 1


BL51 BANKED LINKER/LOCATER V6.22, INVOKED BY:
E:\STUDY PROGRAM FILES\KEIL MDK\C51\BIN\BL51.EXE .\Objects\STARTUP.obj, .\Objects\main.obj, .\Objects\oled.obj TO .\Obje
>> cts\demo PRINT (.\Listings\demo.m51) RAMSIZE (256)


MEMORY MODEL: SMALL


INPUT MODULES INCLUDED:
  .\Objects\STARTUP.obj (?C_STARTUP)
  .\Objects\main.obj (MAIN)
  .\Objects\oled.obj (OLED)


LINK MAP OF MODULE:  .\Objects\demo (?C_STARTUP)


            TYPE    BASE      LENGTH    RELOCATION   SEGMENT NAME
            -----------------------------------------------------

            * * * * * * *   D A T A   M E M O R Y   * * * * * * *
            REG     0000H     0008H     ABSOLUTE     "REG BANK 0"
            IDATA   0008H     0001H     UNIT         ?STACK

            * * * * * * *   C O D E   M E M O R Y   * * * * * * *
            CODE    0000H     0003H     ABSOLUTE     
            CODE    0003H     000CH     UNIT         ?C_C51STARTUP
            CODE    000FH     0002H     UNIT         ?PR?MAIN?MAIN



OVERLAY MAP OF MODULE:   .\Objects\demo (?C_STARTUP)


SEGMENT
  +--> CALLED SEGMENT
---------------------
?C_C51STARTUP
  +--> ?PR?MAIN?MAIN



SYMBOL TABLE OF MODULE:  .\Objects\demo (?C_STARTUP)

  VALUE           TYPE          NAME
  ----------------------------------

  -------         MODULE        ?C_STARTUP
  C:0003H         SEGMENT       ?C_C51STARTUP
  I:0008H         SEGMENT       ?STACK
  C:0000H         PUBLIC        ?C_STARTUP
  D:00E0H         SYMBOL        ACC
  D:00F0H         SYMBOL        B
  D:0083H         SYMBOL        DPH
  D:0082H         SYMBOL        DPL
  N:0000H         SYMBOL        IBPSTACK
  N:0100H         SYMBOL        IBPSTACKTOP
  N:0080H         SYMBOL        IDATALEN
BL51 BANKED LINKER/LOCATER V6.22                                                      05/15/2015  16:59:52  PAGE 2


  C:0006H         SYMBOL        IDATALOOP
  N:0000H         SYMBOL        PBPSTACK
  N:0100H         SYMBOL        PBPSTACKTOP
  N:0000H         SYMBOL        PDATALEN
  N:0000H         SYMBOL        PDATASTART
  N:0000H         SYMBOL        PPAGE
  N:0000H         SYMBOL        PPAGEENABLE
  D:00A0H         SYMBOL        PPAGE_SFR
  D:0081H         SYMBOL        SP
  C:0003H         SYMBOL        STARTUP1
  N:0000H         SYMBOL        XBPSTACK
  N:0000H         SYMBOL        XBPSTACKTOP
  N:0000H         SYMBOL        XDATALEN
  N:0000H         SYMBOL        XDATASTART
  C:0000H         LINE#         126
  C:0003H         LINE#         133
  C:0005H         LINE#         134
  C:0006H         LINE#         135
  C:0007H         LINE#         136
  C:0009H         LINE#         185
  C:000CH         LINE#         196
  -------         ENDMOD        ?C_STARTUP

  -------         MODULE        MAIN
  C:0000H         SYMBOL        _ICE_DUMMY_
  D:0090H         PUBLIC        P1
  D:00A0H         PUBLIC        P2
  D:00B0H         PUBLIC        P3
  D:00A8H         PUBLIC        IE
  D:00B8H         PUBLIC        IP
  C:000FH         PUBLIC        main
  D:0098H         PUBLIC        SCON
  D:0088H         PUBLIC        TCON
  D:00C8H         PUBLIC        T2CON
  D:00D0H         PUBLIC        PSW
  -------         PROC          MAIN
  C:000FH         LINE#         19
  C:000FH         LINE#         20
  C:000FH         LINE#         21
  -------         ENDPROC       MAIN
  -------         ENDMOD        MAIN

  -------         MODULE        OLED
  C:0000H         SYMBOL        _ICE_DUMMY_
  D:0090H         PUBLIC        P1
  D:00A0H         PUBLIC        P2
  D:00B0H         PUBLIC        P3
  D:00A8H         PUBLIC        IE
  D:00B8H         PUBLIC        IP
  D:0098H         PUBLIC        SCON
  D:0088H         PUBLIC        TCON
  D:00C8H         PUBLIC        T2CON
  D:00D0H         PUBLIC        PSW
  -------         ENDMOD        OLED

Program Size: data=9.0 xdata=0 code=17
LINK/LOCATE RUN COMPLETE.  0 WARNING(S),  0 ERROR(S)

使用特权

评论回复
板凳
xyz549040622|  楼主 | 2015-5-15 17:13 | 只看该作者
所以,这个所谓的.map文件,在51中应该是.m51文件。

使用特权

评论回复
地板
ayb_ice| | 2015-5-15 20:26 | 只看该作者
在项目文件夹里面找

使用特权

评论回复
5
xyz549040622|  楼主 | 2015-5-15 22:10 | 只看该作者
ayb_ice 发表于 2015-5-15 20:26
在项目文件夹里面找

找遍了,也木有找到。

使用特权

评论回复
6
bkn1860| | 2015-5-15 22:54 | 只看该作者
截图里面已经有文件名字了  demo.m51,并且你打开的demo.m51里面的内容和用ARM单片机时候生成的map文件内容是一样的

使用特权

评论回复
7
xyz549040622|  楼主 | 2015-5-16 08:04 | 只看该作者
bkn1860 发表于 2015-5-15 22:54
截图里面已经有文件名字了  demo.m51,并且你打开的demo.m51里面的内容和用ARM单片机时候生成的map文件内容 ...

对,所以我说,这个.map文件在51中叫.m51文件。

使用特权

评论回复
8
ayb_ice| | 2015-5-16 09:03 | 只看该作者
xyz549040622 发表于 2015-5-16 08:04
对,所以我说,这个.map文件在51中叫.m51文件。

RT:

未命名.jpg (30.87 KB )

未命名.jpg

使用特权

评论回复
评分
参与人数 1威望 +10 收起 理由
xyz549040622 + 10
9
ddllxxrr| | 2015-5-16 10:26 | 只看该作者
应该在输出文件夹下边

使用特权

评论回复
10
diweo| | 2015-5-16 14:14 | 只看该作者
你贴的最上面一个图的最下面一框写的很清楚啊。确实应该是demo.m51。
不知道为什么这样,作为对比,MDK里面倒确实是.map。

新建位图图像.jpg (68.79 KB )

新建位图图像.jpg

使用特权

评论回复
11
xyz549040622|  楼主 | 2015-5-16 16:06 | 只看该作者

这个倒是一直没注意到,谢谢了。不过在51中,这样打开确实还是.m51文件,为什么不是.map呢?

使用特权

评论回复
12
xyz549040622|  楼主 | 2015-5-16 16:06 | 只看该作者

这个倒是一直没注意到,谢谢了。不过在51中,这样打开确实还是.m51文件,为什么不是.map呢?

使用特权

评论回复
13
lgnativs| | 2015-5-16 16:29 | 只看该作者
MDK编译器出来的.map文件

使用特权

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

本版积分规则

个人签名:qq群: 嵌入式系统arm初学者 224636155←← +→→点击-->小 i 精品课全集,21ic公开课~~←←→→点击-->小 i 精品课全集,给你全方位的技能策划~~←←

2782

主题

19267

帖子

104

粉丝