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 option. 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 option. Section-placement files are provided in the base SEGGER Embedded Studio for ARM distribution.
The memory segments defined in the section placement files have macro-expandable names which can be defined using the Section Placement Macros project option.
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.
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. |
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. |