Nios® II Processor Reference Guide

ID 683836
Date 8/28/2023
Public
Document Table of Contents

3.4.2.14. The mpuacc Register

The mpuacc register works in conjunction with the mpubase register to set and retrieve MPU region information and is only available in systems with an MPU. The mpuacc register consists of attributes that can be set or have been retrieved which define the MPU region. The mpuacc register only holds a portion of the attributes that define an MPU region. The remaining portion of the MPU region definition is held by the BASE field of the mpubase register.

A Platform Designer generation-time option controls whether the mpuacc register contains a MASK or LIMIT field.

Table 29.  mpuacc Control Register Fields for MASK Variation
Bit Fields
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MASK[n-1:p]7
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MASK[n-1:p]7 0 MT PERM RD WR
Table 30.  mpuacc Control Register Fields for LIMIT Variation
Bit Fields
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LIMIT[n:p]7
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LIMIT[n:p]7 0 MT PERM RD WR
Table 31.  mpuacc Control Register Field Descriptions
Field Description Access Reset Available
MASK MASK specifies the size of the region. Read/Write 0 Only with MPU
LIMIT LIMIT specifies the upper address limit of the region. Read/Write 0 Only with MPU
MT (MT) Memory Type:
  • 0 = peripheral (non-cacheable, non-write bufferable)
  • 1 = normal (cacheable, write bufferable)
  • 2 = device (non-cacheable, write bufferable)
  • 3 = reserved
Read/Write 0 Only with MPU
PERM PERM specifies the access permissions for the region. Read/Write 0 Only with MPU
RD RD is the read region flag. When RD = 1, wrctl instructions to the mpuacc register perform a read operation. Write 0 Only with MPU
WR WR is the write region flag. When WR = 1, wrctl instructions to the mpuacc register perform a write operation. Write 0 Only with MPU

The MASK and LIMIT fields are mutually exclusive. Refer to Table 29 and Table 30.

7 This field size is variable. Unused upper bits and unused lower bits must be written as zero.