CrossStudio for ARM supports the Atmel AT91SAM7A1_EK running applications from both RAM and FLASH.
The following sections describe the Atmel AT91SAM7A1_EK support in more detail.
The default memory map file $(StudioDir)/targets/Atmel_AT91SAM7A1_EK/AT91SAM7A1_EK_MemoryMap.xml has been provided. This file is used to describe the memory layout of the target and is used for linking and debugging. The placement of program sections within the memory map for both RAM and FLASH configurations is described by the non-target-specific default memory maps $(StudioDir)/targets/flash_placement.xml and $(StudioDir)/targets/sram_placement.xml.
The memory segment layout for both configurations is the same and is described in the following table:
Type | Description | Start Address | End Address |
RAM | External RAM | 0x48000000 | 0x4807FFFF |
FLASH | External FLASH | 0x40000000 | 0x401FFFFF |
RAM | Internal RAM | 0x00000000 | 0x00000FFF |
The default startup code is in $(StudioDir)/targets/Atmel_AT91SAM7A1_EK/AT91SAM7A1_EK_Startup.s. It contains the exception vectors and the default exception handlers. The FLASH version of the code (specified by defining __FLASH_BUILD) is also responsible for configuring memory to match the above memory map and copying the exception vectors into RAM.