I recently got my Segger JLink Ultra+ working with the nRF tool suite but after programming my Thingy:53 dev board once it no longer boots correctly. Prior to using the JLink I was using the DFU programming over USB without issue but the need for real time debugging pushed me to the JLink approach.
Currently I've gone back to the blinky application under the Zephyr samples in the SDK folder. I'm using SDK v.2.4.0 and am able to build the blinky application for the thingy53_nrf5340_cpuapp_ns without issue. The problem comes after I flash or debug.
The code bootloader code apears to hit this section and fail:
if (FIH_NOT_EQ(fih_rc, FIH_SUCCESS)) { BOOT_LOG_ERR("Unable to find bootable image"); mcuboot_status_change(MCUBOOT_STATUS_NO_BOOTABLE_IMAGE_FOUND); #ifdef CONFIG_BOOT_SERIAL_NO_APPLICATION /* No bootable image and configuration set to remain in serial * recovery mode */ boot_serial_enter(); #endif FIH_PANIC; }
The above code is from the file "C:\ncs\v2.4.0\bootloader\mcuboot\boot\zephyr\main.c"
When the system hits this conditional fih_rc = 357913941
From stepping through the code it looks like the "context_boot_go" panics because the boot_swap_type somehow ends up being BOOT_SWAP_TYPE_PANIC. This seems to occur in the file "C:\ncs\v2.4.0\bootloader\mcuboot\boot\bootutil\src\loader.c" around line 2234
What could be causing the bootloader to not find the blinky image? Is there something I need to erase or clear or reprogram? I'm stuck and this is really stalling out progress on my project.