MPU内存保护单元

1.MPU

2.使用MPU

2.1对于没有OS系统,MPU可以被编程为静态配置。

  • 将RAM/SRAM区域设置为只读,避免重要数据被意外破坏。
  • 将栈底部的一部分RAM/SRAM区域设置为不可访问的,以检测栈溢出。
  • 将RAM/SRAM区域设置为XN(永不执行),避免代码注入攻击。
  • 定义可被系统级缓存(2级)或存储器控制器使用的存储器属性配置。

2.2对于有OS系统,在每次上下文切换时都可以配置MPU,每个应用任务都有不同的MPU配置。

  • 定义存储器访问权限,使得应用任务只能访问分配给自己的栈空间,因此可以避免因为栈泄露而破坏其它栈。
  • 定义存储器访问权限,使得应用任务只能访问有限的外设。
  • 定义存储器访问权限,使得应用任务只能访问自己的数据或自己的程序数据(设置起来会比较麻烦,因为多数情况下OS和程序代码是一起编译的,因此数据在存储器映射中也可能是混在一起的)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值