sample nCS code to evaluate DFU-OTA on nRF52833

Hi,

I am working on an application to transfer firmware file via BLE-GATT to nRF52833. 
Can you kindly suggest any sample code for me to evaluate.

Thanks,

Ubaid

  • Hello ,

    ct using the guide

    With the project I build from your suggested guide:

    I got the following three build/output files at build paths:

    1. build/zephyr/zephyr.hex: only application

    2. build/mcuboot/zephyr/zephyr.hex: only mcuboot

    3. build/zephyr/merged.hex: mcuboot+application

    Out of these three, I am to understand If I flash the first build file, it will flash only application.
    The second build file is for mcuboot project build.
    The third build file has both mcuboot+application which can be flashed.

    I just need to know how to flash the second build file, that is at "build/mcuboot/zephyr/zephyr.hex"
    Please suggest..?!

    Thanks

  • So you want to know how to flash a .hex file?

    You can use nRF Command Line Tools directly. You have already installed it, since West (part of nRF Connect SDK) uses it. Use the command:

    nrfjprog --program build\mcuboot\zephyr\zephyr.hex --verify --sectorerase

    Best regards,

    Edvin

  • Thank you ,

    Is it fine if this ticket remains open..?

    I could use your help for my DFU development.

    Thanks,

  • Hello Edvin,

    I have a requirement to map SLOT-1 into external serial flash memory & fetch it through SPI interface, when mcuboot tries to swap SLOT-0 & SLOT-1.

    Under the path "bootloader\mcuboot\boot\zephyr\boards" I could see that for nrf52840, some  dts are provided for QSPI interface with serial flash like:

    /*
     * Copyright (c) 2020 Nordic Semiconductor ASA
     *
     * SPDX-License-Identifier: Apache-2.0
     */
    
    /delete-node/ &boot_partition;
    /delete-node/ &slot0_partition;
    /delete-node/ &slot1_partition;
    /delete-node/ &scratch_partition;
    
    &flash0 {
    	partitions {
    		boot_partition: partition@0 {
    			label = "mcuboot";
    			reg = <0x000000000 0x00010000>;
    		};
    		slot0_partition: partition@10000 {
    			label = "image-0";
    			reg = <0x000010000 0x0000e8000>;
    		};
    	};
    };
    
    &mx25r64 {
    	partitions {
    		compatible = "fixed-partitions";
    		#address-cells = <1>;
    		#size-cells = <1>;
    
    		slot1_partition: partition@0 {
    			label = "image-1";
    			reg = <0x000000000 0x0000e8000>;
    		};
    	};
    };
    

    But I couldn't understand where the APIs are present for swapping..?

    I need to understand where do I make changes in mcuboot source code to make SPI access to SLOT-1 on external flash..?

    Or will this work just with configurations..?

    Kindly suggest or point me to understand with the changes.

    Thanks,

Related