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.

system reset serval times by itself in main()

Other Parts Discussed in Thread: TM4C1231H6PM

Hi,

I met this reset problem on my project.  And I attached JTAG to dig the issue, I found it always got break in _TI_decompress_rle and _TI_zero_init. I also searched the solution in the forum and I guess the issue can be solved by disable watchdog before main(), just like this post:http://e2e.ti.com/support/development_tools/compiler/f/343/p/162429/595497.aspx#595497

But this post is for MSP430, my project is on TM4C1231H6PM. I can't find  pre_init.c in the compiler lib.

So my question is how to disable watchdog before main() on TM4C1231H6PM.

 

thanks

Gavin

  • Hi Gavin,

         Alternatively post this at Tiva ARM Forum. So, you can get more expert advice. Provide all necessary details.

         Other factors could be causing this system reset. 

    - kel

  • Hello Gavin,

    On TM4C devices, the watchdog does not run by default (unlike MSP430). If you have enabled the Watchdog in the SW Code, then the simplest thing to perform is disable the clock by using the API SysCtlPeripheralDisable from the TIVAWare Library

    Regards

    Amit

  • Hi Amit

    Actually, I don't enable watchdog in SW code. Whether it implies that this issue is not caused by watchdog?

    thanks

    Gavin

  • Hello Gavin,

    No. If the Watchdog on TM4C devices is not enabled by SW, then it will remain disabled. So defintely this is not the cause of reset.

    There is a register in the device called SYSCTL.RESC at address 0x400FE05C, you may have to check the content of this register if the RESC is an internal source.

    Also how do you know that it gets reset multiple times? Debugger connection lost? If yes, then do check the VDD supply needs to be a stable 3.3V on the LaunchPad and VDDC 1.2V

    Regards

    Amit

  • Hi Amit

    I will check your suggestion.

    But how is system getting break at _TI_zero_init? Any suggestion?

    thanks
    Gavin

  • Hi Amit

    I check content of SYSCTL.RESC, and I get two results.

    1. normal bootup - SYSCTL.RESC:0x2 (power-on reset)

    2. system get break at _TI_zero_init - SYSCTL.RESC:0x6 (power-on reset and brown-out reset).

    Does that make sense?

    BTW, answer your previous question: how do I know system reset?

    I had one LED on when system init. I saw LED on/off several times. So I knew system got reset.

    thanks
    Gavin

  • Hello Gavin,

    Brown Out is the condition when the voltage drops below the minimum VDD requirement but not enough to cause the device to stop working. In other words, it is an indicator of the power suplly being unstable.

    How are you providing the VDD Supply to the TM4C device. Also are there multiple devices connected to the same VDD supply, such that the current requirement of the device is causing the external regulator to droop?

    Regards

    Amit

  • Hi Amit

    Yes, just like your comment, this issue is caused by the unstable current.

    I also have cc3000 on my board and I use power supplier to provide VDD for all devices.

    After increasing the current, this issue can be fixed.

    thanks for your clarifying.

    Gavin