This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

FOTA, nrf52833_DK and Zephyr

Hi and nice to meet you,

I freshly get my nrf52833 DK. I'm working on windows. I have installed via nRF Desktop all necessary tools.

We are moving our project from nxp KW41Z to Nordic 52833 ;) expecting to have easiest developpement , and we have a lot of hope concerning OTA that was a nightmarre from android point of view with nxp...

I followed the tutorial and i'm able to list with nrf Connect for mobile the SMP service that i add to peripheral_hr sample project. Also, I see a DFU picture now, giving me the possibility to upload the new image i have generated ( blinky led example with CONFIG_BOOTLOADER_MCUBOOT=y.

But When i upload, nothing end, it run in loop doing nothing...

1) With DFU from NRf Toolbox, after selecting the file, App ask for an "Init packet", so i have the feeling DFU from Toolbox is not usable with Zephyr FOTA process. I'm i right ? 

2) I have a doubt concerning the bootloader flashed into my device. I'm not sure if it is the good MCUboot required to do OTA firmware update. So i would like to flash this MCUBoot bootloader. I tried to build it for my board, so i checkout the mcuboot_master, and try to build it for nrf52833_pca10100.overlay that i create from dts file and keep only the flash0 section.

Before to go deeper, is it the good step to follow please, i'm doubting if i have to do all this step and if it is the good direction to take? Is the bootloader the probleme please ?

Please find below the console boot sequence.

So it seems it is mcuboot, but does it support OTA or do i need a special mcuboot, this i'm not sure.

Thanks a lot for your explaination and i hope to succeed with this nrf52833 

<NUL>*** Booting Zephyr OS build v2.1.99-ncs1  ***
[00:00:00.002,960] <ESC>[0m<inf> mcuboot: Starting bootloader<ESC>[0m
[00:00:00.009,185] <ESC>[0m<inf> mcuboot: Primary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3<ESC>[0m
[00:00:00.019,622] <ESC>[0m<inf> mcuboot: Boot source: none<ESC>[0m
[00:00:00.025,299] <ESC>[0m<inf> mcuboot: Swap type: none<ESC>[0m
[00:00:00.252,502] <ESC>[0m<inf> mcuboot: Bootloader chainload address offset: 0xc000<ESC>[0m
[00:00:00.260,437] <ESC>[0m<inf> mcuboot: Jumping to the first image slot<ESC>[0m
*** Booting Zephyr OS build v2.1.99-ncs1  ***
Bluetooth initialized
Advertising successfully started
[00:00:00.005,615] <ESC>[0m<inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)<ESC>[0m
[00:00:00.005,615] <ESC>[0m<inf> bt_hci_core: HW Variant: nRF52x (0x0002)<ESC>[0m
[00:00:00.005,615] <ESC>[0m<inf> bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 2.1 Build 99<ESC>[0m
[00:00:00.006,317] <ESC>[0m<inf> bt_hci_core: Identity: c1:55:9c:f4:51:dd (random)<ESC>[0m
[00:00:00.006,317] <ESC>[0m<inf> bt_hci_core: HCI: version 5.1 (0x0a) revision 0x0000, manufacturer 0x05f1<ESC>[0m
[00:00:00.006,317] <ESC>[0m<inf> bt_hci_core: LMP: version 5.1 (0x0a) subver 0xffff<ESC>[0m
Connected

  • Hi Olfox,

    This is a good path. What I would do is create the third app that has different firmware and upload that over BLE to see where it is stored. 

    I do not have an answer to your question about the mobile app because I do not do that. Currently, I am just using the nRF Connect app on Android, and I do not think this will change in my case. 

    Best regards,
    Vojislav.

Related