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

Parents
  • Hello ,


    which will only work on Nordic boards,

    Thanks for the info, wanted to know this.

    Please let me know if you are stuck somewhere while testing the guide.


    Will try out on nRF52833dk and get back in case of issues.

    Thanks,

  • Hello  ,

    may be a good starting point for you

    Thanks for the suggest, I was able to send from mobile app and receive on nrf52833dk_nrf52833.

    I verified on the sample RX code for DFU running on my nrf52833dk_nrf52833.,

    I further need to check on TX code, that is,

    1. Mobile app send firmware file to nrf52833dk_nrf52833 (device-1), which was received successfully and flashed on device-1.
    2. Now I want this same firmware file to be sent from nrf52833dk_nrf52833 (device-1) to another nrf52833dk_nrf52833 (device-2) which should receive it.

    Kindly suggest DFU TX sample program for me to run on nrf52833dk_nrf52833 (device-1)  & evaluate.

    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,

  • Hello,

    We don't have anything like this for SPI, but we do have something like this for QSPI. See these configs:

    # Required by QSPI
    CONFIG_NORDIC_QSPI_NOR=y
    CONFIG_NORDIC_QSPI_NOR_FLASH_LAYOUT_PAGE_SIZE=4096
    CONFIG_NORDIC_QSPI_NOR_STACK_WRITE_BUFFER_SIZE=16
    
    # Required by QSPI
    CONFIG_MULTITHREADING=y

    I am sorry, I don't know the details on how this works at this point in time, but you can do some research on what these configs do in the mcuboot's source code (particularly the CONFIG_NORDIC_QSPI_NOR), and see if you can exchange the QSPI with SPI. What it does by default is just as you describe, only with SPI.

    BR,

    Edvin

  • Hi ,

    Thanks, For me to get started, all the mcuboot source code will be present in the folder "bootloader\mcuboot\boot\zephyr" right..?

    Do i need to look elsewhere..?

    Also can you tell me the file name in mcuboot project where SLOT-1 to SLOT-0  copying is happening..?

    Thanks,

  • Ubaid_M said:
    Also can you tell me the file name in mcuboot project where SLOT-1 to SLOT-0  copying is happening..?

    I am not sure where this is happening. Search for the CONFIG_NORDIC_QSPI_NOR.

    Talking to our development team, I was told that there is actually a pull request doing more or less what you are trying to do. You can have a look at it here.

    It is not in working condition at this point in time, but perhaps you can use it to get some pointers on where to look.

    Best regards,

    Edvin

Reply
  • Ubaid_M said:
    Also can you tell me the file name in mcuboot project where SLOT-1 to SLOT-0  copying is happening..?

    I am not sure where this is happening. Search for the CONFIG_NORDIC_QSPI_NOR.

    Talking to our development team, I was told that there is actually a pull request doing more or less what you are trying to do. You can have a look at it here.

    It is not in working condition at this point in time, but perhaps you can use it to get some pointers on where to look.

    Best regards,

    Edvin

Children
No Data
Related