CrossStudio's New Project Wizard simplifies the creation of projects for the theARMPatch AT91-SBC by creating a project with the appropriate project settings, memory map files and startup files. See Creating a New Project for more information on creating projects.
CrossStudio for ARM supports theARMPatch AT91-SBC running applications from both RAM and FLASH.
The following sections describe theARMPatch AT91-SBC support in more detail. See ARM Target Support for more information.
The default memory map file $(StudioDir)/targets/theARMPatch_AT91_SBC/AT91_SBC_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 | On-chip Primary RAM Bank | 0x00000000 | 0x0003FFFF |
FLASH | FLASH using NSC0 chip select line | 0x01000000 | 0x013FFFFF |
The default startup code is in $(StudioDir)/targets/theARMPatch_AT91_SBC/AT91_SBC_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.