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.

TM4C1294NCPDT freezing and external RESET does not work

Hi

I am experiencing an abnormal behaviour in my TM4C1294XL board.

Running under TI-RTOS, suddenly, some tasks freezes. The majority continues to run normally. Interrupts that I am using does not run, apparently.

But, if I try to reset, using the button RESET ( hardware reset ), it does not completely reset the processor. All tasks are stopped, but, the processor does not initialize ( no boot ). This occurs only if I disconnect the power of the board and power it on again.

I wonder that a hardware reset has absolute control over the processor along any other situation ( software ). Or not? I mean, is there a way to block the hardware reset?

Any advice will be welcome.

Thanks,

Sergio

  • Hello Sergio

    The hardware reset shall reset the device including the processor. Now can you reliably reproduce the issue after the first RESET pin press?

    Is there external memory or ethernet being involved?

    Regards
    Amit
  • Hi Amit

    In this case, I am using the TM4C1294XL board. There is no external memory, only the internals. Yes, I am using ethernet, with UDP protocol.

    This issue occurred 2 times, one at last friday, one today, few minutes ago. It is random.

    Interesting is that, our custom board using the same TM4C1294NCDPT processor, does not have this issue. It is operating with the same firmware and is stable for a long time.

    Perhaps, as this XL board does not have the same protections against AC noises as our custom board ( XL it is powered from the USB cable ), some AC net disturb could be inducing this issue. I need to do more tests, to have more information about.

    Anyway, if the hardware reset must reset the processor, some kind of external interference must be blocking internal hardware parts ( reset circuitry ) of TM4C1294NCDPT processor, don't you agree?

    Sergio
  • Hello Sergio,

    There are potential reset places.

    1. Power Supply
    2. Pad Reset

    If the former has caused an issue the latter will recover the device. But what it may not recover is anything else connected to the same power rail like an external device which does not have reset, causing the TM4C129x not to communicate and hang in the code some place. This can be isolated only with a debug connect.

    Regards
    Amit
  • Hi Amit

    What is strange, is that after the issue (some tasks freezes), the reset button does not cause the processor to reboot. There is no external connection to the reset circuitry of the board, only the original circuitry.

    But, I have a very crowded ethernet net here in my lab, with ethernet cables crossing with power lines cords, so, spurious noises can be induced in ethernet cable, for sure.

    Occurred me now, that, this noise can disturb the boot circuitry also, so, the processor could be trying to boot from another device, from USB for example and ignoring the firmware in flash. This could explain why I can't boot and only after power cycling.

    So, let me do more tests to have more information.

    Thank you Amit.

    Sergio
  • Hello Sergio,

    What it may be affecting more is the data being sent to the device.

    Regards
    Amit
  • Hi Amit

    What do you mean for "is the data being sent to the device"?

    Is it possible to block processor hardware reset programmatically?

    I agree that we can freeze tasks when we do an overflow in memory or stack, but, what I don't understand is why is the hardware reset being blocked in some way. Hardware reset, in my point of view, has precedence over someone else on the hardware, otherwise, why to have watchdog? Oh, in time, watchdog it is not running also.

    Maybe the real issue is the way the processor is trying to boot when I press the reset button. If the boot circuitry is affected, it could be trying to direct to boot to another way but flash ( my firmware ). The fact is, I can boot from flash only if I power cycle the board.

    I am doing more tests no collect more information.

    Thanks,

    Sergio
  • Sergio Kamakura said:
    Is it possible to block processor hardware reset programmatically?  

    Clients of ours - on rare occasions - have reported similarly.   Here's what has (sometimes) provided relief:

    • Are the pull-up resistor and bypass capacitor - associated w/MCU Reset - of proper value & installed close to the MCU's reset pin?
    • Have you measured this Reset pin voltage - with and without - Reset Switch activation?   Does the voltage drop far enough - and remain low long enough - so that a "real" HW reset is "felt" by the MCU?
    • Is your MCU adequately powered - at all times - especially during & upon exiting from reset?
    • Does your code - upon exiting Reset - properly & gracefully provide all MCU "housekeeping" & only then awake key MCU peripherals?

    While unwanted - this "discovery" is far better being detected "now" - rather than later.   (i.e. at a client's)   Checklist provided should add insight to your investigation...  (as described - issue has the earmarks of, "Incomplete (i.e. too brief and/or inadequate) HW Reset"...)

  • Hello Sergio,

    The affect of a reset can be changed using the RESBEHAVCTL register. However a Pad reset cannot be eliminated as source of reset.

    Potentially there could be an IO latch up that a power on can recover. Is the device over heating?

    Regards
    Amit
  • Hi Amit

    No, it is not over heating. I don't have a thermometer here, but, using my finger, I estimate a temperature of 40 degrees Celsius, at maximum.

    Attempting to CB1 explanation, regarding RESET pin, I remembered that I have the JTAG connected in it ( from ICDI ) and, I have an unstable behaviour of ICDI inerface when debugging with CCS at long term. ICDI disconnects from CCS (CCS complains that lost communication with ICDI). This is the reason why I give up to use CCS to debug my firmware in long periods, only in short tests. I discovered that ICDI doesn't like USB HUBs. With HUBs, it is absolutely impossible to manage with confidence a debug session with ICDI, even a simple flash programming. Actually, I only use ICDI connected directly to USB port.

    As I said in the beginning, we have 2 custom board operating normally, without interruption of any kind. But, it is not here in my lab. It is in my client lab. I am using XL for firmware development. I will request a custom board to continue the development here.

    Thanks.

    Sergio
  • Hello Sergio,

    So there is no device latch up (temp is a good indicator and since you can put your finger on it without feeling the heat). You may need to check with a debugger when the device stops responding to see what is happening.

    Regards
    Amit