• Menu
  • Product
  • Email
  • PDF
  • Order now
  • Lockup Avoidance for UCD3138 Devices

    • SLUAAP5 july   2023 UCD3138 , UCD3138064 , UCD3138064A , UCD3138128 , UCD3138128A , UCD3138A , UCD3138A64

       

  • CONTENTS
  • SEARCH
  • Lockup Avoidance for UCD3138 Devices
  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Why Lockup Can Occur
  5. 2Reasons for Lockup
    1. 2.1 Wrong Code in the load.asm
    2. 2.2 Misoperation with TI GUI
    3. 2.3 zero_out_integrity_word Function Fails
    4. 2.4 PMBus Communication Fails
    5. 2.5 Unexpected Occurrences
  6. 3How to Avoid a Lockup
  7. 4Unlock with JTAG
    1. 4.1 Enable JTAG Functionality
    2. 4.2 New Target Configuration in CCS
    3. 4.3 Clear the Flash
  8. 5Summary
  9. 6References
  10. IMPORTANT NOTICE
search No matches found.
  • Full reading width
    • Full reading width
    • Comfortable reading width
    • Expanded reading width
  • Card for each section
  • Card with all content

 

Application Note

Lockup Avoidance for UCD3138 Devices

Abstract

Lockup occurs when a device can no longer be reprogrammed. Lockup can be caused by either an incorrect download process or firmware with bugs. This application note describes the possible reasons that can cause lockup in UCD3138 devices and ways to avoid lockup.

Trademarks

All trademarks are the property of their respective owners.

1 Why Lockup Can Occur

A lockup can occur when there is a valid checksum that cannot be cleared. Different UCD3138 devices have different numbers of checksum.

A UCD3138(A) device has one single block. There are two locations for checksum and each checksum is 4 bytes.

  • 0x7fc – boot checksum, sum of the pflash bytes from address 0 to 0x7fB
  • 0x7ffc – overall checksum for pflash, sum of the pflash bytes from address 0 to 0x7ffB

Figure 2-4 is a flowchart showing how UCD3138(A) ROM handles the checksum verification. Regardless of which two checksums is valid, a jump occurs to address 0 to execute code in pflash.

GUID-20230602-SS0I-PR03-9BWV-NGJDGLGTR474-low.svg Figure 1-1 Checksum Verification Flow Chart in UCD3138(A) ROM

A UCD3138064(A) device has block 1 and block 2. There are four locations for checksum and each checksum is 4 bytes.

  • 0x7fc – boot checksum for block 1, sum of the pflash bytes from address 0 to 0x7fB
  • 0x7ffc – overall checksum for block 1, sum of the pflash bytes from address 0 to 0x7ffB
  • 0x87fc – boot checksum for block 2, sum of the pflash bytes from address 0x8000 to 0x87fB
  • 0xfffc – overall checksum for the 64K program combining block 1 and 2, or for block 2 alone

Figure 1-2 is a flowchart showing how UCD3138064(A) ROM handles the checksum verification.

GUID-20230602-SS0I-DZ8J-NGXD-GGB7VLMSLMJB-low.svg Figure 1-2 Checksum Verification Flow Chart in UCD3138064(A) ROM

A UCD3138128(A) has block0, block1, block2, and block3. There are four locations for checksum and each checksum is 8 bytes.

  • 0x7f8 – boot checksum for block 0, sum of the pflash words from address 0 to 0x7f7
  • 0x7ff8 – overall checksum for block 0, sum of the pflash words from address 0 to 0x7ff7
  • 0xfff8 – overall checksum for the 64K program combining block 0 and 1, sum of the pflash words from address 0 to 0xfff7
  • 0x1fff8 – overall checksum for the 128K program, or the 64K program combining block 2 and 3

Figure 1-3 is a flowchart showing how UCD3138128(A) ROM handles the checksum verification.

GUID-20230602-SS0I-V52L-ZXVG-Z2XWW5WGSKLG-low.svg Figure 1-3 Checksum Verification Flow Chart in UCD3138128(A) ROM

 

Texas Instruments

© Copyright 1995-2025 Texas Instruments Incorporated. All rights reserved.
Submit documentation feedback | IMPORTANT NOTICE | Trademarks | Privacy policy | Cookie policy | Terms of use | Terms of sale