Keil Logo


When designing and developing a typical program, tasks the program is to perform are defined and partitioned into sub-programs. The code and data generated are stored in sections within the modules that compose the program. One of the jobs of the assembler is to create modules that contain sections. The job of the linker is to combine the sections in those modules into a program.

A section is a block of code or data memory. It may be relocatable (meaning it has no fixed memory address) or absolute (meaning it has a fixed memory address).

  • A relocatable section has a name, type, and other attributes. Sections with the same name, but from different modules, are considered part of the same section and called partial sections. Partial sections are combined into sections and assigned a final location in memory by the L166 Linker/Locator.
  • An absolute section is located at a fixed address in memory and cannot be combined with other sections.

A module contains one or more sections or partial sections. The module name is assigned by the user. The module definitions determine the scope of local symbols.

A program consists of a single absolute module that contains the merged absolute and relocatable sections from all input modules.

  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.