This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Which files are part of the libraries

Hi, I'm modifying files in the NRF5_SDK_14.2 distribution and it is not clear to me which ones are part of the core SoftDevice libraries (and I, therefore, should not change to be consistent with future releases) and which one are specific to the examples (beyond obviously the examples folder). I couldn't find any explanation in the documentation.
Thanks :) Daniel

  • Each Soft Device release (except these which are 3rd digit version apart and are API compatible) comes with new set of header files. They are pretty much independent on SDK but because SDK comes with certain (usually the latest stable) set of stacks/APIs and is tested with them many people migrate stacks only together with SDK. However I've done many times migration of just the stack within one SDK release: all you need is to properly place H files which come with Soft Device release package (download some to see yourself) into proper folder under components\softdevice\. Note that if you work with too old (2-3 years or older) the SDK folder structure might differ a bit, but the principle is still the same (first time I ported different SD API to SDK was like nRF51 SDK V5.x so don't worry).

    All the rest is considered as SDK only. Now because things are evolving Nordic are changing structure pretty often (I would say every 12 months in average?). Sometimes these are cosmetic changes, sometimes more drastic. People then complain typically but it's a choice: do you want new features and do you want them faster or is 100% backwards compatible the most important rule? Nordic so far rather change things when necessary to deliver and that works for most developers so far. So to conclude every SDK or SD migration is kind of wheel of fortune and I've seen cases which went great and in 15 minutes I had new thing running and cases when migration took several weeks and ping-pong here on the forum. So don't be fixed to the idea that you will separate some project specific libraries which originally were integrated with nRF5 SDK and they will work always in the future. At least small alignments (based on release documents and raw DIFF of old and new SDK) are necessary almost always.

Related