I have some colleagues that are working on a project where they want to use the nRF52 as a general purpose IO processor alongside providing an BLE interface to a host Linux embedded SBC.
Having worked with nRF52 for about 3 years, my suggestion was to look at the Zephyr project and use the Zephyr controller, alongside the BLUEZ host stack running on the Linux box.
However they have received conflicting information about the Zephyr controller solution from an external expert who states that:
"In this white paper, http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.whitepapers/dita/whitepapers/nwp_029/intro.html?cp=11_2 the BlueZ stack and Zephyr run on the nRF52 device. Relatively low priority control of stack operations is provided by the host side of the stack."
That's not my understanding of the described architecture - my understanding is that the nRF52/Zephyr is providing the BLE controller using Zephyr's own controller (as described in Core Spec Volume 6) and the external Linux box would provide the Host via the BlueZ stack. Indeed, the notion of running BlueZ on the nRF52 seems strange (for lack of another word)
Anyone care to comment? Which of us has understood the white paper correctly?