Skip to content

Commit

Permalink
doc: OS support: update table
Browse files Browse the repository at this point in the history
Updated table with input received from stakeholders.
Updated definitions based on receved feedback.
NCSDK-29043.

Signed-off-by: Grzegorz Ferenc <Grzegorz.Ferenc@nordicsemi.no>
  • Loading branch information
greg-fer authored and rlubos committed Oct 14, 2024
1 parent e4a47d5 commit 7783dec
Show file tree
Hide file tree
Showing 9 changed files with 151 additions and 110 deletions.
2 changes: 1 addition & 1 deletion doc/nrf/app_dev/device_guides/nrf53/building_nrf53.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Using the command line
======================

To build nRF5340 samples from the command line, use :ref:`west <zephyr:west>`.
To program the nRF5340 DK from the command line, use either west (which uses nrfjprog that is part of the `nRF Command Line Tools`_) or :ref:`nRF Util <toolchain_management_tools>`.
To program the nRF5340 DK from the command line, use either west (which uses nrfjprog that is part of the `nRF Command Line Tools`_) or :ref:`nRF Util <requirements_nrf_util>`.

.. note::
Programming the nRF5340 DK from the command line with west requires the `nRF Command Line Tools`_ v10.12.0 or later.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ On your computer, one of the following operating systems:
:start-after: os_table_start
:end-before: os_table_end

See :ref:`supported_OS` for more information about the tier definitions.
See :ref:`supported_OS` for more information.

|supported OS|

Expand Down
25 changes: 12 additions & 13 deletions doc/nrf/installation/install_ncs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Installing the |NCS|
:local:
:depth: 2

There are different ways to install the |NCS|, depending on your preferred development environment and the :ref:`toolchain management tool <toolchain_management_tools>`:
There are different ways to install the |NCS|, depending on your preferred development environment:

* Using |VSC| and the |nRFVSC| (recommended)
* Using command line and nRF Util
Expand All @@ -25,22 +25,21 @@ This includes everything that is required by Zephyr's :ref:`zephyr:getting_start
Update operating system
***********************

Before you start setting up the toolchain, install available updates for your operating system.
Before you start setting up the toolchain, install available updates for your :ref:`operating system <supported_OS>` to make sure it supports the |NCS| firmware.

.. include:: ./recommended_versions.rst
:start-after: os_table_start
:end-before: os_table_end

See :ref:`supported_OS` for more information about the tier definitions.

.. _installing_vsc:

.. rst-class:: numbered-step

Install prerequisites
*********************

Depending on your preferred development environment, install the following required tools:
Depending on your preferred development environment, install the following required tools.


.. tabs::

Expand All @@ -49,7 +48,7 @@ Depending on your preferred development environment, install the following requi
* All operating systems:

* The latest version of the :ref:`requirements_clt` package.
Download it from the `nRF Command Line Tools`_ page.
Check :ref:`operating system versions that support this tool <additional_nordic_sw_tools>` and download the installer from the `nRF Command Line Tools`_ page.
* The |jlink_ver_vsc| of :ref:`SEGGER J-Link <requirements_jlink>`.
Download it from the `J-Link Software and Documentation Pack`_ page.
* The latest version of |VSC| for your operating system from the `Visual Studio Code download page`_.
Expand All @@ -61,15 +60,15 @@ Depending on your preferred development environment, install the following requi

* All operating systems:

* The latest version of `nRF Util development tool`_, a unified command-line utility for Nordic Semiconductor products.
* The latest version of nRF Util, a unified command-line utility for Nordic Semiconductor products.
Check :ref:`operating system versions that support this tool <additional_nordic_sw_tools>` and download the installer from the `nRF Util development tool`_ page.

.. note::
After downloading the nRF Util executable, move it to a directory that is in the system :envvar:`PATH`.
On macOS and Linux, you need to give execute rights to the downloaded file.
Type `chmod +x nrfutil` or check the checkbox in the file properties.
On macOS and Linux, the downloaded file also needs to be given execute permission by typing `chmod +x nrfutil` or by checking the checkbox in the file properties.

