1525_AURIX TC275 BootROM上
全部学习汇总: 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梳理暂且到此,看了一下大概的章节内容信息,下一次应该能够把这个章节大概看完。
1525_AURIX TC275 BootROM上相关推荐
- 1526_AURIX TC275 BootROM下
全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 这个是固件启动的流程介绍,在启动的过程中,HSM的RAM必然会被初始化 ...
- moveit配置机械臂(zhuan zai)
一.准备模型 下载地址:https://download.csdn.net/download/weixin_37663721/36066113 二.初始化机械臂 0.启动moveit初始化助手 ros ...
- 苹果史诗级硬件漏洞 iOS 可永久越狱并且无法修复
一名安全研究人员在Twitter上发布了的一个iOS漏洞,可导致iPhone4s(A5) 到 iPhoneX(A11) 所有版本永久都可以越狱,还包括 iPad.iPod 所有使用了A5-A11处理器 ...
- imx6ull-qemu 裸机教程1:GPIO,IOMUX,I2C
无意间搜到了韦东山老师的6ul网站,上面有一个6ul的qemu仿真器,下载下来用了用,非常好用,有UI,比原装的qemu-system-arm提供的6ul开发板多了很多功能. 下面贴出的就是韦东山老师 ...
- 万变不离其宗之ZYNQ启动介绍
1.概述 ZYNQ 的详细介绍参考 XILINX 官方文档 UG585,在了解了 ZYNQ 的基本架构组成和丰富的资源后,下一步便是分析他的启动流程,以便更好的认识 ZYNQ 并开始开发工作: 关于 ...
- 无盘系统工作原理详解
总的来说,无盘工作站都是由网卡的启动芯片(Boot ROM)以不同的形式向服务器发出启动请求号,服务器收到后,根据不同的机制,向工作站发送启动数据,工作站下载完启动数据后,系统控制权由Boot ROM ...
- 关于Mongodb的全面总结,学习mongodb的人,可以从这里开始!
转载地址:http://blog.csdn.net/he90227/article/details/45674513 原文地址:http://blog.csdn.NET/jakenson/articl ...
- VxWorks在zynq7020上bootrom
VxWorks在zynq7020上的bootrom 环境 步骤 1 .获取bootgen工具 2. 获取First Stage BootLoader(FSBL) elf文件 3..创建bootrom. ...
- 史上最强iPhone越狱工具诞生,而且是开源!
源 / 开源最前线 前不久,一位名为Axi0mx的开发人员发布了一个名为Checkm8的iPhone破解程序,而且是开源的. Checkm8利用iOS原始代码中Bootrom代码的漏洞,这一漏洞在20 ...
最新文章
- Nginx模块开发中使用PCRE正则表达式匹配
- 服务器mtf路径文件损坏,来自节点 js 服务器的错误但不指向任何特定文件
- 科学计算机怎么编程游戏,官泄 可编程科学计算器开发游戏
- 036、JVM实战总结:糟糕!运行着的线上系统突然卡死无法访问,万恶的JVM GC!
- 疯狂程序员网址。。。
- 【关于我】一个专注于嵌入式物联网架构设计的攻城狮
- 使用Python-OpenCV将图片批量转换为jpg格式
- mysql where clause is ambiguous_mysql …in where clause is ambiguous
- JS——正则校验域名
- uis向3d投影全息界面的连续演化。
- sql之conver函数的使用
- Linux下四款Web服务器压力测试工具…
- mysql 从库跳过1062_3分钟解决MySQL 1062 主从错误
- Scroller的用法和一些理解
- 人体的矢状面,冠状面,以及水平面,你懂吗?
- [picoCTF]Scavenger Hunt write up
- 爸妈,对不起,那不是我本意
- 大二上学期计算机学什么,大二上学期学习计划
- WebRTC源码分析-呼叫建立过程之五(创建Offer,CreateOffer,上篇)
- 爬虫(24)Scrapy练习 苏宁图书案例