nRF52840, nRFSDK v17.0.1, S140 v7.2.0
We'd like our application to be able to read the bootloader version from the app. I've found the module nrf_dfu_settings.h, and it looks like the way to do it is to call `nrf_dfu_settings_init()` and then read the global variable `s_dfu_settings` without modifying it.
But, when I add nrf_dfu_settings.c to our application build, I also need to add nrf_dfu_flash.c to the application build, because nrf_dfu_settings calls nrf_dfu_flash functions. I don't mind doing this, but then I get a link collision on the NRF_FSTORAGE_DEF, which is already defined in fds.c, which we're using in our application:
arm-none-eabi/bin/ld: nRF528xx/obj/nrf5_sdk/fi_fds/fi_fds_fc3_f3/fds.o:fds.c:68: multiple definition of `m_fs'; nRF528xx/obj/nrf5_sdk/libnrfsdk_fc3_f3/nrf_dfu_flash.o:nrf5_sdk/17.0.2/components/libraries/bootloader/dfu/nrf_dfu_flash.c:57: first defined here
This is in nrf_dfu_flash.c:
fds.c:
If we're just reading, we can probably just read the page ourselves manually, but we also eventually want to enable DFU from within the app, and for that it looks like we may need to write to the settings page as well.
What's the intended way to do in-app DFU and use FDS together, using the nRF SDK?
Thanks,
Charles