* The latest version of the :ref:`requirements_clt` package.
Download it from the `nRF Command Line Tools`_ page.
Check :ref:`operating system versions that support this tool <additional_nordic_sw_tools>` and download the installer from the `nRF Command Line Tools`_ page.

.. note::
After downloading and installing the tools, add nrfjprog to the system :envvar:`PATH` in the environment variables.
Expand Down Expand Up @@ -624,16 +623,16 @@ It is available from `nRF Connect for Desktop`_, a cross-platform tool that prov
Both Toolchain Manager and nRF Connect for Desktop are available for Windows, Linux, and macOS.

.. note::
The Toolchain Manager installation is recommended only when using the nRF54H20 DK with the |NCS| v2.7.0.
Since the release of the |NCS| v2.0.0, the |nRFVSC| is the recommended IDE for managing the |NCS| Toolchain and working with the |NCS|.
|toolchain_management_ncs_versions|

.. toggle::

To install the toolchain and the SDK using the Toolchain Manager app, complete the following steps:

1. Install Toolchain Manager:

a. `Download nRF Connect for Desktop`_ for your operating system.
a. Check :ref:`operating system versions that support this tool <additional_nordic_sw_tools>`.
#. `Download nRF Connect for Desktop`_ for your operating system.
#. Install and run the tool on your machine.
#. In the **APPS** section, click :guilabel:`Install` next to Toolchain Manager.

