1525_AURIX TC275 BootROM上
创始人
2024-04-09 14:10:17
0次

全部学习汇总: GitHub - GreyZhang/g_TC275: happy hacking for TC275!

这一次看一个全新的章节,BootROM,这是我之前只听过但是没有接触过的一个功能。

1. BootROM包含的三个主要的功能:启动软件、引导加载程序、测试固件。

2. 启动代码只会在CPU0上运行,其他的CPU都会停止。在MCU的硬件设计上会确保PC在复位的时候指向这个位置。

3. 启动代码的最后一条指令会检查是否是测试模式,如果是的话会跳转到测试固件。

4. 启动代码会判断不同的触发事件,一次来执行不同的流程。

5. Flash的读取其实也是需要初始化的,这个在开发习以为常之后可能会被忽略掉。

1. 相比其他的复位事件,上电复位是最为繁琐的,因为处理的内容最多。所有的相关功能都需要进行一次处理。

2. 相比于上电复位,热启动少了RAM初始化的过程,因此速度会快一些。这个启动的过程中会检查一些EVR之类的供电是否正常之类的条件。热启动的几种触发方式:看门狗等内部硬件、复位PIN等外部部件、软件触发。

3. 还有一种复位方式是应用复位,触发方式跟热启动相似,但是这个触发模式是什么呢?

1. CPU0的DSPR比较特殊,因为可能会被BootROM给覆盖掉,因此在使用的时候需要专门注意。

2. standby的模式处理有一个很明确的流程需要注意,这一个在用到的时候需要仔细排查。

1. 用户软件的启动地址是固定的,这个是从A0000020H这个内部flash地址开启的。

2. 引导加载模式支持ASC和CAN两种模式,还有一种通用模式可以兼容2个进行选择。而两个模式正好使用了ASC和CAN公用复用功能的管脚。

3. ABM,选择启动模式。可以让用户选择自己的软件的启动地址。看起来,这个可能是APP脱离BootLoader依然可以继续进行独立启动的一个实现方式。

UCB可以实现启动锁定,这样前面的引导加载程序应该就无效了。

1. 启动模式的Header是一个固定值。

2. 软件的有效性有一个CRC校验,前面的8个字节计算出来的结果写入到第18个地址偏移位置上去。理解上,这个应该由编译器来实现的一种行为。

启动模式的选择有一套固定的流程,文字描述有时候会比较繁琐难懂。通过这种流程图的方式能够很容易看懂相应的过程。

这个流程图是启动模式Header中的一个模式选择。

这是对HWCFG配置进行的一个详细说明,之前看DS的时候也看到了,但是没有看到这样的准确描述。从描述看,HWCFG[3]似乎是没有什么用的。而启动,可以有4种启动的模式可以选择。

这里看到一个很值得注意的一个功能,那就是锁步功能的开启其实是在BootROM中的。

MCU有时钟的旁通模式,这个也是在BootROM中配置的。

ESR0是一个专门的硬件针脚,主要是提供外部复位请求用的。

这一次的BootROM梳理暂且到此,看了一下大概的章节内容信息,下一次应该能够把这个章节大概看完。

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...