This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Develop application on nordic chip using soft device but not the SDK

Is it possible to develop the application on nordic chip(nrf52832) without using the nordic provided SDK but only the soft device(S112)?

The benefit of Coding directly to the SoftDevice gives you total control of the hardware with minimal risk of conflicts and also gives you independence from new sdk updates.

Please let me know your thoughts on this and any help/pointers would be highly appreciated.

  • Hi,

    While technically possible to avoid the full SDK, I will strongly advice against it.

    In any case you need the MDK, which is delivered as part of the SDK, but also available from our web pages: nRF MDK.

    You could write your own drivers for accessing and using the various peripherals on the SoC, but you might as well use the drivers and libraries already in our SDK.

    You could write your own code for handling SoftDevice API calls, as well as the events coming back from it. On the other hand, this is already handled without much overhead in the SDK.

    What you miss out on when not using the SDK, is the years of development, testing and patching, as well as being part of a broader community using the same implementations.

    There are, admittedly, choices to be made between execution speed, memory usage, code readability, maintainability, ease of use, etc. Sometimes you may have reasons to weigh those concerns differently from e.g. the libraries delivered in an SDK. I would however recommend starting out with the SDK, and rather switch out any parts that do not suit your needs, should you get any issues.

    Regarding choice of BLE stack / SDK, please note that nRF5 SDK has entered maintenance mode. This means we will still provide bug fixes, but new features are not planned to be implemented for this SDK. The SDK moving forward is nRF Connect SDK, which builds on the Zephyr OS. For more info about the difference between our SDKs, see the nRF Connect SDK and nRF5 SDK statement.

    Regards,
    Terje

  • Thanks @tesc for your reply.

    Do you have any sample examples or point me to the place wherein SDK is bypassed and softdevice is directly used?

    In my application I am only planning to use BLE uart profile and SPI peripheral. 

  • Hi,

    I am afraid we don't have any examples or documentation for how to use the SoftDevice with a non-SDK application. We provide the SDK as the standard way to develop for our SoC, both with and without the SoftDevice stack. There are some third-party options, for which there are also third-party resources and communities.

    It is possible to write your own code based off of the SoC Product Specification, SoftDevice Specification and SoftDevice API Documentation, but then we expect you to do all the heavy lifting. This includes staying on top of Errata workarounds, although most are already handled by the nRF MDK. We vill of course answer any questions along the way here on DevZone, but for any reference implementation what we have is the SDK. Going without hte SDK is for all intents and purposes an option if you have the experience, have a thorough understanding of embedded development, is prepared for it, and do have the resources to complete the work. Basically there's no free lunch without the SDK.

    To see how the SoftDevice is tied into the SDK, you can have a look at the SoftDevice Handler library.

    Regards,
    Terje

Related