购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1. 6.1 MPU概述

存储器保护单元(MPU)是Cortex-M3 选配的功能,用于实现对存储器的保护,从而使软件更加健壮和可靠。MPU将存储器映射划分为多个区,并定义了每个区的位置、大小、访问权限及存储器属性。可定义 8 个单独的存储区及 1 个背景区。存储区可重叠,此时存储器访问受最大的区的属性影响(7 的优先级最高,0 的优先级最低)。每个区域的大小可以是 32B~4GB。

背景区具有与默认存储映射相同的存储器访问属性,但只能被特权软件访问。

如果程序访问被MPU禁止的存储区,则处理器会产生一个存储器管理异常。因此,在嵌入式操作系统中,内核可根据执行的任务动态更新MPU区设置,从而实现存储器保护。

例如,FreeRTOS实现了具有MPU功能的FreeRTOS-MPU,用于根据任务情况实现对存储区设置只读属性、将其他区设置成不可执行及利用xTaskCreateRestricted()生成一些访问受限的任务。 ZaiCbcmtoQrkhkrROJBhPsJr0pXExjZoNXDogaa86UzRLLEN2JEu6Rp0JM1OYLpb

点击中间区域
呼出菜单
上一章
目录
下一章
×