全部学习汇总: GitHub - GreyZhang/g_TC275: happy hacking for TC275!
从今天开始看一个全新的模块介绍MTU,存储测试单元。
- TC275中所有的ECC、内置测试以及存储冗余等都有一个统一的接口规范。
- MTU负责管理所有的存储测试功能。
- MTU主要有两套寄存器,一套是配置寄存器,还有一套是存储控制器相关寄存器。前者用来控制自动检测功能的开或者管,后者则可以控制每一个模块的自检、冗余以及ECC处理。
- 安全其实分为信息安全和功能安全两部分,其中信息安全侧重于保证限制的模块不能够随意读或者写,而功能安全则是要保证限制的模块不能够随便篡改。TC275支持设计这两种安全模式的应用。
- RAM使用之前需要初始化,有些IP模块,复位的时候如果没有处理掉,在软件操作的时候必须注意初始化一下。
- 非信息安全的应用中,有一个寄存器可以设置RAM是否自动初始化。如果设置不自动初始化,那么MTU禁用或者是能的时候就不会对RAM进行初始化,可以支持存储的自检。
- 冷启动以及热启动是否进行RAM的初始化,这个是可以由PROCOND.RAMIN来进行设置的。
- 信息安全方面考虑,HSM以及FIS中与MTU相关的寄存器在启动之后都是不能够访问的 。
- 另外,所有的RAM ECC故障全都是汇报到SMU统一处理。
- 第一部分画出来的寄存器用来控制模块的是能或者禁用。
- 第二部分画出来的寄存器,用来实现模块的休眠以及唤醒。
- 关于MTU也是有一个版本信息可以查看的,这方面能够感受到AURIX MCU在设计上的细腻度。
- 前面看到了整个模块的势能,这里的分散势能是每一个独立的存储检测模块的检测功能的使能。
存储检测选中与否的映射信息使能,从编号上看,其实是跟前面的寄存器类似的,算是承接关系。前面介绍了前32个,这里增加了32个。
这是前面两页的延续,从编号的风格看,大概率是每一个CPU有一个对应的寄存器控制相应的选择使能。
这个寄存器用爱控制存储映射的使能。
这些寄存器状态位可以用来检查每一个MBIST控制器是否正在执行初始化序列。
这里的两组寄存器,其中一对儿是跟前面的信息有延续关系的,还有一个是预留的,更加没有分析的内容。
这样,MTU的第一次学习基本就到此结束了。看到的信息非常有限,而且只是科普性的并不是很实用。如果对未来学习的内容进行一个想象展望,我觉得首先要弄清楚这种存储自检究竟可以检查出来哪些异常?它的性能如何?检查是否会对系统性能或者功能带来什么影响?还有非常重要的一点,那就是如何来让他工作起来。这些,都是留待未来学习分析的了。