2020-09-29 04:53 AM
2020-10-05 04:04 PM
The Xshut line is the designed way to to it. Just drop the line for a few milliseconds, bring it back up, wait a couple of milliseconds, and query the 'booted' flag.
It will reset the entire chip - except the I2C interface. That section of the chip is separate.
Unfortunately the I2C hanging is the mostly likely problem.
So if you have seached the internet looking for how to tune the I2C bus and still have a hanging issue...
(Hint - Philips invented that bus, and NXP bought Philips. The best documentation is on the NXP site.)
One can generally clear any I2C bus hang issue by having the MCU (bus master) timeout. Then send 8 clock pulses.
Generally that is enough to clear any bus slave that is hanging the bus.