What are P1, P2, A1, A2 in the .map file?

Technical Note 80159

Architectures:

ARM

Component:

linker

Updated:

5/31/2018 9:14 AM

Introduction

P1, P2, A1, A2 etc in the .map file are symbolic names given by IAR ILINK Linker to the different memory areas where the linked output is placed.

The "A#" stands for a memory area where the contents are absolutely placed.
The command lines in the .icf file looks like:

place at { address memory: ...
place at { start of ...
place at { end of ...

The "P#" stands for placement of sections and blocks in a specific region. The sections and blocks will be placed in the region in an arbitrary order.
The command lines in the .icf file looks like:

place in ...

You can override the default symbolic names given by ILINK. Just add you own name before a place directive, for example:

"ROM":
place in ROM_region { ... };
"RAM":
place in RAM_region { ... };

All product names are trademarks or registered trademarks of their respective owners.

We do no longer support Internet Explorer. To get the best experience of iar.com, we recommend upgrading to a modern browser such as Chrome or Edge.