Keil™, An ARM® Company

RealView Linker and Utilities Guide

Getting information about images

3.6. Getting information about images

You can use the ‑‑info option to get information about how your image is generated by the linker, for example:

armlink ‑‑info sizes ...

Here, sizes gives a list of the Code and Data sizes for each input object and library member in the image. Using this option implies ‑‑info sizes,totals.

See Generating image-related information for more information on the topic keywords you can specify for the ‑‑info command-line option.

Example 3.2 shows the output in tabular format with the totals separated out for easy reading.

Example 3.2. Image information

Code (inc. data)   RO Data   RW Data    ZI Data      Debug

3712        1580        19        44      10200       7436   Object Totals
0              0        16         0          0          0   (incl. Generated)
0              0         3         0          0          0   (incl. Padding)
21376        648       805         4        300      10216   Library Totals
0              0         6         0          0          0   (incl. Padding)

===============================================================================

Code (inc. data)   RO Data    RW Data    ZI Data      Debug
25088       2228       824         48      10500      17652   Grand Totals
25088       2228       824         48      10500      17652   ELF Image Totals
25088       2228       824         48          0          0   ROM Totals

===============================================================================

Total RO  Size (Code + RO Data)             25912 (  25.30kB)
Total RW  Size (RW Data + ZI Data)          10548 (  10.30kB)
Total ROM Size (Code + RO Data + RW Data)   25960 (  25.35kB)
Code (inc. Data)

Shows how many bytes are occupied by code. In this image, there are 3712 bytes of code. This includes 1580 bytes of inline data (inc. Data), for example, literal pools, and short strings.

RO Data

Shows how many bytes are occupied by read-only data. This is in addition to the inline data included in the Code (inc. Data) column.

RW Data

Shows how many bytes are occupied by read‑write data.

ZI Data

Shows how many bytes are occupied by zero-initialized data.

Debug

Shows how many bytes are occupied by debug data, for example, debug input sections and the symbol and string table.

Object Totals

Shows how many bytes are occupied by objects linked together to generate the image.

(incl. Generated)

armlink might generate image contents, for example, interworking veneers, and input sections such as region tables. If the Object Totals row includes this type of data, it is shown in this row. In Example 3.2 there are 19 bytes of RO data in total, of which 16 bytes is linker-generated RO data.

Library Totals

Shows how many bytes are occupied by library members that have been extracted and added to the image as individual objects.

(incl. Padding)

armlink inserts padding, if required, to force section alignment (see Aligning sections). If the Object Totals row includes this type of data, it is shown in the associated (incl. Padding) row. Similarly, if the Library Totals row includes this type of data, it is shown in its associated row. In Example 3.2, there are 19 bytes of RO data in the object total, of which 3 bytes is linker-generated padding, and 805 bytes of RO data in the library total, with 6 bytes of padding.

Grand Totals

Shows the true size of the image. In Example 3.2 there are 10200 bytes of ZI data (in Object Totals) and 300 of ZI data (in Library Totals) giving a total of 10500 bytes.

ELF Image Totals

If you are using RW data compression (the default) to optimize ROM size, the size of the final image changes and this is reflected in the output from ‑‑info. Compare the number of bytes under Grand Totals and ELF Image Totals to see the effect of compression.

In Example 3.2, RW data compression is not enabled. If data is compressed, the RW value changes. See RW data compression for more information.

ROM Totals

Shows the minimum size of ROM required to contain the image. This does not include ZI data and debug information which is not stored in the ROM.

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0377A