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参考文献

load.asm 中的代码错误

在 load.asm 中,如果删除了以下红线,但保留了两条蓝线,则会导致器件持续复位,因为 r4 没有有效值。在这种情况下,器件会永久锁定,并且这 5 条线将完全删除或保留。

B_fast_interrupt
         .align 4
         .sect ".text"
             .state32
c_int00
;            B      c_int00 
             LDR          r13, c_sup_stack_top ; initialize supervisor stack pointer
;            LDR          r4,c_mfbalr1_half0 ;point r4 at program flash base address register
;            MOV          r0,#0x62 ;make block size 32K, address 0, read only
;            STRH   r0,[r4]; store it there
             LDR          r0,c_mfbalr2_half0_load ;set up data flash for write only
             STRH   r0,[r4,#8] ;put it into mfbalr2