Hi,
I am porting a product from SDK 15 to SDK 17 and to Nrf Connect.
We need to maintain code combability as far as possible between products using SDK 15/17 and products using nRF Connect as the Nordic bootloader is not compatible.
Devices in the field based on SDK 15 need to be upgraded in the field and I understand that the memory layout of binaries build using nRF Connect is not compatible with the older bootloader. Hence the need to maintain two code bases.
The product uses the soft Device S140 for Bluetooth.
On SDK 15 we used commands like:
nrf_sdh_is_enabled
sd_flash_page_erase
sd_flash_write
sd_evt_get
to check if the soft device is running, erase a page of flash, write a page of flash, and check if the flash operation requested has completed.
I understand the functions had to be called via the soft device to prevent the soft device faulting when Bluetooth was running, and a NVM page needed to be erased/written.
The functionality used on BLE is simply to advertise, allow a mobile to connect, and open a UART type channel for data transfer.
Does the soft device with nrf Connect still control access to erasing and writing flash memory, and if so, what are the equivalent functions to use? Are these functions non-blocking in the same way as in SDK 15/17?
I wish to use a Nordic function set, rather than use the Zephyr layout so that I can maintain source code compatibility as far as possible for builds using SDK15/17. I therefore do not wish to use the Zephyr NVM system.
Thanks
Dermot