microsar 理解

先记录下来,有空的时候来整理,不一定正确。

RTE对应功能安全的作用(以S/R接口为例):

  1. 对于连接某两个SWC的S/R接口,则因为相应函数声明仅仅出现在了对应SWC的头文件中,所以只有这两个SWC能访问到相应的数据,起到了隔离作用,避免了其他SWC的干扰(此处通过代码的技巧性,达到了某些隔离的作用,满足功能安全?)
  2. 如果开启了内存保护,如果同一个OS-Application中的两个task均不能访问对方的数据内存,此时RTE_Write写的数据被放入了共享内存中,再由另外一个SWC通过RTE_Read来读取。如此完成了内存保护下的数据交换。(既满足了SWC的隔离,又成功进行了数据交换?此处同一个OS-Application内部需要进行MPU内存隔离吗?)
  3. 对于OS-Application之间的交互,则采用IOC来进行数据交换。

MPU保护机制

  1. 分为core、os-application、task、isr和stack,(举个例子core总共有16个region,其中0为stack权限区,1为task或者isr权限区,2为os-application权限区,3-15为整个core的静态权限区),RH850芯片的权限设置时,可以设置在特权态和用户态的权限,以便使不同的模式拥有不同的访问权限。
  2. 3-15权限区在初始化时就确定好,这些区域的权限就不会再改变
  3. 2为os-application的独有权限区,在进行application切换时会切换该权限
  4. 1为task或isr的独有权限区,在进行任务切换或者执行中断时,会进行相关权限切换
  5. 0为stack的独有权限区,在进行相关线程切换时,切换相应的堆栈访问权限(此处的线程包括task、interrupt、hook等)
  6. core中会对全体的Mpu进行配置,包括动态配置和静态配置,其实主要是静态相关配置,动态相关的配置更多的时候是在相关任务或者应用切换时动态切换的
posted @ 2021-11-05 14:50  小健V5  阅读(761)  评论(0编辑  收藏  举报