at91rm3400 ATMEL Corporation, at91rm3400 Datasheet - Page 83

no-image

at91rm3400

Manufacturer Part Number
at91rm3400
Description
Atmel Advanced At91 Arm Microcontroller
Manufacturer
ATMEL Corporation
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
at91rm3400-AU-002
Manufacturer:
Atmel
Quantity:
10 000
Abort Status
Memory Protection Unit
1790A–ATARM–11/03
There are three reasons for an abort to occur:
When an abort occurs, a signal is sent back to all the masters, regardless of which one
has generated the access. However, only the ARM7TDMI can take an abort signal into
account, and only under the condition that it was generating an access. The Peripheral
Data Controller does not handle the abort input signal. Note that the connection is not
represented in Figure 21.
To facilitate debug or for fault analysis by an operating system, the Memory Controller
integrates an Abort Status register set.
The full 32-bit wide abort address is saved in MC_AASR. Parameters of the access are
saved in MC_ASR and include:
In the case of a Data Abort from the processor, the address of the data access is stored.
This is useful, as searching for which address generated the abort would require disas-
sembling the instructions and full knowledge of the processor context.
In the case of a Prefetch Abort, the address may have changed, as the prefetch abort is
pipelined in the ARM processor. The ARM processor takes the prefetch abort into
account only if the read instruction is executed and it is probable that several aborts
have occurred during this time. Thus, in this case, it is preferable to use the content of
the Abort Link register of the ARM processor.
The Memory Protection Unit allows definition of up to 16 memory spaces within the
internal memories.
After reset, the Memory Protection Unit is disabled. Enabling it requires writing the Pro-
tection Unit Enable Register (MC_PUER) with the PUEB at 1.
Programmming of the 16 memory spaces is done in the registers MC_PUIA0 to
MC_PUIA15.
The size of each of the memory spaces is programmable by a power of 2 between 1K
bytes and 4M bytes. The base address is also programmable on a number of bits
according to the size.
The Memory Protection Unit also allows the protection of the peripherals by program-
ming the Protection Unit Peripheral Register (MC_PUP) with the field PROT at the
appropriate value.
The peripheral address space and each internal memory area can be protected against
write and non-privileged access of one of the masters. When one of the masters per-
forms a forbidden access, an Abort is generated and the Abort Status traces what has
happened.
access to an undefined address
access to a protected area without the permitted state
an access to a misaligned address.
the size of the request (field ABTSZ)
the type of the access, whether it is a data read or write, or a code fetch (field
ABTTYP)
whether the access is due to accessing an undefined address (bit UNDADD), a
misaligned address (bit MISADD) or a protection violation (bit MPU)
the source of the access leading to the last abort (bits MST0 and MST1)
whether or not an abort occurred for each master since the last read of the register
(bit SVMST0 and SVMST1) unless this information is loaded in MST bits
AT91RM3400
83

Related parts for at91rm3400