CrossStudio's memory-map files are XML files and are used…

Section placement files map program sections used in your program into the memory spaces defined in the memory map. 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.

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.
flash_placement.xml Two FLASH segments with internal RAM segment and optional external RAM segment.
internal_sram_placement.xml Internal RAM segment and optional external RAM segment.

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_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.
ram_placement.xml Two RAM segments.

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.