Expand Down
200 changes: 117 additions & 83 deletions doc/nrf/installation/recommended_versions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,83 +14,35 @@ All of these requirements are installed when you :ref:`install the nRF Connect S
.. _gs_supported_OS:
.. _supported_OS:

Supported operating systems
***************************
Supported operating systems (firmware)
**************************************

The |NCS| supports Microsoft Windows, Linux, and macOS for development.
The following table shows the operating system versions that support the |NCS| tools:

The following table lists the support levels for the |NCS| firmware.
For OS support for additional software tools from Nordic Semiconductor, see :ref:`the table at the bottom of the page <additional_nordic_sw_tools>`.

.. os_table_start
.. list-table::
:header-rows: 1

* - Operating System
- x86
- x64
- ARM64
* - `Windows 11`_
- Tier 3
- Tier 3
- Not supported
* - `Windows 10`_
- Tier 3
- Tier 1
- Not supported
* - `Linux - Ubuntu 22.04 LTS`_
- Not supported
- Tier 1
- Not supported
* - `Linux - Ubuntu 20.04 LTS`_
- Not supported
- Tier 2
- Not supported
* - `macOS 14`_
- Not applicable
- Tier 3
- Tier 3
* - `macOS 13`_
- Not applicable
- Tier 1
- Tier 1
* - `macOS 12`_
- Not applicable
- Tier 3
- Tier 3
* - `macOS 11`_
- Not applicable
- Tier 2
- Tier 2
* - `macOS 10.15`_
- Not applicable
- Tier 3
- Not supported
:header-rows: 1

* - Operating System
- x64
- ARM64
* - `Windows 10`_
- Built and tested with :ref:`Twister <running_unit_tests>`.
- Not supported.
* - `Linux - Ubuntu 22.04 LTS`_
- Built and tested with :ref:`Twister <running_unit_tests>`. Comprehensive testing with Nordic Semiconductor hardware.
- Not supported.
* - `macOS 14`_
- Built and tested with :ref:`Twister <running_unit_tests>`.
- Only toolchain provided.

.. os_table_end
Tier definitions
The table uses several tier definitions to categorize the level of operating system support:

.. toggle:: Support levels

Tier 1
The |NCS| tools will always work.
The automated build and automated testing ensure that the |NCS| tools build and successfully complete tests after each change.

Tier 2
The |NCS| tools will always build.
The automated build ensures that the |NCS| 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 |NCS| 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 |NCS| 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.
For building, Twister uses definitions in :file:`sample.yml` for the default configuration for the given sample or application.

Zephyr features only available on Linux
There are some Zephyr features that are currently only available on Linux, including:
Expand Down Expand Up @@ -325,17 +277,6 @@ They can all be installed using the ``doc/requirements.txt`` file using ``pip``.
* - west
- :ncs-tool-version:`WEST_VERSION`

.. _requirements_clt:

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, nRF54H, and nRF91 Series devices.
Among others, this package includes the 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 :ref:`installing_vsc`.

.. _requirements_jlink:

J-Link Software and Documentation Pack
Expand All @@ -347,13 +288,95 @@ Among others, this package includes the J-Link RTT Viewer, which can be used for
It is recommended to use the |jlink_ver| of the package when you :ref:`installing_vsc`.

.. _toolchain_management_tools:
.. _additional_nordic_sw_tools:

|NCS| toolchain management tools
********************************
Additional software tools
*************************

Nordic Semiconductor provides proprietary |NCS| toolchain management tools that streamline the process of installing the |NCS| and its toolchain.
Nordic Semiconductor provides proprietary tools for working with Nordic Semiconductor devices, as well as different |NCS| toolchain management tools that streamline the process of installing the |NCS| and its toolchain.
Depending on your development environment, you need to install only some of them when you :ref:`installing_vsc`.

.. _additional_nordic_sw_tools_os_support:

Supported operating systems (proprietary tools)
===============================================

The following table shows the operating system versions that support the additional software tools from Nordic Semiconductor.
For firmware OS support, see :ref:`the table at the top of the page <supported_OS>`.

.. list-table::
:header-rows: 1

* - Operating System
- x86
- x64
- ARM64
* - `Windows 11`_
- Tier 3
- Tier 3
- Not supported
* - `Windows 10`_
- Tier 3
- Tier 1
- Not supported
* - `Linux - Ubuntu 24.04 LTS`_
- Not supported
- Tier 2
- Not supported
* - `Linux - Ubuntu 22.04 LTS`_
- Not supported
- Tier 1
- Not supported
* - `Linux - Ubuntu 20.04 LTS`_
- Not supported
- Tier 2
- Not supported
* - `macOS 15`_
- n/a
- Tier 3
- Tier 3
* - `macOS 14`_
- n/a
- Tier 3
- Tier 3
* - `macOS 13`_
- n/a
- Tier 1
- Tier 1

Tier definitions
.. toggle:: Support levels

Tier 1
The toolchain management tools will always work.
The automated build and automated testing ensure that the |NCS| tools build and successfully complete tests after each change.

Tier 2
The toolchain management tools will always build.
The automated build ensures that the |NCS| 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 toolchain management 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 toolchain management 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.

.. _requirements_clt:

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, nRF54H, and nRF91 Series devices.
Among others, this package includes the 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 :ref:`installing_vsc`.

|nRFVSC|
========

Expand All @@ -379,8 +402,19 @@ 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.
The utility follows its own release cycle and has its own `operating system requirements <nRF Util_>`_.
Use the latest available release for development.

nRF Util provides |NCS| toolchain packages for each |NCS| release through the ``toolchain-manager`` command.
See the :ref:`install_ncs` page for information about how to use this command.

.. _requirements_ncd:

nRF Connect for Desktop's Toolchain Manager
===========================================

`nRF Connect for Desktop`_ is a cross-platform tool that provides different applications that simplify working the |NCS| and Nordic Semiconductor products.
One of those tools is the :ref:`Toolchain Manager <auto_installation_tcm_setup>`, which allows you to install the toolchain and the SDK.

.. note::
|toolchain_management_ncs_versions|
9 changes: 3 additions & 6 deletions doc/nrf/links.txt
Original file line number Diff line number Diff line change
Expand Up @@ -598,7 +598,6 @@
.. _`nRF Connect Serial Terminal`: https://docs.nordicsemi.com/bundle/nrf-connect-serial-terminal/page/index.html
.. _`Connecting using Serial Terminal`: https://docs.nordicsemi.com/bundle/nrf-connect-serial-terminal/page/connecting.html
.. _`Serial Terminal configuration`: https://docs.nordicsemi.com/bundle/nrf-connect-serial-terminal/page/configuration.html
.. _`nRF Sniffer for Bluetooth LE`: https://docs.nordicsemi.com/bundle/nrfutil/page/nrfutil-ble-sniffer/guides/overview.html
.. _`nRF Connect Bluetooth Low Energy`: https://docs.nordicsemi.com/bundle/nrf-connect-ble/page/index.html
.. _`Cellular Monitor`: https://docs.nordicsemi.com/bundle/nrf-connect-cellularmonitor/page/index.html
.. _`nPM PowerUP`: https://docs.nordicsemi.com/bundle/nrf-connect-npm/page/index.html
Expand All @@ -613,8 +612,6 @@
.. _`Programming the nRF52840 Dongle`:
.. _`Programming a Development Kit`: https://docs.nordicsemi.com/bundle/nrf-connect-programmer/page/programming_dk.html

.. _`nRF Sniffer for Bluetooth LE`: https://docs.nordicsemi.com/bundle/nrfutil/page/nrfutil-ble-sniffer/guides/overview.html

.. _`nRF Thread Topology Monitor`: https://docs.nordicsemi.com/bundle/ug_nrf_ttm/page/UG/nrf_ttm/ttm_introduction.html
.. _`nRF Sniffer for 802.15.4`: https://docs.nordicsemi.com/bundle/ug_sniffer_802154/page/UG/sniffer_802154/intro_802154.html
.. _`Configuring Wireshark for Zigbee`: https://docs.nordicsemi.com/bundle/ug_sniffer_802154/page/UG/sniffer_802154/configuring_sniffer_802154_zigbee.html
Expand Down Expand Up @@ -810,6 +807,7 @@
.. _`Toolchain Manager command`: https://docs.nordicsemi.com/bundle/nrfutil/page/nrfutil-toolchain-manager/nrfutil-toolchain-manager_0.14.1.html#available-subcommands
.. _`Recovering the device`: https://docs.nordicsemi.com/bundle/nrfutil/page/nrfutil-device/guides/programming_recovery.html
.. _`nrfutil-trace`: https://docs.nordicsemi.com/bundle/nrfutil/page/nrfutil-trace/CHANGELOG.html
.. _`nRF Sniffer for Bluetooth LE`: https://docs.nordicsemi.com/bundle/nrfutil/page/nrfutil-ble-sniffer/guides/overview.html

.. _`anomaly 19`: https://docs.nordicsemi.com/bundle/errata_nRF5340_EngA/page/ERR/nRF5340/EngineeringA/latest/anomaly_340_19.html

Expand Down Expand Up @@ -1397,16 +1395,15 @@

.. ### Source: ubuntu.com

.. _`Linux - Ubuntu 24.04 LTS`: https://releases.ubuntu.com/24.04/
.. _`Linux - Ubuntu 22.04 LTS`: https://releases.ubuntu.com/22.04/
.. _`Linux - Ubuntu 20.04 LTS`: https://releases.ubuntu.com/20.04/

.. ### Source: apple.com

.. _`macOS 15`: https://www.apple.com/macos/macos-sequoia/
.. _`macOS 14`: https://www.apple.com/macos/sonoma/
.. _`macOS 13`: https://www.apple.com/macos/ventura/
.. _`macOS 12`: https://www.apple.com/macos/monterey/
.. _`macOS 11`: https://support.apple.com/en-us/HT211896
.. _`macOS 10.15`: https://support.apple.com/en-us/HT210642
.. _`Apple Notification Center Service Specification`: https://developer.apple.com/library/archive/documentation/CoreBluetooth/Reference/AppleNotificationCenterServiceSpecification/Introduction/Introduction.html
.. _`Apple Media Service Reference`: https://developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/AppleMediaService_Reference/Introduction/Introduction.html

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ On your computer, one of the following operating systems:
:start-after: os_table_start
:end-before: os_table_end

See :ref:`supported_OS` for more information about the tier definitions.
See :ref:`supported_OS` for more information.

|supported OS|

Expand Down
Loading

0 comments on commit 7783dec

Please sign in to comment.