nRF Connect SDK revisions

Hi there,

We are currently using nRF Conenct SDK revision v2.5.0

https://github.com/nrfconnect/

Initially started with v2.6.1 but had to downgrade to v2.5.0 due to some limitations with other third party libraries

Found out that nRF Connect SDK revision v2.6.1 is using Zephyr revision 3.5.x

And the SDK revision v2.5.0 is using Zephyr revision 3.4

 

Question:

Moving forward, trying to figure out which nRF Connect SDK revision would support latest Zephyr revision 3.7.0

https://zephyrproject.org/announcing-zephyr-3-7-new-long-term-support-release-of-zephyr-rtos/

 

I have found here

https://github.com/nrfconnect/sdk-nrf/releases

That nRF Connect SDK v2.7.0 is available

But cannot figure out which Zephyr revision it is associated with?

Please let me know if I missed other relevant documentation / link(s)

Thank you

Jamal Mouline

Connected Development

Parents Reply Children
  • I got the roadmap information, so all good on that end, thank you

    Additional question:

    does the nRF Connect SDK provide an API that reports the version of SDK being used?

    pretty much something similar to the existing sys_kernel_version_get() that reports the version of Zephyr OS currently running

    Thank you

     
  • Hi, 

    You can determine the Zephyr version being used by examining the west manifest of the SDK. For example, for v2.6.1, you can find the Zephyr version here. This will show you that the Zephyr version is sdk-zephyr, Nordic's downstream fork of the Zephyr RTOS. The version is v3.5.99-ncs1-1, indicating a modified version of Zephyr v3.5.0.

    In the context of a running application, Zephyr provides the KERNEL_VERSION_MAJOR, KERNEL_VERSION_MINOR, and KERNEL_PATCHLEVEL macros that can be used to get the major, minor, and patch level of the Zephyr kernel version respectively.

    Here is an example:

    #include <zephyr/kernel.h>
    #include <zephyr/kernel_version.h>
    #include "version.h"
    
    void main(void)
    {
        printk("Board config %s\n", CONFIG_BOARD);
    	printk("build time: " __DATE__ " " __TIME__ "\n");
    	printk("Zephyr version: %d.%d.%d\n", KERNEL_VERSION_MAJOR, KERNEL_VERSION_MINOR, KERNEL_PATCHLEVEL);
    	
    }

    -Amanda H.

  • Hi,

    Yes, I am aware of the Zephyr API to retrieve Zephyr OS revision in use

    sys_kernel_version_get();

    But my question was rather directed at nRF Connect SDK version

    Re: does the nRF Connect SDK provide an API that reports the version of SDK being used?

    In other words, I was looking for an API that retrieves exactly what is being set in the west.yml file

    Thank you

  • I'm not sure if there is an official function for it, but if you include "ncs_version.h" it has the following:

    #define NCSVERSION                   
    #define NCS_VERSION_NUMBER           0x20600
    #define NCS_VERSION_MAJOR            2
    #define NCS_VERSION_MINOR            6
    #define NCS_PATCHLEVEL               0
    #define NCS_TWEAK                    
    #define NCS_VERSION_STRING           "2.6.0"
    #define NCS_VERSION_EXTENDED_STRING  ""
    #define NCS_VERSION_TWEAK_STRING     ""
    
    #define NCS_BUILD_VERSION v2.6.0
    #define BANNER_VERSION STRINGIFY(NCS_BUILD_VERSION)

    Not sure if that will always be there for all versions, but it may be helpful.

  • Thank you for the prompt feedback

    This was what I was looking for

    Thank you

Related