Part Number: UCD3138064
Other Parts Discussed in Thread: UCD3138,
Hello TI Support,
We are reviewing the load.asm startup code in our UCD3138064 firmware.
The following three instructions are commented out:
; LDR r4, c_mfbalr1_half0
; MOV r0, #0x62
; STRH r0, [r4]
However, the following two instructions are still executed:
LDR r0, c_mfbalr2_half0_load
STRH r0, [r4,#8]
According to the TI application note “Avoiding UCD3138 Device Lockup” (SLUAAP5 / ZHCACU3), if the first three instructions are removed while the following two instructions are retained, r4 may not contain a valid value and the device may continuously reset. The document states that all five instructions should either be retained or removed together.
However, our UCD3138064 firmware can still run normally on a UCD3138064 device when the first three instructions are commented out.
In an additional test, when this UCD3138064 firmware was programmed into a UCD3138064A device, it could not reach main(). After uncommenting the first three instructions, the firmware could reach main().
Could you please help clarify the following questions?
-
Why can the UCD3138064 still run normally when the first three instructions are commented out?
-
For UCD3138064 firmware, is it safe and recommended to uncomment the first three instructions so that all five instructions are executed?
-
Alternatively, can all five instructions be removed or commented out? If so, under what conditions is this safe?
-
For firmware running from Program Flash Block 0, does TI recommend keeping all five instructions or removing all five?
-
Could uncommenting the first three instructions cause any functional or compatibility issue on UCD3138064?
Thank you.