CrossStudio's memory map files are XML files that are used for the following purposes:
- Linking — Memory map files are used by the linker to describe how to lay out a program in memory.
- Loading — Memory map files are used by the loader to check that a program being downloaded will actually fit into the target's memory.
- Debugging — Memory map files are used by the debugger to describe the location and types of memory a target has. This information is used to decide how to debug the program, for example whether to set hardware or software breakpoints on particular memory location.
There are two types of memory map files:
- Board Memory Definition - This type of memory map file is used to describe a target's memory segments. If no Linker Placement file is defined, a Board Memory Definition file can also describe how program sections should be laid out within the memory segments.
- Linker Placement - This type of memory map file is used to describe how program sections should be laid out in the memory segments described by a Board Memory Definition file. As the Linker Placement file does not describe memory addresses, only the mapping between memory segments and program sections, it can be used as a general means to describe the layout of a program not tied to a particular target. A Linker Placement file does not need to be used if the Board Memory Definitionfile contains all the program section information.
Memory map files can be viewed and edited using CrossStudio's memory map editor, for more information see Memory Map Editor.
To use a memory map file, simply add the memory file to a project. You may have configuration specific memory map files by excluding memory map files from configurations as you would any other source file.