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.

MSP430FR5969: Device is rebooting itself

Part Number: MSP430FR5969

Hi ,

I am using MSP430FR5969 running with bootloader code and application code. I am facing the problem like sometimes device is rebooting itself without any manual interference. can anyone please suggest what may be the reasons to cause reboot and is any bits get sets when crash happens or how device reacts for the crash? 

  • Hi Sachin,

    The first thing I would investigate is the SYSRSTIV register. When the device resets, this register generates a value that can be used to identify the cause of reset.

    Also, when a device is resetting, be sure to probe VCC when the problem occurs to rule out any supply issues.

    Best regards,
    Caleb Overbay
  • Hi Caleb thanks for the replay..

    I am trying to read that register for more clarity. When i read the watchdog manual there is values for different divider select, i am not understanding its calculation. It is something like this, 

    000b = Watchdog clock source /(2 31 ) (18h:12m:16s at 32.768 kHz)
    001b = Watchdog clock source /(2 27 ) (01h:08m:16s at 32.768 kHz)
    010b = Watchdog clock source /(2 23 ) (00h:04m:16s at 32.768 kHz)
    011b = Watchdog clock source /(2 19 ) (00h:00m:16s at 32.768 kHz)
    100b = Watchdog clock source /(2 15 ) (1 s at 32.768 kHz)
    101b = Watchdog clock source /(2 13 ) (250 ms at 32.768 kHz)
    110b = Watchdog clock source /(2 9 ) (15.625 ms at 32.768 kHz)
    111b = Watchdog clock source /(2 6 ) (1.95 ms at 32.768 kHz)

    how we can achieve the timings 18:12:16 and so on.. 

  • Let's take the value for 100b - it is 250ms timeout when the watchdog is sourced with a clock frequency of 32.768kHz.

    It is calculated like this:

    1s is 32,768 clock cycles

    A divider of 2^13 means a divider of 8,192.

    This means that the reset occurs after 8,192 clock cycles which is 250ms because it is 1/4 of 32,768.

    So simply divide 1s / (32,768 / 2^n) which is the same as (32,768 / 2^n)^-1 or 2^n / 32,768

    For 000b this is

    2,147,483,648 / 32,768 = 65,536s

    and 65,536s are 18h, 12m and 16s

  • Hi Sachin,

    Do you still need help with this issue or did you find a solution you'd like to share?

    Best regards,
    Caleb Overbay
  • Thank you all

    Hi ,

    Issue was with RTC interrupt, in code there was soft reboot in RTC interrupt. I put logic for saving the logs wherever soft reboot is happening, finally found and fixed. 

**Attention** This is a public forum