前言
如下图所示,TC3xx芯片中的寄存器有一栏Access Mode权限描述,其中的U, SV, E, SE, P是是什么意思了?
本文先介绍TC3xx芯片的寄存器保护类型,然后详细介绍寄存器的ACCEN保护(P)。
目录
正文
1)CEy保护,只有把想要访问这个寄存器的CPU的EndInit Unlock后(设置为0),这个寄存器才能够被这个CPU Write访问。
2)E保护,多核CPU中的任一一个CPU的EndInit Unlock后(设置为0),所有CPU都可以对这个寄存器进行Write访问。
3)SE保护,安全看门狗(Safety Watchdog)的EndInit Unlock后(设置为0),所有CPU都可以对这个寄存器进行Write访问。
注意:CEy, E, SE属于EndInit保护。参考文章:TC3xx芯片的Endinit功能详解
4)P保护,也就是ACCEN保护。
以MTU模块的CLC寄存器为例(每个硬件模块都有受ACCEN保护的寄存器),写CLC寄存器受P (ACCEN)保护,我们想要写CLC寄存器,首先需要配置想要改CLC寄存器的访问者模块(Master, 比如CPU0就对应一个Master)的访问权限。
系统外围设备总线和SRI总线上的每个Master Interface都被分配给一个6位标识号,即TAG Number(见表85)。
如果我们配置MTU模块的ACCEN寄存器的EN1为1,则表示Master TAG ID为000010B的硬件模块可以写访问MTM模块受ACCEN保护的寄存器。
注意;ACCEN寄存器默认值是0xFFFFFFFF,也就是所有的Master Tag都可以写访问。
对于功能安全的User而言,就是要设计符合项目需求的ACCEN寄存器的值(哪些模块可以访问受ACCEN保护寄存器)。
如果我们配置了ACCEN寄存器,使得某些Master Tag不能访问受ACCEN保护的寄存器
,但是实际工况出现了这些Master Tag访问受ACCEN保护的寄存器的情况,那么系统就会产生如下的Trap. 我们就可以通过监控Trap信息来定位Trap产生的原因。
参考文章:
TC3xx芯片的Trap详解
TC3xx芯片的Trap详解(二)
ACCEN保护本身不难理解,麻烦的是需要根据具体的项目需求来设计哪些Master Tag可以写访问受ACCEN保护的寄存器,而且应该考虑TC3xx芯片中的所有ACCEN寄存器的配置。这就需要功能安全设计者来权衡设计了。
End
「汽车电子嵌入式在CSDN上同步推出AUTOSAR精进之路专栏,本专栏每个模块完全按实际项目中开发及维护过程来详细介绍。模块核心概念介绍、实际需求描述、实际工程配置、特殊需求介绍及背后原理、实际工程使用经验总结。目的是让读者看完每一个章节后能理解原理后根据需求完成一个模块的配置或者解决一个问题。」
点击文章最后左下角的阅读原文可以获取更多信息
或者复制如下链接到浏览器获取更多信息
https://blog.csdn.net/qq_36056498/article/details/132125693
文末福利
2.为便于技术交流,创建了汽车电子嵌入式技术交流群,可尽情探讨AP,CP,DDS,SOME/IP等前沿热点话题,后台回复“加群”即可加入;
注:本文引用了一些第三方工具和文档,若有侵权,请联系作者删除!
推荐阅读
汽车电子嵌入式精彩文章汇总第一期:20210530-20230703
汽车电子嵌入式精彩文章汇总第2期
TC3xx芯片GTM模块-CMU,CCM,TBU详解
TC3xx芯片GTM模块-TOM详解
AUTOSAR架构下PWM模块配置实践
TC3xx芯片GTM模块-TIM详解
AUTOSAR架构下ICU模块配置实践
TC3xx芯片电源管理系统PMS详解
TC3xx DMA模块详解
TC3xx芯片SMU模块详解
如何监控TC3xx芯片PFlash的ECC错误
TC3xx芯片RAM的错误检测
编译链接专题第1篇-make和makefile介绍
编译链接专题第2篇-初识makefile结构
编译链接专题第3篇-初识makefile中的伪目标
编译链接专题第4篇-变量和变量的不同赋值方式
编译链接专题第5篇-预定义变量的使用
编译链接专题第6篇-变量的高级主题(上)
编译链接专题第7篇-变量的高级主题(下)
End
欢迎点赞,关注,转发,在看,您的每一次鼓励,都是我最大的动力!
汽车电子嵌入式
微信扫描二维码,关注我的公众号