I reviewed your project. The issue could be due to XRES happening during a cold boot, while the the function Bootloader_Exit(0) writes to flash (metadata row) setting active application flag. If power goes off during this step, the bootloadable application checksum will be cleared. Application is treated as invalid and will not be launched. Adding a delay would have helped because it give some time for the reset happen before getting to Bootloader_Exit().
Thank you for the reply.
I have tested the XRES possibility and can see no spikes or dips with the reset line, this looks solid on cold boot. The attached image shows CH1 - XRES at the BLE device, CH2 - 5V rail and CH3 - 3V3 rail. Initially the KIT-042 is unplugged then a short time later the USB power is reapplied.
Taking testing one step further, only the TX and GND line from the KIT-042 to the KIT-044 board are connected. Even after inserting a 10K series resistor with the TX line, without the 1ms delay, and pressing only the RESET button on the KIT-042 the same unexpected behaviour is seen.
Can think of any other possible issues or testing that should be considered?
scope_124.png 38.6 K
Did you ever measure the noise on your supply rails? From the scope picture above it looks as if you have got nearly 0.8V p-p on your 3.3V rail which would be quite too much.
Thanks for the reply. In answer to your question, I was using a long acquisition mode on the scope, below is a real time capture where the delta V is much more reasonable.
Looking at the rails there was some noise.
After suspecting a noise issue I dropped the computers Toshiba Dynalock port replicator from the usb and the setup is running with the need for the delay in the bootloadable project. Issue is now preventable however unsure as to the root cause.
Appreciate the support, thank you all!