This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Hercules and TPS65381, stuck in Safe Mode

Other Parts Discussed in Thread: TMS5700332

I'm using a Hercules TMS5700332 and the TPS65381 watchdog. Using the SafeTI Diag library V 2.2.0. I make the call to TPS_DriverInit and this code gets stuck in an infinite loop

while (TPS_DEVICE_DIAGNOSTIC != u8tps_device_state)
{
      blRetVal = TPS_GetCurrentTPSDeviceState(&u8tps_device_state);
}

I'm testing this in debug mode in CCS and I understand that perhaps I'm taking longer than 600ms to get to the Active state. But I'm surprised I never get out of safe mode (TPS_DEVICE_SAFE). Looking at the TPS device State Diagram on page 72 of the spec sheet it looks like after entering safe state it should exit if DEV_ERR_CNT <> SAFE_LOCK_THR + 1,  I verified this is true in my case. I also looked at the ABIST and LBIST results and they passed.

Is it right that I will not be able to transition out of safe mode if I miss that 600 ms timeout window? I'm currently not configuring the tps device in the bootloader so maybe I need to in order to ensure I get to the Active state in less than 600ms?

  • Hi Mike,

    I should probably move this to the TPS65381 (Automotive) forum but looking at the same state diagram on page 72, it seems the path from Safe to Active takes you through reset. That would mean resetting the MCU and doing whatever is done in your bootloader again. So if your bootloader misses the critical timeout period I don't know how you'd get out of this 'loop'.