CrossStudio's New Project Wizard simplifies the creation of projects for the ATMEL EB01 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 ATMEL EB01 project

- Select the File | New | New Project menu item.
- Select ATMEL EB01 Projects from the Project Type list.
- Select the required project template type from the Templates list.
- Set the required project name and location directory.
- Click OK.

CrossStudio for ARM supports the ATMEL EB01 running applications from both RAM and FLASH.

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

- Select the project to work on by using the Project | Set Active Project menu option.
- Select the RAM configuration you require by using the Build | Set Active Build Configuration menu option.
- Build the project by using the Build | Build Project menu option.
- Connect to the appropriate target in the target window.
- Download and start debugging the current project by using Debug | Start Debugging.

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

- Select the project to work on by using the Project | Set Active Project menu option.
- Select the FLASH configuration you require by using the Build | Set Active Build Configuration menu option.
- Build the project by using the Build | Build Project menu option.
- Set a jumper or link on across J7 to allow the lower bank of FLASH to be modified. Warning: The EB01 firmware can now be erased and overwritten if SW1 is set to LOWER MEM.
- Set SW1 to UPPER MEM in order to use the upper bank of FLASH memory and therefore protect the EB01 firmware. If the EB01 firmware is not required, SW1 may be set to LOWER_MEM in order to allow you to use the entire FLASH memory.
- Connect to the appropriate target in the target window.
- Download and start debugging the current project by using Debug | Start Debugging.

The following sections describe the ATMEL EB01 support in more detail. See ARM Target Support for more information.

### Memory Map Files

The default memory map file $(StudioDir)/targets/ATMEL_EB01/ATMEL_EB01_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
SRAM | External SRAM | 0x02000000 | 0x0103FFFF
FLASH | Lower FLASH bank | 0x01010000 | 0x0101FFFF
FLASH | Upper FLASH bank | 0x01000000 | 0x0100FFFF
SRAM | Internal SRAM | 0x00000000 | 0x00000FFF

By default, only the .vectors and .fast sections are placed in internal SRAM and the rest of the RAM resident sections are placed in external SRAM.

### Target Startup Code

The default startup code is in $(StudioDir)/targets/ATMEL_EB01/ATMEL_EB01_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.