Section placement files map program sections used in your program into the memory spaces defined in the memory map or in the Memory Segments project property. For instance, it's common for code and read-only data to be programmed into non-volatile flash memory, whereas read-write data needs to be mapped onto either internal or external RAM.

Memory map files are provided in the CPU support package you are using and are referenced in executable projects by the Memory Map File project property. Section-placement files are provided in the base CrossWorks distribution.

The memory segments defined in the section placement files have macro-expandable names which can be defined using the Section Placement Macros project property.

Some of the section placement files have a macro-expandable start attribute in the first program section. You can use this to reserve space at the beginning of the memory segment.

ARM section placement

The following placement files are supplied for ARM targets:

File Description
flash_placement.xml Single FLASH segment with internal RAM segment and optional external RAM segment.
flash_run_text_from_ram_placement.xml Single FLASH segment with internal RAM segment and optional external RAM segments. Text section is copied from FLASH to RAM.
internal_sram_placement.xml Single internal RAM segment.
multi_flash_placement.xml Two FLASH segments with internal RAM segment and optional external RAM segment.
sram_placement.xml Internal RAM segment and optional external RAM segment.
tcm_placement.xml Data and Instruction tightly coupled memory segments.

Cortex-M section placement

The following placement files are supplied for Cortex-M targets:

File Description
flash_placement.xml Two FLASH segments and two RAM segments.
flash_placement_tcm.xml One FLASH segments, two RAM segments, Data and Instruction tightly coupled memory segments.
flash_placement2.xml One FLASH segment and two RAM segments.
flash_to_ram_placement.xml One FLASH segment and one RAM segment. Text section is copied from FLASH to RAM.
flash_to_ram_placement_tcm.xml One FLASH segment, two RAM segments, Data and Instruction tightly coupled memory segments. Text section is copied from FLASH to RAM.
flash_to_ram_placement2.xml One FLASH segment and two RAM segments. Text section is copied from FLASH to RAM.
flash_to_tcm_placement.xml Two FLASH segments, two RAM segments, Data and Instruction tightly coupled memory segments.
ram_placement.xml Two RAM segments.
tcm_placement.xml Data and Instruction tightly coupled memory segments.