• 1526_AURIX TC275 BootROM下


    全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com)

    这个是固件启动的流程介绍,在启动的过程中,HSM的RAM必然会被初始化掉。这个之前倒是没有注意到,HSM还是有专门的RAM的。自然,我自己接触到的MCU基本都是没这个模块的,这可能也是我忽略掉这样信息的一个惯性思维。

    1. 启动引导程序的通用模式,使用了一个ASC和CAN复用的收发管脚对儿。

    2. 看上去,一直觉得可能没什么用的HWCFG3可能是BMI的一个配置输入信息。

    3. 可以用HSM来保护用户代码,这样做到安全启动。

    1. 启动过程中,对于Flash的处理,首先得获取对其的控制,之后让Flash可读。后面,根据需要使能擦写功能。

    2. 在这里看到了一个chip ID的概念,不知道这个是否是做到了每一个MCU都不同。后面可以看看是否在用户软件中能够获取到,这样可以用两片MCU来做一个确认。

    3. 在调试的过程中有一个flash检查的过程,若果flash锁了是不支持调试的。

    1. MCU有一个芯片自毁功能,直接毁掉几个关键的核心模块。

    2. 启动软件会应道STM0定时器,主要是实现一个延时判断。

    只有在冷启动的上电过程中才能够进行锁步的控制。

    1. 引导加载程序不会判断超时,一直等到完成刷写流程为止。

    2. 波特率是根据内容来判断出来的,具体的软件设计不知道是一个什么过程,我倒是对此功能很感兴趣。

    3. 从最后一部分看,难道说这个引导加载程序只能够烧写RAM?这个跟之前接触的STM32的确是有很大的不同了。

    1. 引导加载程序的三种消息帧:初始化帧、确认帧、数据帧。

    2. 这里再次提到了波特率的计算获取,究竟是如何实现的呢?是硬件的一个基础功能还是软件判断?

    3. 从中间部分看,主要是判断了一些数据信息。由此,看高低电平的持续时间?

    4. 提到的几种ID也需要去确认下,没看到具体的定义。

    1. 从这个PIN脚的功能描述看,的确是跟前面猜测的一样,CAN和ASC是服用的。

    2. 关机请求的处理过程是由硬件实现的,所有的热启动都是要经过这个流程的。

    3. 不同的CPU的复位速度其实是不同的,虽然差异是一个us级别的差异,但是数据值上还是有很大的差异。

    1. 电流突降的时候EVR可能会有波动,这个波动没有说明一定会变小,可能大也可能小。这个主要是由于某些trap之类的处理可能会关闭很多功能导致的,保险起见,可以跳转到AFFFC020H这个地址保证功耗的平稳。

    2. OTGS的状态可以用来判断是否可以退出。

    standby在我自己的项目中可能用到的概率不大,这里介绍了一些操作的具体流程细节。加上前面描述的一些RAM的特殊处理,如果真正用到的话需要做一点注意。

  • 相关阅读:
    分布式光伏站远程监控组网解决方案
    【系统架构设计】 架构核心知识: 2 云原生架构
    11、Feign使用最佳实践
    QChart问题整理
    纳米软件介绍什么是LABVIEW?
    大数据管理系统架构Hadoop
    pip list导入与导出
    Spring AOP
    【小白刷leetcode】第15题
    利刃出鞘 | 从五大核心技术来看Bonree ONE 2.0的全球竞争力
  • 原文地址:https://blog.csdn.net/grey_csdn/article/details/127929166