Requirements
The nRF Connect SDK supports Microsoft Windows, Linux, and macOS for development. However, there are some Zephyr features that are currently only available on Linux, including:
twister
BlueZ integration
net-tools integration
Native Port (native_posix)
BabbleSim
Note
Before you start setting up the toolchain, install available updates for your operating system.
Supported operating systems
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 3 |
Not supported |
|
Not supported |
Tier 1 |
Not supported |
|
Not applicable |
Tier 2 |
Tier 2 |
|
Not applicable |
Tier 1 |
Not supported |
|
Not applicable |
Tier 3 |
Not supported |
The table uses the following 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.
Note
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.1.99-dev2. It lists the minimum version that is required and the version that is installed when using the Toolchain Manager, as described in Installing automatically.
Tool |
Minimum version |
Toolchain Manager version |
---|---|---|
Zephyr SDK |
0.14.1 |
0.14.1 |
CMake |
3.20.0 |
3.20.5 |
dtc |
1.4.6 |
1.4.7-1 |
Git |
2.20.0 |
2.26.2.windows.1 |
gperf |
3.1 |
3.1 |
ninja |
1.8.2 |
1.9.0 |
Python |
3.6 |
3.8.2 |
West |
0.12.0 |
0.13.1 |
Tool |
Minimum version |
Toolchain Manager version |
---|---|---|
Zephyr SDK |
0.14.1 |
0.14.1 |
CMake |
3.20.0 |
3.20.5 |
dtc |
1.4.6 |
1.4.7-3ubuntu2 |
Git |
2.20.0 |
1:2.25.1 |
gperf |
3.1 |
3.1 |
ninja |
1.8.2 |
1.9.0.post1 |
Python |
3.6 |
3.8.2 |
West |
0.12.0 |
0.13.1 |
Tool |
Minimum version |
Toolchain Manager version |
---|---|---|
Zephyr SDK |
0.14.1 |
0.14.1 |
CMake |
3.20.0 |
3.20.5 |
dtc |
1.4.6 |
1.6.1 |
Git |
2.20.0 |
2.32.0_1 |
gperf |
3.1 |
3.1 |
ninja |
1.8.2 |
1.10.2 |
Python |
3.6 |
3.9.6 |
West |
0.12.0 |
0.13.1 |
Required Python dependencies
The following table shows the Python packages that are required for working with nRF Connect SDK v2.1.99-dev2. 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.
The Toolchain Manager will install all Python dependencies into a local environment in the Toolchain Manager app, not the system. If you install manually, see Install additional Python dependencies for instructions on how to install the Python dependencies and Updating repositories and tools for information about how to keep them updated.
Building and running applications, samples, and tests
Package |
Version |
---|---|
anytree |
|
canopen |
|
cbor2 |
>=5.4.2.post1 |
click |
|
cryptography |
>=2.6 |
ecdsa |
|
imagesize |
>=1.2.0 |
intelhex |
|
packaging |
|
progress |
|
pyelftools |
>=0.27 |
pylint |
|
PyYAML |
==5.4.1 |
west |
>=0.14.0 |
windows-curses (only Windows) |
Building documentation
Package |
Version |
---|---|
recommonmark |
==0.6.0 |
sphinxcontrib-mscgen |
>=0.6 |
breathe |
>=4.34 |
sphinx |
~=5.0 |
sphinx-ncs-theme |
>=1.0.3,<1.1 |
sphinx-tabs |
|
sphinxcontrib-svg2pdfconverter |