0
点赞
收藏
分享

微信扫一扫

1526_AURIX TC275 BootROM下


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

1526_AURIX TC275 BootROM下_嵌入式

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

1526_AURIX TC275 BootROM下_TriCore_02

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

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

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

1526_AURIX TC275 BootROM下_单片机_03

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

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

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

1526_AURIX TC275 BootROM下_嵌入式_04

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

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

1526_AURIX TC275 BootROM下_TriCore_05

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

1526_AURIX TC275 BootROM下_AURIX_06

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

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

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

1526_AURIX TC275 BootROM下_TC275_07

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

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

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

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

1526_AURIX TC275 BootROM下_单片机_08

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

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

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

1526_AURIX TC275 BootROM下_TC275_09

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

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

1526_AURIX TC275 BootROM下_单片机_10

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

举报

相关推荐

0 条评论