Exercise 3 – FOTA over Bluetooth Low Energy example inter_less8_exer3_solution not build with nrf7002dk

Hi,

I used the reference code from inter_less8_exer3_solution and successfully built it with the nrf5340dk board. However, when building it for the nrf7002dk, I encountered an error.

To resolve this, I created a child_image/mcuboot.conf file and added the following parameters. This allowed the code to build successfully, but the SMP service still wasn't generated.

CONFIG_BOOTLOADER_MCUBOOT=y

CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y
Parents
  • Hello,

    There might be some configuration changes needed depending on the SDK version you are using. You can add CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU in the prj.conf file, as this configuration applies to the application. For configurations related to MCUboot, place them in the mcuboot.conf file within the child_image directory.

    This approach applies to NCS versions below 2.7.0. For SDK versions 2.7.0 and above, Sysbuild is used for multi-image builds.

    Kind regards,
    Abhijith

  • Hi,

    I used sdk 2.6.1,

    I refer  Issues with Building MCUboot for nRF7002DK Using NCS V2.5.2 and In prj.conf, I added the following:

    CONFIG_BOOTLOADER_MCUBOOT=y,CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y

    Then, in child_image/mcuboot.conf, I added:CONFIG_SPI_NOR=y,CONFIG_MULTITHREADING=y
    This allowed the code to build successfully, but is this the correct approach?

  • Hello,

    ChiragBhavsar said:
    This allowed the code to build successfully, but is this the correct approach?

    Whether you are able to see your device advertising with SMP_service (the device should be visible as Nordic_UART_Service)? Try to check this with your nRF Connect mobile application. Please follow the steps mentioned in the Devacademy to verify if the BLE FOTA is working correctly.

    ChiragBhavsar said:
    Then, in child_image/mcuboot.conf, I added:CONFIG_SPI_NOR=y,CONFIG_MULTITHREADING=y

    If you check the sample provided in the post I pointed out, you could see that this configuration has already been enabled inside child_image\mcuboot\boards\nrf7002dk_nrf5340_cpuapp. And these configurations are specifically for the nRF7002DK. So the step you mentioned is not necessary.

    Kind Regards,

    Abhijith

  • Hi,

    Yes, I am able to see the SMP service. I built the app_update.bin file from the build/zephyr/ directory and successfully completed the DFU file transfer.

    However, after the DFU update, the device does not disconnect. What could be the reason for this?

    I Change BLE ADV Name and update the DFU But Still BLE did't disconnect from the mobile app,

    For child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp, I believe this configuration is intended for external flash, so I didn’t use it and instead created a child_image/mcuboot.conf file.

  • Hello,

    ChiragBhavsar said:
    However, after the DFU update, the device does not disconnect. What could be the reason for this?

    I believe you need to trigger the disconnect from the central side, which in this case is the mobile application. The peripheral_uart is the main application you’re using here, and as far as I know, the application won’t disconnect itself. Try disconnecting from the mobile application, or configure your application to disconnect after a reset (such as after a firmware update).

    ChiragBhavsar said:
    For child_image/mcuboot/boards/nrf7002dk_nrf5340_cpuapp, I believe this configuration is intended for external flash, so I didn’t use it and instead created a child_image/mcuboot.conf file

    If you are not configuring the external flash then I think the way enabled those config is correct.

    Kind Regards,

    Abhijith

  • Thank you for your support!

    I have another question: when performing FOTA, should we disable the watchdog timer? If so, how can we disable it?

  • Hello,

    I would appreciate it if you could create a new ticket for this query, as it covers a new topic or differs from the original question. This helps other users who rely on DevZone as a reference.

    ChiragBhavsar said:
    I have another question: when performing FOTA, should we disable the watchdog timer? If so, how can we disable it?

    Please refer to this thread, which explains how the watchdog is fed at key intervals.

    Kind Regards,

    Abhijith

Reply Children
No Data
Related