Altera_Forum
Honored Contributor
15 years agoBase field (mpubase.BASE) not retrieved on MPU Region read operation
According to the Nios II Processor Reference Handbook, region information can be read as follows:
--- Quote Start --- "Each MPU region read operation consists of the following actions: - Execute a wrctl instruction to the mpubase register with the mpubase.INDEX and mpubase.D fields set to identify the MPU region. - Execute a wrctl instruction to the mpuacc register with the mpuacc.RD field set to one and the mpuacc.WR field cleared to zero. This action loads the mpubase and mpuacc register values. - Execute a rdctl instruction to the mpubase register to read the loaded the mpubase register value. - Execute a rdctl instruction to the mpuacc register to read the loaded the mpuacc register value. The MPU region read operation retrieves mpubase.BASE, mpuacc.MASK or mpuacc.LIMIT, mpuacc.C, and mpuacc.PERM values for the MPU region." --- Quote End --- However, when running this sequence even immediately after a write region sequence, the mpubase.BASE field obtained at the end is not correct. Has anyone else experienced the same?