![Atmel AT91EB01 User Manual Download Page 25](http://html1.mh-extra.com/html/atmel/at91eb01/at91eb01_user-manual_3003428025.webp)
Setting Up the AT91EB01 Evaluation Board
AT91EB01 Evaluation Board User Manual
3-13
■
A Flash space is used for code saving.
■
A SRAM space is used for code running, data and stacks of Angel.
■
Care must be taken with the stacks and the interrupt handling.
3.11.1
Memory Mapping
Angel is stored in the Flash from address 0x0100 2000, and occupies with the boot the
entire lower 64K bytes of the Flash. When started, Angel automatically copies itself into
the SRAM at address 0x0200 8000. This allows faster execution than if running from the
Flash; moreover, Angel can be used by the Flash programmer.
Stacks and variables needed by Angel are based from 0x0200 0000 up to 0x0200 7FFF.
As 64K bytes are reserved for Angel and its future versions, it is mandatory to link any
application running in SRAM at addresses higher than 0x0201 8000. Otherwise, the
download of the image will overwrite Angel’s code, and communications between Angel
and the debugger will be lost.
3.11.2
Interrupt Handling
The Angel’s interrupt handling uses the vectoring feature of the AT91’s Advanced Inter-
rupt Controller. This implies that the ARM Interrupt vector ( at address 0x18 ) is set with
the instruction “ldr pc, [pc, #&-F20]” in order to access AIC_IVR.This is assumed by
Angel itself.
If the user wants to use Interrupt Vectoring, he just has to store the handler addresses in
the AIC_SVR, and to set the AIC_SMR.
If he does not want to use this feature, he has to replace the ARM vector, then in the
new defined interrupt handling, to test if the interrupt which has occurred comes from
the USART 0 ( Interrupt source number 2 ) and, in this case, branch at address saved in
AIC_SVR[2].
3.11.3
Stacks Setup
As Angel needs to manage interrupts, it initializes the Interrupt stack pointer (r14_irq).
This register cannot be modified by the application without disagreement on the Angel
communications.
Other stack pointers are also initialized by default by the Angel startup sequence. Par-
ticularly, user mode stack is initialized at the top of the memory. As this last differs
depending on the version of the AT91EB01, it is fixed at 0x0204 0000.
3.12
Using the Flash
Downloader
3.12.1
Flash Downloading
with ADW & MDW
Downloading into Flash overwrites any existing image already stored there. This may be
a version of Angel, or an application program. Ensure that the download completes suc-
cessfully before you reset or power off the board.
The flash downloader for the AT91EB01 is based on the flash downloader utility pro-
vided with the ARM Software Development Toolkit. With Angel, it works only if Angel is
running from RAM, and not from the flash that is to be programmed. Alternatively
EmbeddedICE or Multi-ICE can be used rather than Angel.
T h e f l a s h d o w n l o a d e r i s i n c l u d e d b y t h e A T 9 1 l i b r a r y i n t h e f o l d e r
“<MyFolderAT91>\Tools\FlashPgm\at91eb01”, file “flash.li”. This file can be used with
Angel as well as with EmbeddedICE or Multi-ICE.
The download can be done by different ways :
■
with an ICE (Embedded or Multi).
■
with Angel started in flash by the boot and auto-copied in SRAM before execution
(refer to the section Memory Mapping in “Using Angel” on page 3-12).
Summary of Contents for AT91EB01
Page 1: ...AT91EB01 Evaluation Board USER MANUAL...
Page 2: ......
Page 6: ...Table of Contents iv...
Page 28: ...Setting Up the AT91EB01 Evaluation Board 3 16 AT91EB01 Evaluation Board User Manual...
Page 43: ......