全部学习汇总: 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上相关推荐

  1. 1526_AURIX TC275 BootROM下

    全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 这个是固件启动的流程介绍,在启动的过程中,HSM的RAM必然会被初始化 ...

  2. moveit配置机械臂(zhuan zai)

    一.准备模型 下载地址:https://download.csdn.net/download/weixin_37663721/36066113 二.初始化机械臂 0.启动moveit初始化助手 ros ...

  3. 苹果史诗级硬件漏洞 iOS 可永久越狱并且无法修复

    一名安全研究人员在Twitter上发布了的一个iOS漏洞,可导致iPhone4s(A5) 到 iPhoneX(A11) 所有版本永久都可以越狱,还包括 iPad.iPod 所有使用了A5-A11处理器 ...

  4. imx6ull-qemu 裸机教程1:GPIO,IOMUX,I2C

    无意间搜到了韦东山老师的6ul网站,上面有一个6ul的qemu仿真器,下载下来用了用,非常好用,有UI,比原装的qemu-system-arm提供的6ul开发板多了很多功能. 下面贴出的就是韦东山老师 ...

  5. 万变不离其宗之ZYNQ启动介绍

    1.概述 ZYNQ 的详细介绍参考 XILINX 官方文档 UG585,在了解了 ZYNQ 的基本架构组成和丰富的资源后,下一步便是分析他的启动流程,以便更好的认识 ZYNQ 并开始开发工作: 关于 ...

  6. 无盘系统工作原理详解

    总的来说,无盘工作站都是由网卡的启动芯片(Boot ROM)以不同的形式向服务器发出启动请求号,服务器收到后,根据不同的机制,向工作站发送启动数据,工作站下载完启动数据后,系统控制权由Boot ROM ...

  7. 关于Mongodb的全面总结,学习mongodb的人,可以从这里开始!

    转载地址:http://blog.csdn.net/he90227/article/details/45674513 原文地址:http://blog.csdn.NET/jakenson/articl ...

  8. VxWorks在zynq7020上bootrom

    VxWorks在zynq7020上的bootrom 环境 步骤 1 .获取bootgen工具 2. 获取First Stage BootLoader(FSBL) elf文件 3..创建bootrom. ...

  9. 史上最强iPhone越狱工具诞生,而且是开源!

    源 / 开源最前线 前不久,一位名为Axi0mx的开发人员发布了一个名为Checkm8的iPhone破解程序,而且是开源的. Checkm8利用iOS原始代码中Bootrom代码的漏洞,这一漏洞在20 ...

最新文章

  1. Nginx模块开发中使用PCRE正则表达式匹配
  2. 服务器mtf路径文件损坏,来自节点 js 服务器的错误但不指向任何特定文件
  3. 科学计算机怎么编程游戏,官泄 可编程科学计算器开发游戏
  4. 036、JVM实战总结:糟糕!运行着的线上系统突然卡死无法访问,万恶的JVM GC!
  5. 疯狂程序员网址。。。
  6. 【关于我】一个专注于嵌入式物联网架构设计的攻城狮
  7. 使用Python-OpenCV将图片批量转换为jpg格式
  8. mysql where clause is ambiguous_mysql …in where clause is ambiguous
  9. JS——正则校验域名
  10. uis向3d投影全息界面的连续演化。
  11. sql之conver函数的使用
  12. Linux下四款Web服务器压力测试工具…
  13. mysql 从库跳过1062_3分钟解决MySQL 1062 主从错误
  14. Scroller的用法和一些理解
  15. 人体的矢状面,冠状面,以及水平面,你懂吗?
  16. [picoCTF]Scavenger Hunt write up
  17. 爸妈,对不起,那不是我本意
  18. 大二上学期计算机学什么,大二上学期学习计划
  19. WebRTC源码分析-呼叫建立过程之五(创建Offer,CreateOffer,上篇)
  20. 爬虫(24)Scrapy练习 苏宁图书案例

热门文章

  1. 4.4亿赎金,6800GB数据窃取,勒索病毒攻击到底怎么防?
  2. 数字图像处理(1)——绪论
  3. Oracle性能优化专题
  4. python中的traceback
  5. Array.of()
  6. 【Docker】win7安装docker及镜像加速
  7. A. Greatest Convex
  8. Linux的bind服务
  9. 输油管道问题(分治法)
  10. 2021 Python入门资料汇总