I have a BLE central application (a form of BLE to LTE bridge) which I have no choice but to redesign due to the dismal state of the supply chain. The original device which has completed both FCC and carrier certifications is based on Silabs BGM13P32 module which is EFR32 (Cortex M4) architecture, running Micrium RTOS. Our only viable BLE module right now is nRF52840 based.
The application must support multiple BLE peripherals concurrently, buffer data into NVM, then transmit it to the cloud via AT command control of the cellular modem. It also needs secure bootloader with FW update over cellular, BLE or USB. All of this has been implemented already, but now needs to be ported.
As a bonus, the new design now needs to act as a Peripheral as well, at least on occasion.
So far, I haven't seen much support from Nordic for Multirole BLE with FreeRTOS. It almost feels like they really don't want us to go there. That said, the existing application architecture demands an RTOS and has a nice abstraction layer for it as well. I could easily port that layer from Micrium to FreeRTOS, but I suspect that I'm going to get in trouble with the SoftDevice.
Are there any good examples around? I've already seen everything in the SDK and on this forum which is why I'm posting (hint: the examples are inadequate).
Should I forget about the nRF SDK and go with Zephyr instead? Do you think it's a better path?
TIA
P.S. In terms of hardware, there is an external I2C RTC w/ battery, and possibly an I2C or SPI OLED display (think SSD1306). No touch panel though.