XEP100 - MPU Descriptors granularity

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

XEP100 - MPU Descriptors granularity

2,147 次查看
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
标签 (1)
0 项奖励
回复
2 回复数

973 次查看
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 项奖励
回复

973 次查看
Pedro_
Contributor III
Thanks for your answer MJW
0 项奖励
回复