We have a custom board that's running an i.MX8M processor. The board is running a variation of P9.0.0_v2.0.0_GA modified to work with our custom hardware. When running the board will reboot randomly. The board will be up from anywhere between 2 hours to a couple of weeks before the reboot occurs. The reboot appears to be caused by the software not being able to service the watchdog as when we disable the watchdog the board hangs instead of rebooting. Therefore, it appears that something is causing the processor to lockup.
I'm using a JTAG (Jlink - base) with OpenOCD to try and debug what's causing the lockup. I've disabled the watchdog, updated the kernel configured with, " CONFIG_DEBUG_INFO=y", and updated the kernel boot arguments to include, "nokaslr nohlt androidboot.watchdogd=disabled". With these changes I'm able to use the JTAG to halt the processor, set breakpoints, view memory and such during normal operation. However, after the unit hangs the JTAG is either no longer able to halt the processor or the JTAG reports being stuck in invalid memory address locations such as 0x00000000 or 0x00XXXXXX where XXXXXX is some hex value.
Has anyone seen something similar or have any ideas on how to debug a i.MX8M processor that won't halt via JTAG?
Thanks for any help in advance!