From 4671769a3215099d5a639ac988f7c4b5f4aa9470 Mon Sep 17 00:00:00 2001 From: Stephanos Ioannidis Date: Wed, 10 May 2023 23:50:21 +0900 Subject: [PATCH 1/4] doc: toolchains: Add Zephyr SDK version compatibility section This commit adds "Zephyr SDK version compatibility" section to the Zephyr SDK documentation, which provides a link to the "Zephyr SDK Version Compatibility Matrix" and describes the recommended Zephyr SDK version. Signed-off-by: Stephanos Ioannidis --- doc/develop/toolchains/zephyr_sdk.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/doc/develop/toolchains/zephyr_sdk.rst b/doc/develop/toolchains/zephyr_sdk.rst index 858ac8e18f210..0edef9831c1ed 100644 --- a/doc/develop/toolchains/zephyr_sdk.rst +++ b/doc/develop/toolchains/zephyr_sdk.rst @@ -56,6 +56,17 @@ example, you can set ``ZEPHYR_SDK_INSTALL_DIR`` to ``/company/tools``, where the This allows the Zephyr build system to choose the correct version of the SDK, while allowing multiple Zephyr SDKs to be grouped together at a specific path. +.. _toolchain_zephyr_sdk_compatibility: + +Zephyr SDK version compatibility +******************************** + +In general, the Zephyr SDK version referenced in this page should be considered +the recommended version for the corresponding Zephyr version. + +For the full list of compatible Zephyr and Zephyr SDK versions, refer to the +`Zephyr SDK Version Compatibility Matrix`_. + .. _toolchain_zephyr_sdk_install_linux: Install Zephyr SDK on Linux @@ -205,3 +216,4 @@ Install Zephyr SDK on Windows .. _latest Zephyr SDK bundle: https://github.com/zephyrproject-rtos/sdk-ng/releases .. _Zephyr SDK Releases: https://github.com/zephyrproject-rtos/sdk-ng/releases +.. _Zephyr SDK Version Compatibility Matrix: https://github.com/zephyrproject-rtos/sdk-ng/wiki/Zephyr-SDK-Version-Compatibility-Matrix From a534a68265a8759682f99cd7defb582e95cb7624 Mon Sep 17 00:00:00 2001 From: Stephanos Ioannidis Date: Wed, 10 May 2023 23:55:48 +0900 Subject: [PATCH 2/4] doc: Link a specific Zephyr SDK release instead of the latest This commit updates the documentation to link, instead of the latest, the specific release of Zephyr SDK referenced in the documentation because the latest version is subject to change and may not be compatible with the particular Zephyr release. Signed-off-by: Stephanos Ioannidis --- doc/develop/getting_started/index.rst | 12 ++++++------ doc/develop/getting_started/installation_linux.rst | 4 ++-- doc/develop/toolchains/zephyr_sdk.rst | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/doc/develop/getting_started/index.rst b/doc/develop/getting_started/index.rst index 76ecf9114f620..4a1b345ee626d 100644 --- a/doc/develop/getting_started/index.rst +++ b/doc/develop/getting_started/index.rst @@ -496,8 +496,8 @@ that are used to emulate, flash and debug Zephyr applications. .. _ubuntu_zephyr_sdk: - #. Download and verify the `latest Zephyr SDK bundle - `_: + #. Download and verify the `Zephyr SDK bundle + `_: .. code-block:: bash @@ -553,8 +553,8 @@ that are used to emulate, flash and debug Zephyr applications. .. _macos_zephyr_sdk: - #. Download and verify the `latest Zephyr SDK bundle - `_: + #. Download and verify the `Zephyr SDK bundle + `_: .. code-block:: bash @@ -604,8 +604,8 @@ that are used to emulate, flash and debug Zephyr applications. #. Open a ``cmd.exe`` window by pressing the Windows key typing "cmd.exe". - #. Download the `latest Zephyr SDK bundle - `_: + #. Download the `Zephyr SDK bundle + `_: .. code-block:: console diff --git a/doc/develop/getting_started/installation_linux.rst b/doc/develop/getting_started/installation_linux.rst index c272d38a99371..002df48d29505 100644 --- a/doc/develop/getting_started/installation_linux.rst +++ b/doc/develop/getting_started/installation_linux.rst @@ -227,8 +227,8 @@ The Zephyr SDK supports the following target architectures: Follow these steps to install the Zephyr SDK: -#. Download and verify the `latest Zephyr SDK bundle - `_: +#. Download and verify the `Zephyr SDK bundle + `_: .. code-block:: bash diff --git a/doc/develop/toolchains/zephyr_sdk.rst b/doc/develop/toolchains/zephyr_sdk.rst index 0edef9831c1ed..3276f0b96023f 100644 --- a/doc/develop/toolchains/zephyr_sdk.rst +++ b/doc/develop/toolchains/zephyr_sdk.rst @@ -72,7 +72,7 @@ For the full list of compatible Zephyr and Zephyr SDK versions, refer to the Install Zephyr SDK on Linux *************************** -#. Download and verify the `latest Zephyr SDK bundle`_: +#. Download and verify the `Zephyr SDK bundle`_: .. code-block:: bash @@ -125,7 +125,7 @@ If you relocate the SDK directory, you need to re-run the setup script. Install Zephyr SDK on macOS *************************** -#. Download and verify the `latest Zephyr SDK bundle`_: +#. Download and verify the `Zephyr SDK bundle`_: .. code-block:: bash @@ -177,7 +177,7 @@ Install Zephyr SDK on Windows #. Open a ``cmd.exe`` window by pressing the Windows key typing "cmd.exe". -#. Download the `latest Zephyr SDK bundle`_: +#. Download the `Zephyr SDK bundle`_: .. code-block:: console @@ -214,6 +214,6 @@ Install Zephyr SDK on Windows You must rerun the setup script if you relocate the Zephyr SDK bundle directory after the initial setup. -.. _latest Zephyr SDK bundle: https://github.com/zephyrproject-rtos/sdk-ng/releases +.. _Zephyr SDK bundle: https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.16.1 .. _Zephyr SDK Releases: https://github.com/zephyrproject-rtos/sdk-ng/releases .. _Zephyr SDK Version Compatibility Matrix: https://github.com/zephyrproject-rtos/sdk-ng/wiki/Zephyr-SDK-Version-Compatibility-Matrix From df3ed3dad2ccd557d1740f03ff06d434a547fd65 Mon Sep 17 00:00:00 2001 From: Stephanos Ioannidis Date: Thu, 11 May 2023 00:03:03 +0900 Subject: [PATCH 3/4] doc: Update link to the "Zephyr SDK Releases" page This commit updates the link to the "Zephyr SDK Releases" page to point to the "Tags" page instead of the "Releases" page because: * "Tags" page is easier to browse by version. * Download links are not properly rendered on the "Releases" page due to a GitHub limitation (release body preview content length limit). Signed-off-by: Stephanos Ioannidis --- doc/develop/getting_started/installation_linux.rst | 2 +- doc/develop/toolchains/zephyr_sdk.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/develop/getting_started/installation_linux.rst b/doc/develop/getting_started/installation_linux.rst index 002df48d29505..acb10471c6eba 100644 --- a/doc/develop/getting_started/installation_linux.rst +++ b/doc/develop/getting_started/installation_linux.rst @@ -317,5 +317,5 @@ To make sure this variable is unset, run: unset ZEPHYR_SDK_INSTALL_DIR -.. _Zephyr SDK Releases: https://github.com/zephyrproject-rtos/sdk-ng/releases +.. _Zephyr SDK Releases: https://github.com/zephyrproject-rtos/sdk-ng/tags .. _CMake Downloads: https://cmake.org/download diff --git a/doc/develop/toolchains/zephyr_sdk.rst b/doc/develop/toolchains/zephyr_sdk.rst index 3276f0b96023f..951ddb9b9a8cd 100644 --- a/doc/develop/toolchains/zephyr_sdk.rst +++ b/doc/develop/toolchains/zephyr_sdk.rst @@ -215,5 +215,5 @@ Install Zephyr SDK on Windows the initial setup. .. _Zephyr SDK bundle: https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.16.1 -.. _Zephyr SDK Releases: https://github.com/zephyrproject-rtos/sdk-ng/releases +.. _Zephyr SDK Releases: https://github.com/zephyrproject-rtos/sdk-ng/tags .. _Zephyr SDK Version Compatibility Matrix: https://github.com/zephyrproject-rtos/sdk-ng/wiki/Zephyr-SDK-Version-Compatibility-Matrix From 95d5f9a1cafc3a304c1c535cf9798a0c2a0e5230 Mon Sep 17 00:00:00 2001 From: Stephanos Ioannidis Date: Tue, 16 May 2023 21:28:13 +0900 Subject: [PATCH 4/4] doc: picolibc: Add module and toolchain Picolibc synchronisation policy This commit clarifies that the toolchain-bundled Picolibc in the Zephyr SDK must also be updated when updating the Picolibc module. Signed-off-by: Stephanos Ioannidis --- doc/develop/languages/c/picolibc.rst | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/doc/develop/languages/c/picolibc.rst b/doc/develop/languages/c/picolibc.rst index 5bbefbaeeab42..32ab8732c7ade 100644 --- a/doc/develop/languages/c/picolibc.rst +++ b/doc/develop/languages/c/picolibc.rst @@ -23,6 +23,8 @@ the library internal system calls to the equivalent Zephyr API calls. .. _`C17 (ISO/IEC 9899:2018)`: https://www.iso.org/standard/74528.html .. _`POSIX 2018 (IEEE Std 1003.1-2017)`: https://pubs.opengroup.org/onlinepubs/9699919799/functions/printf.html +.. _c_library_picolibc_module: + Picolibc Module =============== @@ -38,6 +40,12 @@ The Picolibc module can be enabled by selecting :kconfig:option:`CONFIG_PICOLIBC_USE_MODULE` in the application configuration file. +When updating the Picolibc module to a newer version, the +:ref:`toolchain-bundled Picolibc in the Zephyr SDK +` must also be updated to the same version. + +.. _c_library_picolibc_toolchain: + Toolchain Picolibc ================== @@ -49,6 +57,11 @@ The toolchain version of Picolibc can be enabled by de-selecting :kconfig:option:`CONFIG_PICOLIBC_USE_MODULE` in the application configuration file. +For every release of Zephyr, the toolchain-bundled Picolibc and the +:ref:`Picolibc module ` are guaranteed to be in +sync when using the +:ref:`recommended version of Zephyr SDK `. + Formatted Output ****************