1、On Chip Bus Address Map of UCB

In TC3xx platform, UCB address is constant. Tables are below :





2、UCB_BMHDx_ORIG & UCB_BMHDx_COPY(x = 0-3)

2.1 x = 0



其中,BMI如下图,包含了模式选择引脚是否使能、启动区域、锁步核使能及SSW后的校验使能





对于启动地址没什么好讲的,这里重点提下CRC和CRC_N,举个例子方便理解,你现在定了BMI是0xFE,再加上固定格式的Header(0xB359),假定启动地址为0xA0000000,由于小端序的原因,在image文件内,应该如下图所示,CRC计算时,将小端序换成大端序来看,应该是B3 59 00 FE A0 00 00 00(hex),计算CRC32,得到31 79 55 70(hex);CRC_N用0xFF减去前面的字节,如0xFF - 0x31 = 0xCE,因此可以得到CE 86 AA 8F(hex)



PWx和CONFIRMATION一起讲,CONFIRMATION值如下图



根据ORIG和COPY不同的值,SSW会有不同的表现,具体见下表

PWx(0-7),可以用于设置密码,该密码用于UCB_BMHD0_ORIG和UCB_BMHD0_COPY的confirmed状态进行解锁,因为confirmed之后无法修改对应block的UCB,且password会在每次上电后随机变化,防止密码泄露;解锁可以使用Infineon官方提供的MemTool软件,具体方法见2.1.1

2.1.1 Passwords & UCBs

打开MemTool,Connect,从PLASH界面选择进入UCBs

如果之前刷的UCB里没有密码,这里创建密码,注意一定记好你的密码,不然如果confirmed之后就没法unlock了,创建完密码可以勾上Set UCB to confirmed state选项,这样block会被锁上,不允许更改;

写完毕后重新开下UCBs这个界面,可以看到IsConfirmed: y,如果想解锁,可以点击Disable lock按钮,输入密码后点ok即可,此时可以解锁完成,这时点下Erase configuration按钮,清空该UCB即可,退出后再更新UCB即可。

2.2 x=1-3

该部分没有Passwords部分,其他的与x=0差不多,注意由于没有密码, confirmed状态不可逆



Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