You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mynewt.apache.org by Andrzej Kaczmarek <an...@codecoup.pl> on 2018/05/04 12:51:41 UTC

[RFC] NimBLE porting

Hi all,

There is PR to make NimBLE portable to other OS-es:
https://github.com/apache/mynewt-nimble/pull/72

There were many other small changes in NimBLE code done recently to make
porting process easier, but this one introduces major change by adding
NimBLE Porting Layer (NPL) which provides uniform interface for OS-specific
calls in NimBLE. This means NimBLE will no longer use Mynewt OS APIs
directly, but will call NPL interface which in case of Mynewt is just a
shim layer on top of kernel/os calls.

As an example, instead of using os_mutex and corresponding APIs directly,
NimBLE will now use ble_npl_mutex structure and call ble_npl_mutex_* APIs
which have OS-specific implementation. In particular, in Mynewt NPL these
will just wrap os_mutex_* API.

In this PR you will also find NPL implemented for FreeRTOS. This one is
integrated as an example into FreeRTOS port from nRF5 SDK so you can have
your favourite nRF52 DK or nRF52840 PDK running FreeRTOS with NimBLE. Note
that I am not sure if we can include this example in repository since it
includes Makefile and linker script from nRF5 SDK, so this could be some
licensing issue (nRF5 SDK has to be downloaded separately).

Ah, and there is no documentation... yet ;-)

Best,
Andrzej