XEP100 - MPU Descriptors granularity

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

XEP100 - MPU Descriptors granularity

1,519 Views
Pedro_
Contributor III
Hi all,
there's something about the granularity of the Memory Protection Unit descriptors that is not clear to me.
 
Let say I have a section of data starting at 0x13F800 and ending at 0x13F88F
Because of the 8 byte granularity, the actual addresses loaded in the descriptors would be:
Start - 0x13F800
End  - 0x13F888
 
So, when accssing addresses between 0x13F889 and 0x13F88F, would that be a protection violation?
 
It doesn't seem to be so I thought I'd double check with you ..
 
Thanks
Labels (1)
0 Kudos
2 Replies

345 Views
MJW
NXP Employee
NXP Employee
Hello Pedro_,

no, it would not be a protection violation for accesses within the 0x13F889..0x13F88F range.

The address configuration bits in the MPU descriptors which cannot be set due to granularity are internally treated like this:
  • Lower Boundary addresses are right-appended with zeroes.
  • Upper Boundary addresses are right-appended with ones.
So, for example, if you do this:

Start = 0
End = 0

you get the range 0..7.

MJW
0 Kudos

345 Views
Pedro_
Contributor III
Thanks for your answer MJW
0 Kudos