Unable to run the Sidewalk samples in 2.6.0

Hello, I am trying to get the latest hello or dut samples to work for sidewalk in the 2.6.0 release but I am running into an issue with a panic when booting. I have had sidewalk working on the past releases(2.5.2) but I am unable to get these latest 2.6.0 samples to boot. I end up getting panic in the bootloader. This happens on my custom hardware and on an unmodified 52840dk.

Here is where the panic happens.

Thread 2 received signal SIGTRAP, Trace/breakpoint trap.
context_boot_go (state=state@entry=0x2000147c <boot_data>, rsp=rsp@entry=0x20004c54 <z_main_stack-47148>) at C:/ncs/v2.6.0/bootloader/mcuboot/boot/bootutil/src/loader.c:2324
2324	                FIH_PANIC;

Here is my configuration for the sample.

  • Hello,

    I am letting you know that this case has been assigned to me. Due to Easter vacation here in Norway, there was a large inflow of cases last week, which is causing some delay in responses. I will get back to you soon.

    Kind Regards,

    Abhijith

  • Hello,

    Sorry for the late response. Is this happening when you try to build the sample inside the latest version, or is this happening when you try to debug the application by setting the breakpoint? The SIGTRAP signal is typically associated with a condition that a debugger has used to set a breakpoint. This means that the execution of your programme was interrupted by a breakpoint.

    Is there any other message from the log? Could you share the whole log here? Use the insert tab to do it.

     

    Kind Regards,

    Abhijith

  • So this happens before I am able to even run the application to hit any break points but I have made sure they are all removed. It seems like something is wrong in the bootloader. I am unable to see anything print out over the RTT logs.

    The entire log of trying to run the application:

    JLinkGDBServerCL: SEGGER J-Link GDB Server V7.94e Command Line Version
    JLinkGDBServerCL: 
    JLinkGDBServerCL: JLinkARM.dll V7.94e (DLL compiled Jan 15 2024 15:18:46)
    JLinkGDBServerCL: 
    JLinkGDBServerCL: -----GDB Server start settings-----
    JLinkGDBServerCL: GDBInit file:                  none
    JLinkGDBServerCL: GDB Server Listening port:     64558
    JLinkGDBServerCL: SWO raw output listening port: 2332
    JLinkGDBServerCL: Terminal I/O port:             2333
    JLinkGDBServerCL: Accept remote connection:      localhost only
    JLinkGDBServerCL: Generate logfile:              off
    JLinkGDBServerCL: Verify download:               off
    JLinkGDBServerCL: Init regs on start:            off
    JLinkGDBServerCL: Silent mode:                   on
    JLinkGDBServerCL: Single run mode:               on
    JLinkGDBServerCL: Target connection timeout:     0 ms
    JLinkGDBServerCL: ------J-Link related settings------
    JLinkGDBServerCL: J-Link Host interface:         USB
    JLinkGDBServerCL: J-Link script:                 none
    JLinkGDBServerCL: J-Link settings file:          none
    JLinkGDBServerCL: ------Target related settings------
    JLinkGDBServerCL: Target device:                 nRF52840_xxAA
    JLinkGDBServerCL: Target device parameters:      none
    JLinkGDBServerCL: Target interface:              SWD
    JLinkGDBServerCL: Target interface speed:        12000kHz
    JLinkGDBServerCL: Target endian:                 little
    JLinkGDBServerCL: 
    =thread-group-added,id="i1"
    =cmd-param-changed,param="pagination",value="off"
    context_boot_go (state=state@entry=0x2000147c <boot_data>, rsp=rsp@entry=0x20004794 <sdc_mempool+2972>) at C:/ncs/v2.6.0/bootloader/mcuboot/boot/bootutil/src/loader.c:2324
    2324	                FIH_PANIC;


    It's happening at line 2324 at loader.c:
            for (slot = 0; slot < BOOT_NUM_SLOTS; slot++) {
                fa_id = flash_area_id_from_multi_image_slot(image_index, slot);
                rc = flash_area_open(fa_id, &BOOT_IMG_AREA(state, slot));
                assert(rc == 0);
    
                if (rc != 0) {
                    BOOT_LOG_ERR("Failed to open flash area ID %d (image %d slot %d): %d, "
                                 "cannot continue", fa_id, image_index, (int8_t)slot, rc);
                    FIH_PANIC;
                }


    Let me know if I should try any thing else.

  • Hello,

    I haven't tested the sample under NCSv 2.6.0, but I recently noticed that there have been some changes introduced into the sample with the new version. See the migration guide for NCSv2.6.0.

    Kind Regards,

    Abhijith

  • Doesn't seem to be anything in the migration guide that helps. I am also not trying to migrate to anything. I am installing a clean copy of the 2.6.0 toolchain and trying to run the samples but cannot get past the bootloader. Unless there is something incompatible with the sidewalk certificate I have been using on the new version I am not sure why it wouldn't work. The certs are still stored in the same location on the device and shouldn't impact the bootloader.

Related