文章目录
- 前言
- 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的用法,以及密码保护的使用