This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Firmware update without DFU

Hi, I am new to the Nordic environment. So far I have done all the integration by going through your examples code which is very good.

Now, one thing I have no knowledge about is updating the firmware image(non-secure + TF-M) without using DFU.

I do not want FW update over DFU for some personal reasons.

Please guide me to any reference or documentation for how to build a bootloader and configure the application image to run with the bootloader and do OTA update.

I do not know from where to start for implementing the OTA update.

Thank you in advance.

My setup:

NRF SDK: v2.2.0

Board: nRF5340-DK

Parents
  • Hi,

    Can you clarify what you mean by not wanting to do fw update over DFU? DFU is device firmware update, so if you want to update your device, then this will be DFU, Do you mean that you do not want to update the device over serial (e.g. UART), but only over the air?

    Best regards,

    Marte

  • Hello, just to let you know that I need to implement this onto my project with high priority.

    Please let me know if I am missing anything to explain my need.

    Please help me with the integration ASAP.

  • Hi,

    I try programming the app_moved_test_update.hex image with nRF Connect Programmer and I see it does not boot the device and also I observe no logs.

    Attached the screenshot of the programmer window.

    In the above image you can see the Write option is disabled, I only have Erase & write option and which I think it is erasing mcuboot too.

    I did not find any mcuboot image to program along side the application image.

    Am I missing something here?

  • Hi,

    Please select Enable MCUboot in the Programmer.

    You can also try using nrfjprog. For a list of commands see nrfjprog commands.

    Best regards,

    Marte

  • Hi Marte,

    Thank you for the suggestion.

    I try using nrfjprog commands to program and confirm it is working.

    *** Booting Zephyr OS build v3.2.99-ncs1 ***
    Attempting to boot slot 0.
    Attempting to boot from address 0x8200.
    Verifying signature against key 0.
    Hash: 0x8d...d1
    Firmware signature verified.
    Firmware version 1
    *** Booting Zephyr OS build v3.2.99-ncs1 ***
    I: Starting bootloader
    I: Primary image: magic=good, swap_type=0x4, copy_done=0x1, image_ok=0x1
    I: Secondary image: magic=good, swap_type=0x1, copy_done=0x3, image_ok=0x3
    I: Boot source: none
    I: Swap type: test
    I: Primary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3
    I: Secondary image: magic=good, swap_type=0x1, copy_done=0x3, image_ok=0x3
    I: Boot source: none
    I: Starting swap using move algorithm.
    I: Bootloader chainload address offset: 0x28000
    *** Booting Zephyr OS build v3.2.99-ncs1 ***

    Thank you for your support.

  • Hi Marte, I try to integrate the dfu_target APIs into my application image and I see undefined reference to the dfu APIs.

    I know I am missing something to say include dfu_target APIs into my application but I do not know what I need to add/do to enable.

    Please guide me.

  • Hi Marte, any update on this.

Reply Children
Related