English
Language : 

PXN20RM Datasheet, PDF (456/1376 Pages) Freescale Semiconductor, Inc – PXN20 Microcontroller
Memory Protection Unit (MPU)
18.4.1.1 Access Evaluation—Hit Determination
To determine if the current AHB reference hits in the given region, two magnitude comparators are used
with the region’s start and end addresses. The boolean equation for this portion of the hit determination is
defined as:
region_hit =
((haddr[0:26] >= rgdn.srtaddr[0:26]) & (haddr[0:26] <= rgdn.endaddr[0:26]))
& rgdn.vld
where haddr[*] is the current AHB reference address, rgdn.srtaddr[*] and rgdn.endaddr[*] are the start
and end addresses, and rgdn.vld is the valid bit, all from region descriptor n. There are no hardware checks
to verify that rgdn.endaddr  rgdn.srtaddr, and the software must properly load appropriate values into
these fields of the region descriptor.
In addition to the algebraic comparison of the AHB reference address versus the region descriptor’s start
and end addresses, the optional process identifier is examined against the region descriptor’s PID and
PIDMASK fields. Using the hmaster[*] number to select the appropriate MxPE field from the region
descriptor, a process identifier hit term is formed as:
pid_hit = ~rgdn.mxpe
| ((current_pid[0:7] | rgdn.pidmask[0:7]) == (rgdn.pid[0:7] | rgdn.pidmask[0:7]))
where the current_pid[*] is the selected process identifier from the current bus master, and rgdn.pid[*]
and rgdn.pidmask[*] are the appropriate process identifier fields from the region descriptor n. For AHB
bus masters that do not output a process identifier, the MPU forces the pid_hit term to be asserted.
As shown in Figure 18-11, the access evaluation macro forms the logical complement (hit_b) of the
combined region_hit and pid_hit boolean equations.
18.4.1.2 Access Evaluation—Privilege Violation Determination
While the access evaluation macro is making the region hit determination, the logic is also evaluating if
the current access is allowed by the permissions defined in the region descriptor. Using the AHB
hmaster[*] and hprot[1] (supervisor/user mode) signals, a set of effective permissions (eff_rgd[r,w,x])
is generated from the appropriate fields in the region descriptor. The protection violation logic then
evaluates the access against the effective permissions using the specification shown in Table 18-11.
Table 18-11. Protection Violation Definition
Description
Inputs
hwrite hprot[0] eff_rgd[r] eff_rgd[w] eff_rgd[x]
Output
Protection
Violation?
inst fetch read 0
0
—
—
0
yes, no x permission
inst fetch read 0
0
—
—
1 no, access is allowed
data read
0
1
0
—
— yes, no r permission
data read
0
1
1
—
— no, access is allowed
data write
1
—
—
0
— yes, no w permission
data write
1
—
—
1
— no, access is allowed
18-16
PXN20 Microcontroller Reference Manual, Rev. 1
Freescale Semiconductor