Unable to find bootable image

Hello,

From time to time I am getting the error "Unable to find bootable image" when I start a debug session in SES-NE v5.60.

FIH_CALL(boot_go, fih_rc, &rsp);
if (fih_not_eq(fih_rc, FIH_SUCCESS)) {
BOOT_LOG_ERR("Unable to find bootable image");
FIH_PANIC;
}

So, I deleted the whole content of the build folder and re-built the solution and produced a new merged,hex file. But the error persists. If I keep erasing/rebuilding the solution eventually I can start the debug session. Sometimes it takes many retries before it starts working again. I am wasting a lot of precious time that I cannot afford to waste.

Could someone please help sort this problem out ?

Why is this happening randomly?

What can be done to prevent it from happening?

If it cannot be prevented then how can it be fixed without wasting a long time on rebuilding the solution many times?

Thank you.

Kind regards

Mohamed

  • Hi. I tried following methods:

    1. Programmed merged.hex using Programmer of nRF Connect. Then, program runs continuously properly. But in this, it is not possible to stop at any breakpoint.

    2. Programmed the nRF9160DK directly from Actions-> Flash. In this case also, program runs properly, but not possible to stop execution at any breakpoint.

    Then, after above two methods, tried: Actions-> Debug. The nRF9160DK is automatically re-programmed for Debug Configuration, but image error occurs and program never reach to main(). I got fed up of this issue and seems that will have to create whole project and add again custom code to sample code of Asset_tracker. If this issue occurs near last stage of a large project, causes wastage of too much time. 

  • Hi Mexco,

    I understand your frustration .

    2. Programmed the nRF9160DK directly from Actions-> Flash. In this case also, program runs properly, but not possible to stop execution at any breakpoint.

    Then, after above two methods, tried: Actions-> Debug.

    So, to clarify, has your merged.hex changed between step 2 and Actions->Debug?

    If this is NOT the case then there is no reason for the error. However, if the merged.hex has changed then, as Einar said, you must do Actions-> Flash followed by Actions->Debug.

    I hope this helps.

    Kind regards

    Mohamed

  • Hi,

    i have the same problem as mexco. 

    I Flash from Actions -> Flash  and the programm works fine. 

    Then i use Actions->Debug and the Application cant find the bootloader image.

    The merged.hex File dosen't change in between. 

    I had the problem in the beginning and than suddenly it fixed itself. I could debug for 1 Week and now i got the same issue again. 

    Any other ideas? 

    I read the two hex files from the memory. They are identical.

    Any other ideas?

  • Hello,

    I could debug for 1 Week and now i got the same issue again. 

    That is exactly what I have been experiencing but it has been weeks since I have not seen the error. The only difference is I see it in Segger Embedded Studio and you and Mexco are seeing it in VS Code. So, it seems we can safely eliminate the IDE as a possible cause.

    Kind regards

    Mohamed

  • I got the Error again. 

    I only get the error when using mbedtls.

    I add following Configs and debugging isn't possible anymore.

    CONFIG_ANJAY_COMPAT_MBEDTLS=y

    CONFIG_NORDIC_SECURITY_BACKEND=n
    CONFIG_OBERON_BACKEND=n

    CONFIG_MBEDTLS_TLS_LIBRARY=y
    CONFIG_MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG=n
    CONFIG_MBEDTLS_ENTROPY_C=y
    CONFIG_MBEDTLS_CIPHER_MODE_CBC=y
    CONFIG_MBEDTLS_CCM_C=y
    CONFIG_MBEDTLS_CTR_DRBG_C=y
    CONFIG_MBEDTLS_LEGACY_CRYPTO_C=y
    CONFIG_MBEDTLS_PK_WRITE_C=y
    CONFIG_MBEDTLS_DHM_C=y
    CONFIG_MBEDTLS_ECP_C=y
    CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y
    Do you also use MBEDTLS?

Related