目录
1 内部调试保护概述
2 UCB confirmation
AURIXTM 设备提供多个安全保护层,以限制调试器访问整个微控制器。
保护层的配置基于用户配置块 UCB,存在于DFlash上(DF_UCB)。UCB 包含保护设置参数和其他可由用户配置的参数。
DF_UCB包含16个逻辑扇区,UCB0到UCB15,每1Kbyte。在PMU0的地址映射中,DF_UCB从地址0xAF10_0000开始,大小为16Kbyte。如下为PMU0的地址映射:
下图为DF_UCB 扇区结构的详细视图,以及16个UCB。
UCB配置的有效保护,取决于 PROCONx 寄存器的内容。PROCONx 寄存器位于PMU0的FLASH0 模块中,从地址 0xF800 2020 开始。PROCONx 寄存器在每次复位后的启动期间从 UCB 位置加载。
此文章,仅讨论 UCB_HSM 和 UCB_HSMCOTP,它们是锁定对 HSM 的调试访问和保护 HSM Flash免受 TriCore™ 访问所需的唯一寄存器。
1 内部调试保护概述
编号为“2”和“3”的开关由HSM直接控制。通过这两个开关,HSM可以锁定对主机CPU 的调试访问,还可以禁用对HSM本身的调试支持。锁定机制由UCB_HSM控制。
2 UCB confirmation
UCB有以下三种状态:confirmed / unlocked / errored。这些状态由confirmed code决定:
- 0x57B5_327F = the state is “confirmed”
- 0x4321_1234 = the state is “unlocked”.
- 所有其他内容,包括不可纠正的 ECC 错误:状态为“errored”。
如果在评估 UCB 期间检测到错误状态,则设置标志 FSR.PROER。与错误状态下的 UCB 关联的 PROCONx 寄存器相关的所有保护都被完全激活。 在启动期间,启动软件SSW检测到的错误, UCB被认为是Flash启动失败,因此 SSW 不会启动设备。
由于擦除状态也被视为“错误”,因此可以在不擦除 UCB 的情况下完成从“解锁”状态到“确认”状态的转换。 为此,带有确认码的页面中的“解锁”码(0x43211234)和复制的确认码可以用“确认”码(0x57B5327F)覆盖。
=>总目录<=