ADUC702X_1 AD [Analog Devices], ADUC702X_1 Datasheet - Page 20

no-image

ADUC702X_1

Manufacturer Part Number
ADUC702X_1
Description
Precision Analog Microcontroller 12-bit Analog I/O, ARM7TDMI MCU
Manufacturer
AD [Analog Devices]
Datasheet
ADuC702x Series
- Software interrupt (SWI) instruction which can be used to
Typically the programmer will define interrupts as IRQ but for
higher priority interrupt, i.e. faster response time, the
programmer can define interrupt as FIQ.
ARM Registers
ARM7TDMI has a total of 37 registers, of which 31 are general
purpose registers and six are status registers. Each operating
mode has dedicated banked registers.
When writing user-level programs, 15 general purpose 32-bit
registers (r0 to r14), the program counter (r15) and the current
program status register (CPSR) are usable. The remaining
registers are used only for system-level programming and for
exception handling.
When an exception occurs, some of the standard register are
replaced with registers specific to the exception mode. All
exception modes have replacement banked registers for the
stack pointer (r13) and the link register (r14) as represented in
Figure 3. The fast interrupt mode has more registers (8 to 12)
for fast interrupt processing, so that the interrupt processing
can begin without the need to save or restore these registers and
thus save critical time in the interrupt handling process.
More information relative to the programmer’s model and the
ARM7TDMI core architecture can be found in the following
documents from ARM:
- DDI0029G, ARM7TDMI Technical Reference Manual.
- DDI0100E, ARM Architecture Reference Manual.
user mode
make a call to an operating system.
r0
r1
r2
r3
r4
r5
r6
r7
r8
r9
r10
r11
r12
r13
r14
r15 (PC)
CPSR
SPSR_fiq
r10_fiq
r11_fiq
r12_fiq
r13_fiq
r14_fiq
mode
Figure 3: register organisation
r8_fiq
r9_fiq
fiq
r13_svc
r14_svc
SPSR_svc
mode
svc
SPSR_abt
r13_abt
r14_abt
abord
mode
usable in user mode
system modes only
SPSR_irq
mode
r13_irq
r14_irq
irq
undefined
SPSR_und
r13_und
r14_und
mode
Rev. PrA | Page 20 of 78
Interrupt latency
The worst case latency for an FIQ consists of the longest time
the request can take to pass through the synchronizer, plus the
time for the longest instruction to complete (the longest
instruction is an LDM) which loads all the registers including
the PC, plus the time for the data abort entry, plus the time for
FIQ entry. At the end of this time, the ARM7TDMI will be
executing the instruction at 0x1C (FIQ interrupt vector
address). The maximum total time is 41 processor cycles, which
is just over 909 nanoseconds in a system using a continuous 45
MHz processor clock. The maximum IRQ latency calculation is
similar, but must allow for the fact that FIQ has higher priority
and could delay entry into the IRQ handling routine for an
arbitrary length of time.
The minimum latency for FIQ or IRQ interrupts is five cycles in
total which consists of the shortest time the request can take
through the synchronizer plus the time to enter the exception
mode.
Note that the ARM7TDMI will always be run in ARM (32-bit)
mode when in privileged modes, i.e. when executing interrupt
service routines.
MEMORY ORGANISATION
The part incorporates two separate blocks of memory, 8kByte of
SRAM and 64kByte of On-Chip Flash/EE memory. 62kByte of
On-Chip Flash/EE memory are available to the user, and the
remaining 2kBytes are reserved for the factory configured boot
page. These two blocks are mapped as shown in
Figure 4
Note that by default, after a reset, the Flash/EE memory is
mirrored at address 0x00000000. It is possible to remap the
SRAM at address 0x00000000 by clearing bit 0 of the REMAP
MMR. This remap function is described in more details in the
Flash/EE memory chapter.
FFFF0000h
00080000h
00010000h
00000000h
.
FFFFFFFFh
0000FFFFh
0008FFFFh
00011FFFh
Preliminary Technical Data
Figure 4: Physical memory map
MMRs
Reserved
Flash/EE
Reserved
SRAM
Re-mappable Memory Space
(Flash/EE or SRAM)

Related parts for ADUC702X_1