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.

To create a new theARMPatch AT91-SBC  project

CrossStudio for ARM supports theARMPatch AT91-SBC running applications from both RAM and FLASH.

To build and debug an application running from RAM
To build and debug an application running from FLASH

The following sections describe theARMPatch AT91-SBC support in more detail. See ARM Target Support for more information.

Memory Map Files

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

Target Startup Code

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.