第九章 内存保护单元
许多实时系统在多任务操作系统(OS)下运行。操作系统提供了一种机制,以确保当前执行的任务不会干扰其他任务的操作。系统资源、其他任务的代码和数据都受到保护。保护系统通常依赖于硬件和软件的结合。
在没有硬件保护支持的系统中,每个任务必须与其他任务协作,并遵守规则。相比之下,具有专用保护硬件的系统将检查并限制对系统资源的访问,防止对禁止资源的恶意或无意访问。任务仍需遵循一套操作系统规则,但这些规则也由硬件强制执行,从而提供更强的保护。
ARM为所有Cortex-R系列处理器提供了这一功能,通过内存保护单元(MPU)。MPU提供了对多个软件编程区域的硬件保护,但不提供具有地址转换的完整虚拟内存系统。
Cortex-R系列处理器实现了ARM受保护内存系统架构(PMSA)。
PMSA基于内存保护单元(MPU)。PMSA提供了一种比基于MMU的虚拟内存系统架构(VMSA)更简单的内存保护方案。这种简化适用于硬件和软件两方面。
主要的简化是MPU不使用转换表。相反,系统控制协处理器(CP15)寄存器定义保护区域。保护区域消除了硬件执行转换表遍历和软件设置和维护转换表的需求。
使用保护区域的好处是使内存检查完全确定。然而,控制级别是基于区域而不是基于页面的,这意味着控制精度远低于VMSA。
标签:学习指南,内存保护,PMSA,硬件,保护,MPU,Cortex,ARM From: https://blog.csdn.net/weixin_42135087/article/details/141859813