当前位置: 首页 > news >正文

TC3xx学习笔记-UCB BMHD使用详解(一)

文章目录

    • 前言
    • UCB BMHD
      • PINDIS
      • HWCFG
      • LSENA0-3
      • LBISTENA
      • CHSWENA
      • BMHDID
      • STAD
      • CRCBMHD
      • CRCBMHD_N
      • PW0-7
    • 总结

前言

AURIX Tc系列Mcu启动过程,必须要了解BMHD,本文详细介绍BMHD的定义及使用过程

UCB BMHD

UCB表示User Configuration Block,UCB是Dflash,存储的地址如下:
在这里插入图片描述

BMHD表示Boot Mode Headers.BMHD存储在UCBU的前四个block(还有四个copy的block在8-11个block)

BMHD0和BMHD8有密码,BMHD1-3,UCB09, UCB10, UCB11没有密码

BMHD定义如下:
在这里插入图片描述
在这里插入图片描述

PINDIS

按配置引脚选择模式:

0B启用HWCFG引脚选择模式功能

1B禁用HWCFG引脚选择模式功能

这个功能是用来禁止硬件PIN(HWCFG)来选择启动模式的

HWCFG

启动模式选择:

111B内部从Flash启动

110B备用启动模式(ABM)

100B通用引导加载模式(ASC/CAN BSL)

011BASC Bootstrap Loader Mode (ASC BSL) elseinvalid

如果禁用了HWCFG PIN启动,则只能通过配置HWCFG位来选择启动模式

LSENA0-3

通过SSW对CPU0进行同步监控控制:

0B关闭CPU0-3的Lockstep监控

1B开启CPU0-3的blockstep监控

LBISTENA

LBIST执行由SSW启动:

0B禁用由SSW启动LBIST

1B启用冷上电SSW启动LBIST

该BIT是为了启动时SSW禁用LBIST

CHSWENA

检查软件(CHSW)执行后的SSW:

101B关闭SSW后的CHSW执行

否则开启SSW后的CHSW执行

该BIT是为了启动时SSW禁用CHSW

BMHDID

固定0xB359,其他值无效

STAD

起始地址(总是必须在PFLASH内部, 32bit对齐):

如果选择了备用启动模式,则该地址为ABM头的起始地址

如果选择了内部flash启动,则该地址为内部启动的起始地址

否则则不考虑模式选择

CRCBMHD

前8个字节的CRC

CRCBMHD_N

前8个字节的CRC反转值

CRC的计算方法如下:

Use CRC32

A polynomial of: 0x4C11DB7

Initial value: 0xFFFFFFFF

Final XOR Value: 0xFFFFFFFF (for non inverted CRC)

Final XOR Value: 0x00000000 (for inverted CRC)

可以使用CRC计算中的工具计算

当起始地址为0xA00A0020时,对应的CRC值为0x4FB4A033ul, 0xB04B5FCCul
在这里插入图片描述
在这里插入图片描述

PW0-7

保护UCB的密码,如果写入了值,并通过CONFIRMATION写入了使能保护,则修改UCB时需要输入密码

DMU_HF_PROTECT.PRODISx可以指示禁用保护的状态,为1时说明是禁用保护的状态
在这里插入图片描述
解锁方法如下:
对同一个地址写不同的值,第一次为UC,第二次为PW0,第三次为PW1.。。以此类推
在这里插入图片描述
在这里插入图片描述

总结

本文介绍了BMHD的定义,后面还会继续介绍BMHD的ORIGIN和COPY的用法,以及密码保护的使用

相关文章:

  • 如何给GitHub项目提PR(踩坑记录
  • 【Linux网络】构建HTTP响应与请求处理系统 - HttpResponse从理解到实现
  • 目标检测原理简介
  • Linux系统编程之内存映射
  • AI编程方法第六弹:高效编码离不开编程者经验引导
  • 设计看似完美却测不过? Intra-Pair Skew 是「讯号完整性(Signal Integrity)」里最隐形的杀手
  • venv环境基础指令以及常见问题汇总(持续更新)
  • 《AI大模型趣味实战》智能Agent和MCP协议的应用实例:搭建一个能阅读DOC文件并实时显示润色改写过程的Python Flask应用
  • WPF之项目创建
  • Rule.resource作用说明
  • 安装docker,在docker上安装mysql,docker上安装nginx
  • 微信小程序,基于uni-app的轮播图制作,调用文件中图片
  • 加里·基尔代尔:CP/M之父与个人计算时代的先驱
  • 线程池(六):ThreadLocal相关知识详解
  • 移除元素(简单)
  • 游戏引擎学习第246天:将 Worker 上下文移到主线程创建
  • C语言中结构体的字节对齐的应用
  • WPF与C++ 动态库交互
  • 【网络安全】用 Linux 命令行 CLI 日志文件处理指南
  • 在springboot项目中,如何进行excel表格的导入导出功能?
  • IPO周报|4月最后2只新股周一申购,今年以来最低价股来了
  • 王文涛会见德国汽车工业协会主席穆勒
  • 理想汽车副总裁刘杰:不要被竞争牵着鼻子走,也不迷信护城河
  • 潘功胜在美谈关税:吁全球经济勿滑向“高摩擦、低信任”轨道
  • “全国十大考古”揭晓:盘龙城遗址、周原遗址入围
  • 山西国道塌方致55岁货车司机死亡,女儿:货车的车贷还要还