FOTA with Nordic Connect SDK (ncs) not working

I'm blocked trying to get an Nrf52 application developed under v1.3.0 SDK work with FOTA.

My application is working fine. FYI, its on custom hardware derived from nrf52832_mdk board definition, and the lbs sample.

Now to add FOTA capability. No buttons or display, so buttonless.

I followed the instructions from here, 

https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/ug_nrf52.html?highlight=fota#fota-upgrades

and I end up with an application that has the DFU characteristic advertised, and nrf connect for mobile and connects to, for DFU. I rebuild an application and try to upload it via NRF Connect, and after a short time of "validating app" on the screen, it reverts back with no error message.

Goggling suggests there is some bug with page alignment fixed mid last year. So I try to copy my application to SDK v1.4.2, and I get a raft of build errors, which cannot be navigated to easily in the IDE. Even the previously supported types like u8_t are no longer valid!

Does anyone have any suggestions? I've used buttonless FOTA on a product on the previous NRF5 SDK with no issues, I'd rather not abandon this mess and go back.

Parents
  • Ah, so adding that debug config caused this to appear, interesting bit in bold

    *** Booting Zephyr OS build v2.4.0-ncs2 ***
    [00:00:00.274,414] <inf> mcuboot: Starting bootloader
    [00:00:00.280,395] <inf> mcuboot: Primary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3
    [00:00:00.290,313] <inf> mcuboot: Boot source: none
    [00:00:00.295,776] <inf> mcuboot: Swap type: test
    [00:00:00.565,460] <wrn> mcuboot: Not enough free space to run swap upgrade
    [00:00:00.883,209] <inf> mcuboot: Bootloader chainload address offset: 0xc000
    [00:00:00.890,808] <inf> mcuboot: Jumping to the first image slot
    *** Booting Zephyr OS build v2.4.0-ncs2 ***
    Starting Bluetooth Peripheral LBS example

    I am building this on NRF52832 - thats only 512KB flash compared to NRF52840 1024KB

    Is there an alternative FOTA process without swap method, that can cope with the smaller size? Ive done FOTA on Nordic chips with less memory than 512KB

    Cheers,

    Mike

Reply
  • Ah, so adding that debug config caused this to appear, interesting bit in bold

    *** Booting Zephyr OS build v2.4.0-ncs2 ***
    [00:00:00.274,414] <inf> mcuboot: Starting bootloader
    [00:00:00.280,395] <inf> mcuboot: Primary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3
    [00:00:00.290,313] <inf> mcuboot: Boot source: none
    [00:00:00.295,776] <inf> mcuboot: Swap type: test
    [00:00:00.565,460] <wrn> mcuboot: Not enough free space to run swap upgrade
    [00:00:00.883,209] <inf> mcuboot: Bootloader chainload address offset: 0xc000
    [00:00:00.890,808] <inf> mcuboot: Jumping to the first image slot
    *** Booting Zephyr OS build v2.4.0-ncs2 ***
    Starting Bluetooth Peripheral LBS example

    I am building this on NRF52832 - thats only 512KB flash compared to NRF52840 1024KB

    Is there an alternative FOTA process without swap method, that can cope with the smaller size? Ive done FOTA on Nordic chips with less memory than 512KB

    Cheers,

    Mike

Children
No Data
Related