
GR716-DS-UM, May 2019, Version 1.29
468
www.cobham.com/gaisler
GR716
47.2
Operation
The External memory controller, On-chip memory controller and APB controller allows the software
to define write protected memory segments, memory segments are defined by a start address and end
address, to which write permissions for specific bus masters can be granted or denied. Four segments
can be identified with a segment ID between 0 to 3. A segment with a low ID has precedence over one
with a high ID, but only if the segment with lower ID is enabled. The precedence or segment ID are
only of interests when specified memory area overlaps or bus masters are the same.
Each segment can be configured to grant or deny a write access individually for each AMBA master
on the bus. This is done by setting the Enable bits in the relevant Configuration register for the seg-
ment.
The protection unit on the main bus provides also access control registers, to manage grants for each
master to write in APB slaves on the main bus. They restricts write access to selected APB slaves for
each master when the corresponding bit in the corresponding register is set high.
47.3
Registers
The core is programmed through registers mapped into APB address space.
Table 631.
AHB system and DMA protection configuration and status registers
APB address offset
Registers
Memory Protection Unit for system bus (0x80005000)
0x80005000
Protection Configuration register
0x80005004
Protection Segment 0 Start Address register
0x80005008
Protection Segment 0 End Address register
0x8000500C
Protection Segment 0 Configuration register
0x80005010
Not used
0x80005014
Protection Segment 1 Start Address register
0x80005018
Protection Segment 1 End Address register
0x8000501C
Protection Segment 1 Configuration register
0x80005020
Not used
0x80005024
Protection Segment 2 Start Address register
0x80005028
Protection Segment 2 End Address register
0x8000502C
Protection Segment 2 Configuration register
0x80005030
Not used
0x80005034
Protection Segment 3 Start Address register
0x80005038
Protection Segment 3 End Address register
0x8000503C
Protection Segment 3 Configuration register
0x80005040 - 0x800050FF
Not used
0x80005100
Access control for CPU and BRIDGE on APB bus 0
0x80005104
Access control for Scrubber on APB bus 0
0x80005108 - 0x8000510F
Not used
0x80005110
Access control for DMA controller #0 and # 1 on APB bus 0
0x80005114
Access control for DMA controller #2 and # 3 on APB bus 0
0x80005118 - 0x8000513F
Not used
0x80005140
Access control for CPU and BRIDGE on APB bus 1
0x80005144
Access control for Scrubber on APB bus 1
0x80005148 - 0x8000514F
Not used
0x80005150
Access control for DMA controller #0 and # 1 on APB bus 1