全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com)
这是上一部分没有看完的CCU的核心寄存器的存储映射信息,只是一个汇总,没有需要着重处理的分析点。
复位控制单元涉及到的几个大功能:基本复位、外部复位、软件Boot支持以及NMI trap生成。
1. 冷复位以及热复位都有好几种,调试复位属于特殊的复位类型。
2. 复位类型包括:上电复位、系统复位、调试复位、应用复位、模块复位。其中,应用复位的过程中,SCU的模块只有一部分复位。
从这个表格可以看的出来,几种复位可能是同时发生的。或者换另一个描述:一种复位的产生可能伴随着其他种类的复位。
1. 在热复位的过程中,PIN的状态变化是立即相应的。但是内部的电路复位需要等存储以及trace的数据能够达到一个稳态后再进行。
2. PORST的PIN脚可以延长复位的时间。
这一页的信息可以不用深入细看,如果遇到了复位情况后查找原因的时候再回过头来查。
1. 大部分的复位行为选择其中的一种复位类型来响应,但是什么都不做也是一种合理的相应方式。
2. RCU检测到不同复位请求,之后调度系统关机,生成不同的内部复位脉冲。
TOUTCNT,关机以及复位延迟超时计数器。这个计数器决定的时间其实是用于让内部系统进入到idle的状态。
1. 复位控制寄存器2可以用来判断上次复位前是否成功写入了存储,这个状态可以用来作为存储完整性的一个判定条件。
2. 有几个调试以及电源相关的复位是不可以由用户关闭或者开启的。
3. 可配置复位触发,什么类型的复位行为是可以配置的。
4. 默认的固件行为:复位后看门狗触发NMI以及应用复位。如果两次看门狗超时,之后无法再启动。
1. 如果是非预期的永久复位,可以通过清除故障标志来防止。
2. 如果OCDS禁用了,应用复位的时候也会伴随着一个调试复位。
3. 有复位功能的模块一般都是有ENDINIT保护的。接着,给出来了一个具有复位功能的模块列表,表格没有全部列全,留待后续的学习处理。