Keil Logo

BL51: LISTING FILE OVERVIEW


Information in this article applies to:

  • C51 Version 5.50a
  • C51 Version 6.02

QUESTION

What information is contained in the different sections of the listing map file created by the BL51 linker?

ANSWER

The BL51 code banking linker/locator produces a map file with the time and date the linker was started. The command line and memory module are listed below that.

BL51 BANKED LINKER/LOCATER V3.52        07/01/95  08:00:00  PAGE 1

MS-DOS BL51 BANKED LINKER/LOCATER V3.52, INVOKED BY:
C:\C51\BIN\BL51.EXE SAMPLE.OBJ

MEMORY MODEL: SMALL

Next, the linker lists the object modules that are included. Note that your object modules (created by the compiler and assembler) as well as modules from libraries are listed.

INPUT MODULES INCLUDED:
  SAMPLE.OBJ (SAMPLE)
  C:\C51\LIB\C51S.LIB (?C_STARTUP)
  C:\C51\LIB\C51S.LIB (PUTCHAR)
  C:\C51\LIB\C51S.LIB (GETCHAR)
  C:\C51\LIB\C51S.LIB (TOUPPER)
  C:\C51\LIB\C51S.LIB (_GETKEY)

The link map includes a table of the physical memory used by your application. DATA memory, CODE memory, and XDATA memory are listed here.

LINK MAP OF MODULE:  SAMPLE (SAMPLE)

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

     * * * * * * *   D A T A   M E M O R Y   * * * * * * *
     REG     0000H     0008H     ABSOLUTE     "REG BANK 0"
     DATA    0008H     0001H     UNIT         ?DT?GETCHAR
     DATA    0009H     0001H     UNIT         _DATA_GROUP_
             000AH     0016H                  *** GAP ***
     BIT     0020H.0   0000H.1   UNIT         ?BI?GETCHAR
             0020H.1   0000H.7                *** GAP ***
     IDATA   0021H     0001H     UNIT         ?STACK

     * * * * * * *   C O D E   M E M O R Y   * * * * * * *
     CODE    0000H     0003H     ABSOLUTE
     CODE    0003H     0021H     UNIT         ?PR?MAIN?SAMPLE
     CODE    0024H     000CH     UNIT         ?C_C51STARTUP
     CODE    0030H     0027H     UNIT         ?PR?PUTCHAR?PUTCHAR
     CODE    0057H     0011H     UNIT         ?PR?GETCHAR?GETCHAR
     CODE    0068H     0018H     UNIT         ?PR?_TOUPPER?TOUPPER
     CODE    0080H     000AH     UNIT         ?PR?_GETKEY?_GETKEY

The overlay-map displays the structure of the program and the location of the bit and data segments of each function. It is like a call tree for your program.

OVERLAY MAP OF MODULE:   SAMPLE (SAMPLE)

SEGMENT                          DATA_GROUP
  +--> CALLED SEGMENT          START    LENGTH
----------------------------------------------
?C_C51STARTUP                  -----    -----
  +--> ?PR?MAIN?SAMPLE

?PR?MAIN?SAMPLE                0009H    0001H
  +--> ?PR?GETCHAR?GETCHAR
  +--> ?PR?_TOUPPER?TOUPPER
  +--> ?PR?PUTCHAR?PUTCHAR

?PR?GETCHAR?GETCHAR            -----    -----
  +--> ?PR?_GETKEY?_GETKEY
  +--> ?PR?PUTCHAR?PUTCHAR

All error messages and warnings are listed at the end of the map file. These messages indicate possible problems during the link/locate run.

LINK/LOCATE RUN COMPLETE.  0 WARNING(S),  0 ERROR(S)

MORE INFORMATION

FORUM THREADS

The following Discussion Forum threads may provide information related to this topic.

Last Reviewed: Thursday, August 17, 2006


Did this article provide the answer you needed?
 
Yes
No
Not Sure
 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.