AUTOSAR MPU

1, MPU属于ARM内核自带的一个外设,是跟核绑定在一起的。

2,MPU原理和作用
MPU简单说其实就是一个内存访问权限控制器,如果CPU在访问内存时不符合MPU定义的访问权限的话,那么访问就会被驳回,并出发一次错误异常,即Hardfault异常。配置内存访问权限的好处主要有:
①避免应用程序破坏其他任务或OS使用的栈和堆
②避免非特权任务访问对系统可靠性和安全性很重要的外设
③防止恶意代码注入攻击
④控制存储器相关访问属性。

3,MPU相关的几个概念
Memory Map
众所周知,大部分M核目前是32位寻址,那就代表核能访问0-2^32-1地址范围,总共4G大小的内存空间。芯片厂商会根据自己的设计将内部Flash,内部SRAM,TCM,外设寄存器,还有外部存储器等等的访问地址映射分布在这4G中,这称为Memory Map,所以MPU管理的对象就是整个4G空间
②MPU Region
MPU可以将整个4G分成若干区域,然后对每个区域设置地址空间(起始地址和大小)和不同的访问权限来达到预期的保护目标。一般来说,M3核和M4最大支持8个区域,M7最大支持16个区域,而这个区域就叫做MPU Region

4,MPU保护作用
MPU保护与当前执行的代码“不相关”的所有数据。
“不相关”是指相关内存地址的权限受限制,或程序访问内存地址的范围与其无关,阻止关键数据被破坏,使得嵌入式系统更加健壮与安全。
各OS Application运行在相互保护(不干涉)的内存区域,在某一个分区上运行的代码,无法修改另一个分区的内存。

5,MPU的微控制器有专用的硬件,即内存保护单元(MPU),来支持内存分区。

6,存储器本身不具有地址信息,它的地址是由芯片厂商或用户分配,给存储器分配地址的过程称为存储器映射。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Autosar MPU,即Autosar Memory Protection Unit,是一种用于保护嵌入式系统中存储器的技术,在Autosar架构中使用。 Autosar MPU的主要目的是通过控制访问权限,确保存储器的安全性和完整性。它可以通过定义存储器区域和访问规则来限制对存储器的访问。这些规则可以包括存储器区域的读、写和执行权限,以及存储器访问的地址范围限制等。 使用Autosar MPU的步骤如下: 1. 定义存储器区域:首先,需要定义存储器中的不同区域,以及每个区域的属性。这些属性可以包括区域的大小、起始地址以及读、写和执行权限等。 2. 定义存储器访问规则:接下来,需要定义不同的存储器访问规则。这些规则可以对存储器区域的访问进行限制,以确保合法的读、写和执行操作。 3. 编写代码并使用MPU接口:在代码中,需要根据定义的存储器区域和访问规则来编写访问存储器的代码。为此,可以使用Autosar提供的MPU接口函数,来进行存储器访问的权限检查和控制。 4. 运行时控制:一旦代码编写完毕,系统在运行时会根据定义的存储器访问规则来进行访问权限的检查和控制。如果违反了访问规则,系统可能会触发相应的异常或错误处理。 总之,Autosar MPU可以通过定义存储器区域和访问规则,来限制嵌入式系统中对存储器的访问。它能够提高系统的安全性和稳定性,并保护存储器中的数据免受非法访问或修改。但需要注意的是,正确配置和使用Autosar MPU需要对系统的需求和硬件平台有一定的了解和设计经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值