Requirements reference
This page summarizes the requirements for installing and working with the nRF Connect SDK. All of these requirements are installed when you install the nRF Connect SDK.
Supported operating systems
The nRF Connect SDK supports Microsoft Windows, Linux, and macOS for development. The following table shows the operating system versions that support the nRF Connect SDK tools:
Operating System |
x86 |
x64 |
ARM64 |
---|---|---|---|
Tier 3 |
Tier 3 |
Not supported |
|
Tier 3 |
Tier 1 |
Not supported |
|
Not supported |
Tier 1 |
Not supported |
|
Not supported |
Tier 2 |
Not supported |
|
Not applicable |
Tier 3 |
Tier 3 |
|
Not applicable |
Tier 1 |
Tier 1 |
|
Not applicable |
Tier 3 |
Tier 3 |
|
Not applicable |
Tier 2 |
Tier 2 |
|
Not applicable |
Tier 3 |
Not supported |
- Tier definitions
The table uses several tier definitions to categorize the level of operating system support:
- Tier 1
The nRF Connect SDK tools will always work. The automated build and automated testing ensure that the nRF Connect SDK tools build and successfully complete tests after each change.
- Tier 2
The nRF Connect SDK tools will always build. The automated build ensures that the nRF Connect SDK tools build successfully after each change. There is no guarantee that a build will work because the automation tests do not always run.
- Tier 3
The nRF Connect SDK tools are supported by design, but are not built or tested after each change. Therefore, the application may or may not work.
- Not supported
The nRF Connect SDK tools do not work, but it may be supported in the future.
- Not applicable
The specified architecture is not supported for the respective operating system.
- Zephyr features only available on Linux
There are some Zephyr features that are currently only available on Linux, including:
BlueZ integration
net-tools integration
Native Port (native_posix)
BabbleSim
nRF Connect SDK toolchain
The nRF Connect SDK toolchain includes the Zephyr SDK and adds the necessary tools and modules to create nRF Connect SDK samples and applications on top of it. The nRF Connect SDK toolchain is installed as one of the steps when Installing the nRF Connect SDK.
Note
Before you start setting up the nRF Connect SDK toolchain, install available updates for your operating system. The nRF Connect SDK tools are not supported by the older versions of the operating system.
Required tools
The following table shows the tools that are required for working with nRF Connect SDK v2.7.0.
The table lists the versions that are used for testing and are installed when using the nRF Connect for VS Code extension or nRF Util. Other versions might also work, but are not verified.
Tool |
Version |
---|---|
Zephyr SDK |
0.16.5-1 |
CMake |
3.21.0 |
Devicetree compiler (dtc) |
1.4.7-1 |
2.37.3.windows.1 |
|
gperf |
3.1 |
ninja |
1.10.2 |
Python |
3.9.13 |
1.2.0 |
Tool |
Version |
---|---|
Zephyr SDK |
0.16.5-1 |
CMake |
3.21.0 |
dtc |
1.5.1-1 |
2.37.3 |
|
gperf |
3.1 |
ninja |
1.10.2 |
Python |
3.9.18 |
1.2.0 |
Additionally, you need to install nrf-udev rules for accessing USB ports on Nordic Semiconductor devices and programming the firmware.
- Checking tool versions
To check the list of installed packages and their versions, run the following command:
choco list -lo
Chocolatey is installed as part of the Zephyr SDK toolchain when you install the nRF Connect SDK.
apt list --installed
This command lists all packages installed on your system. To list the version of a specific package, type its name and add
--version
.brew list --versions
Required Python dependencies
The following table shows the Python packages that are required for working with nRF Connect SDK v2.7.0.
If no version is specified, the default version provided with pip
is recommended.
If a version is specified, it is important that the installed version matches the required version.
When you install the nRF Connect SDK, you will install all Python dependencies into a local environment, not the system.
Building and running applications, samples, and tests
Package |
Version |
---|---|
anytree |
|
canopen |
|
cbor2 |
>=5.4.2.post1 |
click |
|
cryptography |
>=42.0.4 |
ecdsa |
|
imagesize |
>=1.2.0 |
intelhex |
|
packaging |
|
progress |
|
pyelftools |
>=0.27 |
pylint |
|
PyYAML |
|
west |
>=1.0.0 |
windows-curses (only Windows) |
Building documentation
Python documentation dependencies are listed in the following table.
They can all be installed using the doc/requirements.txt
file using pip
.
Package |
Version |
---|---|
azure-storage-blob |
|
breathe |
|
m2r2 |
|
PyYAML |
|
pykwalify |
|
recommonmark |
|
sphinx |
~=6.2 |
sphinx-copybutton |
|
sphinx-ncs-theme |
<1.1 |
sphinx-notfound-page |
|
sphinx-tabs |
>=3.4 |
sphinx-togglebutton |
|
sphinx_markdown_tables |
|
sphinxcontrib-mscgen |
|
sphinxcontrib-plantuml |
>=0.27 |
west |
>=1.0.0 |
nRF Command Line Tools
nRF Command Line Tools is a package of tools used for development, programming, and debugging of Nordic Semiconductor’s nRF51, nRF52, nRF53 and nRF91 Series devices. Among others, this package includes the following prerequisites for the nRF Connect SDK:
The universal version of SEGGER J-Link, which is required for SEGGER J-Link to work correctly with both Intel and ARM assemblies.
nrfjprog executable and library, which the west command uses by default to program the development kits. For more information on nrfjprog, see Programming SoCs with nrfjprog.
It is recommended to use the latest version of the package when you Install prerequisites.
nRF Connect SDK toolchain management tools
Nordic Semiconductor provides proprietary nRF Connect SDK toolchain management tools that streamline the process of installing the nRF Connect SDK and its toolchain. Depending on your development environment, you need to install only some of them when you Install prerequisites.
nRF Connect for VS Code extension
The nRF Connect for VS Code extension is a complete IDE for developing applications compatible with the nRF Connect SDK. The extension includes an interface for managing SDK and toolchain installations, an interface to the compiler and linker, an RTOS-aware debugger, a seamless interface to the nRF Connect SDK, and a serial terminal.
In addition, the nRF Connect for VS Code extension provides the following configuration tools for the build system components:
For CMake, the build configuration management.
For Devicetree, the Devicetree Visual Editor.
For Kconfig, the Kconfig GUI.
The extension follows its own release cycle. Use the latest available release for development.
See the Installing the nRF Connect SDK page for information about how to use the extension to manage nRF Connect SDK toolchain installations. For more information about the extension and what it offers, visit the nRF Connect for Visual Studio Code documentation.
nRF Util
The nRF Util development tool is a unified command line utility for Nordic products. Its functionality is provided through installable and upgradeable commands that are served on a central package registry on the Internet.
The utility follows its own release cycle. Use the latest available release for development.
nRF Util provides nRF Connect SDK toolchain packages for each nRF Connect SDK release through the toolchain-manager
command.
See the Installing the nRF Connect SDK page for information about how to use this command.