ZHCACU3 july   2023 UCD3138 , UCD3138064 , UCD3138064A , UCD3138128 , UCD3138128A , UCD3138A , UCD3138A64

 

  1.   1
  2.   摘要
  3.   商标
  4. 1为何会发生锁定
  5. 2锁定的原因
    1. 2.1 load.asm 中的代码错误
    2. 2.2 TI GUI 误操作
    3. 2.3 zero_out_integrity_word 函数失败
    4. 2.4 PMBus 通信失败
    5. 2.5 意外情况
  6. 3如何避免锁定
  7. 4使用 JTAG 解锁
    1. 4.1 启用 JTAG 功能
    2. 4.2 CCS 中的新目标配置
    3. 4.3 清除闪存
  8. 5总结
  9. 6参考文献

为何会发生锁定

当存在无法清除的有效校验和时,可能会发生锁定。不同的 UCD3138 器件具有不同数量的校验和。

UCD3138(A) 器件具有单个块。校验和有两个位置,每个校验和为 4 个字节。

  • 0x7fc - 引导校验和,即从地址 0 到 0x7fB 的 pflash 字节之和
  • 0x7ffc - pflash 总体校验和,即从地址 0 到 0x7ffB 的 pflash 字节之和

图 2-4 是显示 UCD3138(A) ROM 如何处理校验和验证的流程图。只要两个校验和中有一个有效,就会跳转到地址 0 来执行 pflash 中的代码。

GUID-20230602-SS0I-PR03-9BWV-NGJDGLGTR474-low.svg图 1-1 UCD3138(A) ROM 中的校验和验证流程图

UCD3138064(A) 器件具有块 1 和块 2。校验和有四个位置,每个校验和为 4 个字节。

  • 0x7fc - 块 1 引导校验和,即从地址 0 到 0x7fB 的 pflash 字节之和
  • 0x7ffc - 块 1 总体校验和,即从地址 0 到 0x7ffB 的 pflash 字节之和
  • 0x87fc - 块 2 引导校验和,即从地址 0x8000 到 0x87fB 的 pflash 字节之和
  • 0xfffc - 组合块 1 和块 2 的 64K 程序总体校验和,或仅块 2 的总体校验和

图 1-2 是显示 UCD3138064(A) ROM 如何处理校验和验证的流程图。

GUID-20230602-SS0I-DZ8J-NGXD-GGB7VLMSLMJB-low.svg图 1-2 UCD3138064(A) ROM 中的校验和验证流程图

UCD3138128(A) 具有块 0、块 1、块 2 和块 3。校验和有四个位置,每个校验和为 8 个字节。

  • 0x7f8 - 块 0 引导校验和,即从地址 0 到 0x7f7 的 pflash 字之和
  • 0x7ff8 - 块 0 总体校验和,即从地址 0 到 0x7ff7 的 pflash 字之和
  • 0xfff8 - 组合块 0 和块 1 的 64K 程序总体校验和,即从地址 0 到 0xfff7 的 pflash 字之和
  • 0x1fff8 - 128K 程序总体校验和,或组合块 2 和块 3 的 64K 程序总体校验和

图 1-3 是显示 UCD3138128(A) ROM 如何处理校验和验证的流程图。

GUID-20230602-SS0I-V52L-ZXVG-Z2XWW5WGSKLG-low.svg图 1-3 UCD3138128(A) ROM 中的校验和验证流程图