OTA DFU on NORA B1

Hello,

I have a project working on Nora B1, which I am testing on nrf5340DK. It is based on the Peripheral UART Sample, programmed with nfr Connect SDK v1.9.1. Now I need to add the OTA DFU to update the program from the nrf Connect mobile app. I changed the prj.conf and main according to this tutorial

https://getwavecake.com/blog/adding-ota-dfu-to-a-nordic-zephyr-project/

It works perfectly, when I am testing it on the Development Kit, but it does not work at all on the Nora B1. The flash is succesful, but the BLE can't get initialised.

I tried a bit and it seems like the problem is caused by the line

CONFIG_BOOTLOADER_MCUBOOT=y
when I add this to the prj. conf, BLE does not work, even when I did not do any changes in the main.
Is there anything special I should take care about while configuring bootloader on the NoraB1?
Thanks a lot for any answer
  • Hello Abhijith,

    thanks a lot for the tip. It unfortunately does not work and the problem remains.

    One thing I realised: while compiling I got this warning:

    warning: NRF53_RECOVERY_NETWORK_CORE (defined at
    C:/ncs/v2.5.0/nrf/modules/mcuboot/boot/zephyr/Kconfig:130) was assigned the value 'y' but got the
    value 'n'. Check these unsatisfied dependencies: (!NRF53_MULTI_IMAGE_UPDATE) (=n),
    MCUBOOT_SERIAL_DIRECT_IMAGE_UPLOAD (=n). See
    docs.zephyrproject.org/.../kconfig.html and/or look up
    NRF53_RECOVERY_NETWORK_CORE in the menuconfig/guiconfig interface. The Application Development
    Primer, Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual
    might be helpful too.

    I defined the 

    CONFIG_NRF53_MULTI_IMAGE_UPDATE=y
    like it is in the sample from the Development Academy, but when I try to define 
    CONFIG_MCUBOOT_SERIAL_DIRECT_IMAGE_UPLOAD in the prj.conf, it gives me Fatal error as unknown symbol.
    when I define it in mcuboot.conf, it does not change anything and I still get the same warning.
    Could it be the reason of this problem, and if it is that case, could you please help me to lose it?
    Kind Regards
    Jiri
  • Hello,

    I will take a look into this. Could you tell me which board you are building it for (inside the build configuration)? I assume that you are sticking to NCS version 2.5.0, so I will do the testing with that version.

     Kind Regards,

    Abhijith

  • Hello Abhijith,

    thanks for the reply, yes I will stick to v2.5.0. I am building for nrf5340dk_nrf5340_cpuapp.

    Kind regards

    Jiri

  • Hello,

    I tried the sample inside the NCS v2.5.0, and it's working fine on my side. I tried the below configuration (screenshot) inside prj.config. I also enabled the internal RC oscillator as the low-frequency clock source inside the mcuboot.config. Please see that you don't need to enable CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM, as it will be enabled by default (see here). My device is advertising properly, and I can't produce any warnings.

    Please let me know if I am missing anything here.

     

    Kind Regards,

    Abhijith

  • Hello Abhijith,

    on which device did you flash the program? The problem is still the same, that the program is going fine on the nRF5340DK, but when I flash it on the NORA B1 SoC, the device does not boot. I suppose the problem at the configuration

    CONFIG_BOOTLOADER_MCUBOOT=y
    Because when I delete this and build it again, it works fine on the NORA B1. But I just need the OTA DFU. I suppose that I need to configure something more, but don't know what... 
    Could you please maybe send me your programm folder, so I can be sure, that I did not forgot something?
    Thanks a lot in advance
    Jiri
Related