【简介】
在上一篇(【FreeRtos】FreeRtos + MPU模块的配置使用)中介绍了基于S32K3 平台创建使用MPU管理任务权限的试验,我们在此基础上继续探究FreeRTOS中K3平台的MPU的region 的配置使用规则。MPU 的管理被分为“内核数据” 和 “自定义数据” 的权限管理。
“内核数据”在FreeRtos 中分配末端的5个region 用来配置“内核数据”的访问权限。

"自定义数据" 的MPU 配置使用的region 可以在S32DS FreeRTOS 组件中配置。

该配置会在FreeRTOS的配置中体现

代码中对自定义的region 的配置使用的上述配置number 开始配置,这样我们就可以保留0-4 region 作为通用的配置。

上述配置后MPU 的region 配置如下

本地的代码在任务创建时或创建个“自定义数据”的一个region,该region 对定义的ucSharedMemory buffer 配置为读写权限,没有执行权限,按照之前的配置该region会被配置在region5.K3 的MPU 配置可以查看此贴(【S32K3】MPU 配置代码解析)

任务执行的时候本地dump 状态,region[5] 的权限配置为0x20404360 地址 size 128B 对应的空间的地址访问权限为读写 非可执行,No Cache .

本地dump "内核数据" 的访问权限region[11]~region[15]的访问权限如下:

按照当前的配置MPU 的6~15 region 是分配给 FreeRTOS来使用,我们可以配置0~5 这6个region 作为通用的配置。
23

