We are still investigating about the MCU continuously held in reset state.
Found in actual using field
(etimated 14 device of some thousand devices)
it important symptom below.
- Reset pin voltage is high (3.3 V)
- PMMCOREV pin 1.42 V (level 0 AM)
- Reset pin cannot reset the reset the device
- Cannot use JTAG debugger communicate communicated to the MCU
- Power consumption is AUXVCC1 is 0.7 mA
Now, this problem with actual code cannot reproduce in lab.
actual code
int system_pre_init(void) { __disable_interrupt(); WDTCTL = WDTPW+WDTHOLD; SFRRPCR = SYSNMI | SYSNMIIES | SYSRSTRE; /* Return value: * 1 - Perform data segment initialization. * 0 - Skip data segment initialization. */ return 1; }
but with modify code(the PMM26 condition), we can make it the same symptom.
int system_pre_init(void) { __disable_interrupt(); WDTCTL = WDTPW+WDTHOLD; // Try PMM26 PMMCTL0_H = PMMPW_H; // timing count x 2 cycles // 1 us x 2 x timing count // e.g. 250000 = 500000 us while(count--) { PMMCTL1 = 0x0000; SVSMHCTL = 0x4713; // SVMHE = 0b1 (SVM high-side enable) // SVSHE = 0b1 (SVS high-side enable) // SVSHRVL = 0b11 (SVS high-side reset voltage level 2.16 V) // SVSMHRRL = 0b011 (SVS high-side release voltage level 2.25 V) } SFRRPCR = SYSNMI | SYSNMIIES | SYSRSTRE; /* Return value: * 1 - Perform data segment initialization. * 0 - Skip data segment initialization. */ return 1; }
Is there other errata with same this symptom (the device will stop code
execution and is continuously held in reset state. RST pin is no longer functional. The only
way to come out of the lock-up situation is a power cycle)?
Why with PMM26 when using debugger communicate to the device, it show "the debug interface to the device has been secured".