深入理解MPU(内存保护单元)

(3) 2024-04-25 16:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说深入理解MPU(内存保护单元),希望能够帮助你!!!。

何为MPU
MPU意思是Memory Protect Unit,即为存储保护单元,它是位于存储器内部的一个可编程的区域,定义了存储器的属性和存储器的访问权限。MPU不会提升嵌入式应用的性能,而是用于系统中问题的检测(比如试图访问非法或者不允许的存储器位置所导致的应用错误)。如果检测到有错误,则会触发HardFault异常。实际上,许多微控制器用不到MPU,但MPU可以提高嵌入式系统的健壮性,在如下的情况中使得系统更加安全:

避免应用任务破坏其他任务或者OS内核使用的栈或数据存储器。
避免非特权任务访问对系统可靠性和安全性很重要的外设。
将SRAM或RAM定义为不可执行的(永不执行,XN),可以防止代码注入攻击。
还可以利用MPU定义其他存储器属性,例如可被输出到系统级的缓存单元或存储器 控制器的可缓存性。MPU默认是禁止的,此时对于存储器来说,其使用的是默认的存储器属性。

原文链接:深入理解MPU(内存保护单元)

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复