CrossStudio section-placement files are structured using XML syntax to enable simple construction and parsing.

The first entry of the project file defines the XML document type used to validate the file format:

<!DOCTYPE Linker_Placement_File>

The next entry is the Root element. There can only be one Root element in a memory map file:

<Root name="Flash Placement">

A Root element has a name attribute. Every element in a section-placement file has a name attribute. Each name should be unique within its hierarchy level. Within a Root element, there are MemorySegment elements. These correspond to memory regions defined in a memory map file that will be used in conjunction with the section-placement file when linking a program. For example:

 <Root name="Flash Placement">
  <MemorySegment name="FLASH">

A MemorySegment contains ProgramSection elements that represent program sections created by the C/C++ compiler and assembler. The order of ProgramSection elements within a MemorySegment element represents the order in which the sections will be placed when linking a program. The first ProgramSection will be placed first and the last one will be placed last.

<Root name="My Board" >
  <MemorySegment name="FLASH">
    <ProgramSection name=".text">

ProgramSection elements have the following attributes:

When a section placement file is used for linking it is preprocessed using the (as yet undocumented) CrossWorks XML preprocessor.