ARM Technical Support Knowledge Articles

LISTING FILE OVERVIEW

Applies to: BL51 Code-banking Linker/Locator

Answer


Information in this article applies to:


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:C51BINBL51.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:C51LIBC51S.LIB (?C_STARTUP)
  C:C51LIBC51S.LIB (PUTCHAR)
  C:C51LIBC51S.LIB (GETCHAR)
  C:C51LIBC51S.LIB (TOUPPER)
  C:C51LIBC51S.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

Article last edited on: 2006-08-17 18:11:18

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential