We use the LPC54005 chip, and we notice that it sometimes becomes unresponsive after triggering an HW reset using the available reset pin. When this happens, we are unable to flash an image onto the chip or even connect to the chip using the SWD interface until we power cycle the chip.
Some information on how we use the chip, we use ISP mode via SPI (flexcomm 10) interface to flash an image onto the chip. Generally, we follow the following flash procedure: HW reset -> probe commands until target responds -> write RAM -> check image -> boot. Our own application also uses SPI (flexcomm 10) to communicate with the host processor, and we use PIO0_4 as an IRQ pin to notify the host processor if packets are available.
When our issue occurs, we have noticed that our firmware was still active, due to e.g. a reboot, before the HW reset. After this reset, the chip will no longer respond to the probe commands or any HW reset attempts. We have noticed that the IRQ pin was almost always asserted high by our firmware, but it does not seem to guarantee to cause this issue.
Via some measurements with a scope, we noticed that when the chip is unresponsive, this IRQ or ALERT_N (ISP programming via SPI) line is held at about 250mV.
As the IRQ pin is also used for selecting the boot mode we verified that the following scenario's did not solve the issue:
* setting ISP_MODE in OTP registers in case the boot mode is not properly detected
* pulling IRQ pin low while triggering HW reset
The only method that seems to work is to verify that our firmware has no more packets to deliver over SPI so that it will pull the IRQ pin to 0, though, we would like to check if we might have missed something.
Any ideas as to what might cause this issue or how to solve it would be great.
Thanks in advance.
Hello Jori,
How about just program a simple hello world demo ?