From eb0d101faa0ff7e252cef35a052c98ce9fc82f04 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Wed, 18 Dec 2024 22:55:40 +0100 Subject: [PATCH 01/14] manifest: freez Zephyr to TiaC's v3.7.1 branch As we are preparing support for Zephyr 3.7.1 this freez the Zephyr version to v3.7.1 tag with following the TiaC's v3.7.1 branch for bug fixes and security updates. Signed-off-by: Stephan Linz --- submanifests/zephyr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submanifests/zephyr.yml b/submanifests/zephyr.yml index 28c7a4e683..e5c30eafd2 100644 --- a/submanifests/zephyr.yml +++ b/submanifests/zephyr.yml @@ -33,7 +33,7 @@ manifest: path: zephyr remote: tiacsys repo-path: zephyr - revision: tiacsys/v3.7-branch + revision: tiacsys/v3.7.1 clone-depth: 5000 # import submodules from Zephyr manifest import: From 5847eb6d771982ea28def59cdb5a646cbfbc4031 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Wed, 18 Dec 2024 23:01:14 +0100 Subject: [PATCH 02/14] manifest: freez ubxlib to TiaC's stable hash As we are preparing support for Zephyr 3.7.1 this freez the ubxlib version to the well known stable sha1 commit hash with following the TiaC's branch for bug fixes and security updates. Signed-off-by: Stephan Linz --- submanifests/ubxlib.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submanifests/ubxlib.yml b/submanifests/ubxlib.yml index 72caa3f543..e70dd73c8e 100644 --- a/submanifests/ubxlib.yml +++ b/submanifests/ubxlib.yml @@ -29,5 +29,5 @@ manifest: path: modules/lib/ubxlib remote: tiacsys repo-path: ubxlib - revision: tiacsys/master + revision: 62c0021cbf079b43cdd9a219e9b10b49ea616e19 submodules: true From d87a703eda083cfe7b9fbbb49eba20c7b9935df8 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Wed, 18 Dec 2024 23:23:59 +0100 Subject: [PATCH 03/14] requirements: change and add differet PyPi packages - base: west to >=0.14.0,<1.4.0 - build: ecdsa to >=0.19.0 - build: pyelftools to >=0.31 - build: pylint to >=3.3 - build: regex to >=2024.9 - build: nrf-regtool == 5.3.0 (interim solution) - extras: pykitinfo to >=1.1 - extras: pymcuprog to >=3.17 - extras: pyserial to >=3.5 - extras: pytest to >=8.3 Signed-off-by: Stephan Linz --- scripts/requirements-base.txt | 5 ++++- scripts/requirements-build.txt | 8 ++++---- scripts/requirements-extras.txt | 16 +++++++++++++--- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/scripts/requirements-base.txt b/scripts/requirements-base.txt index cba6005bae..1da1c46358 100644 --- a/scripts/requirements-base.txt +++ b/scripts/requirements-base.txt @@ -1 +1,4 @@ -west>=0.14.0,<1.3.0 +# it's west +# Keep the lowest version identical to the minimum required +# in zephyr/cmake/modules/west.cmake +west>=0.14.0,<1.4.0 diff --git a/scripts/requirements-build.txt b/scripts/requirements-build.txt index 5334b63bed..aef83a7427 100644 --- a/scripts/requirements-build.txt +++ b/scripts/requirements-build.txt @@ -1,6 +1,6 @@ -ecdsa>=0.18.0 +ecdsa>=0.19.0 imagesize>=1.4 intelhex>=2.3 -pyelftools>=0.30 -pylint>=3.1 -regex>=2023.12 +pyelftools>=0.31 +pylint>=3.3 +regex>=2024.9 diff --git a/scripts/requirements-extras.txt b/scripts/requirements-extras.txt index 0ab00cdaa9..f674c6028f 100644 --- a/scripts/requirements-extras.txt +++ b/scripts/requirements-extras.txt @@ -1,4 +1,14 @@ -pykitinfo>=1.0 -pymcuprog>=3.16 -pyserial>=3.5 +pykitinfo>=1.1 +pymcuprog>=3.17 pyocd>=0.36 +pyserial>=3.5 +pytest>=8.3 + +# +# Interim solution as long as the discussion continues upstream, +# see: https://github.com/zephyrproject-rtos/zephyr/issues/79380 +# - zephyrproject-rtos/zephyr@0b18f31246cd +# see: https://github.com/zephyrproject-rtos/zephyr/pull/79381 +# - zephyrproject-rtos/zephyr@5d155d9bc8b7 +# +nrf-regtool==5.3.0 From f9d0efe7ec02262dc826a39ab2d86e8b3301d89a Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Fri, 20 Dec 2024 10:12:24 +0100 Subject: [PATCH 04/14] doc: bump required tool versions - git: 2.43.0 - cmake: 3.28.3 .. 3.28.6 - west: 0.14.0 .. 1.3.0 - ninja: 1.8.2 .. 1.12.1 - dtc: 1.4.6 .. 1.7.1 - openocd: 0.11 .. 0.12.0 - dfu-util: 0.9 .. 0.11 - zephyr-sdk: 0.16.9 (as needed for Zephyr v3.7 LTS) Signed-off-by: Stephan Linz --- scripts/tools-versions-linux.txt | 8 ++++---- scripts/tools-versions-macos.txt | 18 +++++++++++------- scripts/tools-versions-win10.txt | 18 +++++++++++------- 3 files changed, 26 insertions(+), 18 deletions(-) diff --git a/scripts/tools-versions-linux.txt b/scripts/tools-versions-linux.txt index f305f0c8a8..0afb674ff9 100644 --- a/scripts/tools-versions-linux.txt +++ b/scripts/tools-versions-linux.txt @@ -1,14 +1,14 @@ python3=3.10.4-0ubuntu2 -git=1:2.34.1-1ubuntu1.11 -cmake=3.22.1-1ubuntu1.22.04.2 +git=1:2.43.0-1ubuntu7.1 +cmake=3.28.3-1build7 ninja-build=1.10.1-1 gperf=3.1-1build1 device-tree-compiler=1.6.1-1 openocd=0.12.0-4 (xPack OpenOCD from GitHub) ccache=4.5.1-1 dfu-util=0.9-1 -west=1.2.0 -zephyr-sdk=0.16.8 +west=1.3.0 +zephyr-sdk=0.16.9 armgnutc=13.2.rel1 gnuarmemb=10.3-2021.10 stm32cubeclt=1.14.0 (11.3.rel1) diff --git a/scripts/tools-versions-macos.txt b/scripts/tools-versions-macos.txt index d936777bee..a92d1168bf 100644 --- a/scripts/tools-versions-macos.txt +++ b/scripts/tools-versions-macos.txt @@ -1,13 +1,17 @@ python=3.10.6 -git=2.34.1 -cmake=3.22.6-1 (xPack CMake from GitHub) -ninja=1.10.1-1 (xPack ninja-build from GitHub) +git=2.43.1 +cmake=3.28.4 +ninja=1.12.1 gperf=3.1 -dtc=1.4.7 -openocd=0.12.0-4 (xPack OpenOCD from GitHub) -west=1.2.0 -zephyr-sdk=0.16.8 +dtc=1.7.1 +openocd=0.12.0 +dfu-util=0.11 +west=1.3.0 +zephyr-sdk=0.16.9 armgnutc=13.2.rel1 gnuarmemb=10.3-2021.10 stm32cubeclt=1.14.0 (11.3.rel1) mcuxpressoide=11.9.0 (12.3.rel1) +doxygen=1.9.8 +graphviz=2.50.0 +mscgen=0.20 diff --git a/scripts/tools-versions-win10.txt b/scripts/tools-versions-win10.txt index 2853e35acf..a674a45227 100644 --- a/scripts/tools-versions-win10.txt +++ b/scripts/tools-versions-win10.txt @@ -1,13 +1,17 @@ python=3.10.6 -git=2.34.1.windows.1 -cmake=3.22.6-1 (xPack CMake from GitHub) -ninja=1.10.1-1 (xPack ninja-build from GitHub) +git=2.43.0 +cmake=3.28.6 +ninja=1.12.1 gperf=3.1 -dtc=1.4.7-1 -openocd=0.12.0-4 (xPack OpenOCD from GitHub) -west=1.2.0 -zephyr-sdk=0.16.8 +dtc=1.5.1 (MSYS2 version) +openocd=0.12.0.20231001 +dfu-util=0.11 +west=1.3.0 +zephyr-sdk=0.16.9 armgnutc=13.2.rel1 gnuarmemb=10.3-2021.10 stm32cubeclt=1.14.0 (11.3.rel1) mcuxpressoide=11.9.0 (12.3.rel1) +doxygen=1.9.8 +graphviz=2.49.3 +mscgen=0.20 From 7da5ff777327fa2cd173f98b3bd6a5deb47e2789 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Fri, 20 Dec 2024 10:38:52 +0100 Subject: [PATCH 05/14] doc: cmake: extract more package information - package major version as *_MAJOR - package minor version as *_MINOR - package patch version as *_PATCH Signed-off-by: Stephan Linz --- doc/update_versions.cmake | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/update_versions.cmake b/doc/update_versions.cmake index b6c574f2e1..d4de6d2b90 100644 --- a/doc/update_versions.cmake +++ b/doc/update_versions.cmake @@ -1,3 +1,4 @@ +# Copyright (c) 2024 TiaC Systems # Copyright (c) 2021 Nordic Semiconductor ASA # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause @@ -10,6 +11,12 @@ foreach(file ${TOOLS_VERSION_FILES}) string(REGEX REPLACE "(^[^=]*)=([^\;]*)\;*.*" "\\1" program_name "${program}") string(TOUPPER ${program_name} PROGRAM_NAME_UPPER) set(${PROGRAM_NAME_UPPER}_VERSION_${OS_UPPER} ${CMAKE_MATCH_2}) + string(REGEX MATCH "([0-9]+)[\\.-]([0-9]+)[\\.-]?([0-9]+)?" + ${PROGRAM_NAME_UPPER}_VERSION_${OS_UPPER}_MATCH + ${${PROGRAM_NAME_UPPER}_VERSION_${OS_UPPER}}) + set(${PROGRAM_NAME_UPPER}_VERSION_${OS_UPPER}_MAJOR ${CMAKE_MATCH_1}) + set(${PROGRAM_NAME_UPPER}_VERSION_${OS_UPPER}_MINOR ${CMAKE_MATCH_2}) + set(${PROGRAM_NAME_UPPER}_VERSION_${OS_UPPER}_PATCH ${CMAKE_MATCH_3}) endforeach() endforeach() From 28377e05d91514750d7c6d17a8df856616e95065 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Fri, 20 Dec 2024 10:47:07 +0100 Subject: [PATCH 06/14] doc: bridle: upgrade workspace setup an requirements - add the Deadsnakes PPA for Ubuntu version older than 22.04 - extend the list of required tools with new Python packages - use the new auto generated CLI command names for Python 3 and PIP - revise the manual to rebuild the documentation sets Signed-off-by: Stephan Linz --- doc/bridle/doc_build.rst | 164 ++++++++---- doc/bridle/gs_installing.rst | 255 +++++++++--------- doc/bridle/gs_recommended_versions.rst | 350 +++++++++++++++++-------- doc/bridle/links.txt | 161 +++++++++--- doc/bridle/versions.txt.in | 243 ++++++++++------- 5 files changed, 763 insertions(+), 410 deletions(-) diff --git a/doc/bridle/doc_build.rst b/doc/bridle/doc_build.rst index 6e3db931ac..95e6ace4fd 100644 --- a/doc/bridle/doc_build.rst +++ b/doc/bridle/doc_build.rst @@ -66,8 +66,11 @@ Complete the following steps to install the required tools: To upgrade and install additional required tools on Ubuntu, complete the following steps: - #. Setup the ``apt`` environment to install system packages from the - `TiaC Systems Doxygen PPA`_: + #. If using an Ubuntu version older than 22.04, it is necessary to + add extra repositories to meet the minimum required versions for + the main dependencies listed above. In that case inspect, evaluate + and then apply the `TiaC Systems Doxygen PPA`_ from Canonical + Launchpad: .. code-block:: bash @@ -137,12 +140,15 @@ a way with direct calls to the necessary configuration and build tools. :use west: - .. code-block:: console - - west build --cmake-only -b none -d build/bridle-doc bridle/doc - west build -t zephyr-doxygen -b none -d build/bridle-doc - west build -t bridle-doxygen -b none -d build/bridle-doc - west build -t build-all -b none -d build/bridle-doc + .. zephyr-app-commands:: + :app: bridle/doc + :build-dir: bridle-doc + :goals: zephyr-doxygen bridle-doxygen build-all + :west-args: --cmake-only + :generator: ninja + :tool: west + :host-os: all + :compact: :direct calls: @@ -169,9 +175,9 @@ a way with direct calls to the necessary configuration and build tools. :app: bridle/doc :build-dir: bridle-doc :goals: zephyr-doxygen bridle-doxygen build-all - :host-os: unix - :tool: cmake :generator: ninja + :tool: cmake + :host-os: all :compact: This command will build all documentation sets and can take up to 20 minutes. @@ -183,18 +189,14 @@ the Kconfig Reference and Devicetree Bindings (1st), Zephyr (2nd), and :use west: - .. code-block:: console - - # Use west to configure a Ninja-based buildsystem with cmake: - west build --cmake-only -b none -d build/bridle-doc bridle/doc - - # Now run west on the generated build system: - west build -t kconfig -b none -d build/bridle-doc - west build -t devicetree -b none -d build/bridle-doc - west build -t zephyr-doxygen -b none -d build/bridle-doc - west build -t zephyr -b none -d build/bridle-doc - west build -t bridle-doxygen -b none -d build/bridle-doc - west build -t bridle -b none -d build/bridle-doc + .. zephyr-app-commands:: + :app: bridle/doc + :build-dir: bridle-doc + :goals: kconfig devicetree zephyr-doxygen zephyr bridle-doxygen bridle + :west-args: --cmake-only + :generator: ninja + :tool: west + :host-os: all :direct calls: @@ -202,22 +204,50 @@ the Kconfig Reference and Devicetree Bindings (1st), Zephyr (2nd), and :app: bridle/doc :build-dir: bridle-doc :goals: kconfig devicetree zephyr-doxygen zephyr bridle-doxygen bridle - :host-os: unix - :tool: cmake :generator: ninja + :tool: cmake + :host-os: all It is important to keep the order of build targets! The documentation output is written to :file:`build/bridle-doc/html` or :file:`build/bridle-doc/doxygen/*/html` in case of the standalone API -documentation of Zephyr and Bride. Double-click the :file:`index.html` -file to display the documentation in your browser or type in: +documentation of Zephyr and Bride. + +.. tabs:: + + .. group-tab:: Linux + + Double-click the :file:`index.html` file to display the documentation + in your default browser or type in: + + .. code-block:: console + + xdg-open build/bridle-doc/html/index.html + xdg-open build/bridle-doc/doxygen/zephyr/html/index.html + xdg-open build/bridle-doc/doxygen/bridle/html/index.html + + .. group-tab:: macOS + + Double-click the :file:`index.html` file to display the documentation + in your default browser or type in: + + .. code-block:: console -.. code-block:: console + open build/bridle-doc/html/index.html + open build/bridle-doc/doxygen/zephyr/html/index.html + open build/bridle-doc/doxygen/bridle/html/index.html - firefox build/bridle-doc/html/index.html & - firefox build/bridle-doc/doxygen/zephyr/html/index.html & - firefox build/bridle-doc/doxygen/bridle/html/index.html & + .. group-tab:: Windows + + Double-click the :file:`index.html` file to display the documentation + in your default browser or type in: + + .. code-block:: console + + start build\bridle-doc\html\index.html + start build\bridle-doc\doxygen\zephyr\html\index.html + start build\bridle-doc\doxygen\bridle\html\index.html .. tip:: @@ -232,18 +262,42 @@ file to display the documentation in your browser or type in: Serve documentation locally *************************** -Allow running from localhost; local build can be served with Python -HTTP server module: +Allow running from :bbl:`localhost` at port :bgn:`4711`; local build can be +served with `Python HTTP server`_ module: + +.. parsed-literal:: + :class: highlight -.. code-block:: console + |python_bin| -m http.server -b :bbl:`localhost` -d build/bridle-doc/html :bgn:`4711` & - python -m http.server -b localhost -d build/bridle-doc/html 4711 & +.. tabs:: -Now you can browse locally with: + .. group-tab:: Linux -.. code-block:: console + Now you can browse locally with: - firefox http://localhost:4711/index.html & + .. parsed-literal:: + :class: highlight + + xdg-open http\:\/\/:bbl:`localhost`::bgn:`4711`/index.html & + + .. group-tab:: macOS + + Now you can browse locally with: + + .. parsed-literal:: + :class: highlight + + open http\:\/\/:bbl:`localhost`::bgn:`4711`/index.html & + + .. group-tab:: Windows + + Now you can browse locally with: + + .. parsed-literal:: + :class: highlight + + start http\:\/\/:bbl:`localhost`::bgn:`4711`/index.html & .. _caching_and_cleaning: @@ -266,13 +320,13 @@ To clean the build folders for the Kconfig Reference: .. code-block:: console - west build -t kconfig-clean -b none -d build/bridle-doc + west build -t kconfig-clean -d build/bridle-doc :direct calls: .. code-block:: console - ninja -C build/bridle-doc kconfig-clean + ninja -Cbuild/bridle-doc kconfig-clean To clean the build folders for the Devicetree Bindings: @@ -280,13 +334,13 @@ To clean the build folders for the Devicetree Bindings: .. code-block:: console - west build -t devicetree-clean -b none -d build/bridle-doc + west build -t devicetree-clean -d build/bridle-doc :direct calls: .. code-block:: console - ninja -C build/bridle-doc devicetree-clean + ninja -Cbuild/bridle-doc devicetree-clean To clean the build folders for the Zephyr RTOS documentation: @@ -294,13 +348,13 @@ To clean the build folders for the Zephyr RTOS documentation: .. code-block:: console - west build -t zephyr-clean -b none -d build/bridle-doc + west build -t zephyr-clean -d build/bridle-doc :direct calls: .. code-block:: console - ninja -C build/bridle-doc zephyr-clean + ninja -Cbuild/bridle-doc zephyr-clean To clean the build folders for |BRIDLE| documentation: @@ -308,13 +362,13 @@ To clean the build folders for |BRIDLE| documentation: .. code-block:: console - west build -t bridle-clean -b none -d build/bridle-doc + west build -t bridle-clean -d build/bridle-doc :direct calls: .. code-block:: console - ninja -C build/bridle-doc bridle-clean + ninja -Cbuild/bridle-doc bridle-clean To clean all the documentation sets build files: @@ -322,13 +376,13 @@ To clean all the documentation sets build files: .. code-block:: console - west build -t clean -b none -d build/bridle-doc + west build -t clean -d build/bridle-doc :direct calls: .. code-block:: console - ninja -C build/bridle-doc clean + ninja -Cbuild/bridle-doc clean If you want to build the documentation from scratch just delete the contents of the build folder and run :command:`cmake` and then :command:`ninja` again: @@ -354,19 +408,21 @@ on a web server. To test the version drop-down locally, complete the following steps: 1. In the documentation build folder (for example, :file:`build/bridle-doc`), - rename the :file:`html` folder to :file:`latest`. -#. Open a command window in the documentation build folder and enter the - following command to start a Python web server: + :ubl:`rename` the :file:`html` folder to :file:`latest`. +#. Open a command window :ubl:`inside the documentation build folder` and + enter the following command to start a `Python HTTP server`_: - .. code-block:: console + .. parsed-literal:: + :class: highlight - python -m http.server + |python_bin| -m http.server & Alternative set the documentation build folder as document root: - .. code-block:: console + .. parsed-literal:: + :class: highlight - python -m http.server -d build/bridle-doc + |python_bin| -m http.server -d build/bridle-doc & #. Access http://localhost:8000/latest/index.html with your browser to see the documentation. diff --git a/doc/bridle/gs_installing.rst b/doc/bridle/gs_installing.rst index 95e0b27cfa..1086e88e3d 100644 --- a/doc/bridle/gs_installing.rst +++ b/doc/bridle/gs_installing.rst @@ -43,10 +43,10 @@ The current minimum required version for the main dependencies are: * - Tool - Min. Version - * - |cmake|_ - - |cmake_min_ver| * - |python|_ - |python_min_ver| + * - |cmake|_ + - |cmake_min_ver| * - |dtc|_ - |dtc_min_ver| @@ -58,6 +58,18 @@ The installation process is different depending on your operating system. .. _install_dependencies_linux: + If using an Ubuntu version older than 22.04, it is necessary to add extra + repositories to meet the minimum required Python version listed above. + In that case inspect, evaluate and then apply the `Deadsnakes PPA`_ from + Canonical Launchpad: + + .. parsed-literal:: + :class: highlight + + sudo add-apt-repository ppa:deadsnakes/ppa + sudo apt update + sudo apt install |python_bin|\ -dev |python_bin|\ -tk |python_bin|\ -venv + To install the required tools on Ubuntu, complete the following steps: .. tsn-include:: develop/getting_started/index.rst @@ -221,11 +233,10 @@ To set up the toolchain, complete the following steps: you have installed the toolchain to ``~/gnuarmemb``; if not, change the value for ``GNUARMEMB_TOOLCHAIN_PATH``): - .. parsed-literal:: - :class: highlight + .. code-block:: - export ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb - export GNUARMEMB_TOOLCHAIN_PATH="${HOME}/gnuarmemb" + export ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb + export GNUARMEMB_TOOLCHAIN_PATH="${HOME}/gnuarmemb" .. group-tab:: macOS @@ -233,11 +244,10 @@ To set up the toolchain, complete the following steps: you have installed the toolchain to ``~/gnuarmemb``; if not, change the value for ``GNUARMEMB_TOOLCHAIN_PATH``): - .. parsed-literal:: - :class: highlight + .. code-block:: - export ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb - export GNUARMEMB_TOOLCHAIN_PATH="${HOME}/gnuarmemb" + export ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb + export GNUARMEMB_TOOLCHAIN_PATH="${HOME}/gnuarmemb" .. group-tab:: Windows @@ -245,11 +255,10 @@ To set up the toolchain, complete the following steps: you have installed the toolchain to ``c:\gnuarmemb``; if not, change the value for ``GNUARMEMB_TOOLCHAIN_PATH``): - .. parsed-literal:: - :class: highlight + .. code-block:: - set ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb - set GNUARMEMB_TOOLCHAIN_PATH=c:\\gnuarmemb + set ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb + set GNUARMEMB_TOOLCHAIN_PATH=c:\\gnuarmemb .. _gs_toolchain_persistent_environment: @@ -377,11 +386,10 @@ To set up the toolchain, complete the following steps: you have installed the toolchain to ``/opt/st/stm32cubeclt``; if not, change the value for ``CROSS_COMPILE``): - .. parsed-literal:: - :class: highlight + .. code-block:: - export ZEPHYR_TOOLCHAIN_VARIANT=cross-compile - export CROSS_COMPILE="/opt/st/stm32cubeclt/GNU-tools-for-STM32/bin/arm-none-eabi-" + export ZEPHYR_TOOLCHAIN_VARIANT=cross-compile + export CROSS_COMPILE="/opt/st/stm32cubeclt/GNU-tools-for-STM32/bin/arm-none-eabi-" .. group-tab:: macOS @@ -389,11 +397,10 @@ To set up the toolchain, complete the following steps: you have installed the toolchain to ``/Applications/STM32CubeCLT``; if not, change the value for ``CROSS_COMPILE``): - .. parsed-literal:: - :class: highlight + .. code-block:: - export ZEPHYR_TOOLCHAIN_VARIANT=cross-compile - export CROSS_COMPILE="/Applications/STM32CubeCLT/GNU-tools-for-STM32/bin/arm-none-eabi-" + export ZEPHYR_TOOLCHAIN_VARIANT=cross-compile + export CROSS_COMPILE="/Applications/STM32CubeCLT/GNU-tools-for-STM32/bin/arm-none-eabi-" .. group-tab:: Windows @@ -401,11 +408,10 @@ To set up the toolchain, complete the following steps: you have installed the toolchain to ``C:\ST\STM32CubeCLT``; if not, change the value for ``CROSS_COMPILE``): - .. parsed-literal:: - :class: highlight + .. code-block:: - set ZEPHYR_TOOLCHAIN_VARIANT=cross-compile - set CROSS_COMPILE="C:\\ST\\STM32CubeCLT\\GNU-tools-for-STM32\\bin\\arm-none-eabi-" + set ZEPHYR_TOOLCHAIN_VARIANT=cross-compile + set CROSS_COMPILE="C:\\ST\\STM32CubeCLT\\GNU-tools-for-STM32\\bin\\arm-none-eabi-" #. Set the environment variables persistently, proceed as described above for the :ref:`Arm GNU Toolchain `. @@ -474,11 +480,10 @@ To set up the toolchain, complete the following steps: you have installed the toolchain to ``/usr/local/mcuxpressoide``; if not, change the value for ``CROSS_COMPILE``): - .. parsed-literal:: - :class: highlight + .. code-block:: - export ZEPHYR_TOOLCHAIN_VARIANT=cross-compile - export CROSS_COMPILE="/usr/local/mcuxpressoide/ide/tools/bin/arm-none-eabi-" + export ZEPHYR_TOOLCHAIN_VARIANT=cross-compile + export CROSS_COMPILE="/usr/local/mcuxpressoide/ide/tools/bin/arm-none-eabi-" .. group-tab:: macOS @@ -486,11 +491,10 @@ To set up the toolchain, complete the following steps: you have installed the toolchain to ``/Applications/MCUXpressoIDE``; if not, change the value for ``CROSS_COMPILE``): - .. parsed-literal:: - :class: highlight + .. code-block:: - export ZEPHYR_TOOLCHAIN_VARIANT=cross-compile - export CROSS_COMPILE="/Applications/MCUXpressoIDE/ide/tools/bin/arm-none-eabi-" + export ZEPHYR_TOOLCHAIN_VARIANT=cross-compile + export CROSS_COMPILE="/Applications/MCUXpressoIDE/ide/tools/bin/arm-none-eabi-" .. group-tab:: Windows @@ -498,11 +502,10 @@ To set up the toolchain, complete the following steps: you have installed the toolchain to ``C:\NXP\MCUXpressoIDE``; if not, change the value for ``CROSS_COMPILE``): - .. parsed-literal:: - :class: highlight + .. code-block:: - set ZEPHYR_TOOLCHAIN_VARIANT=cross-compile - set CROSS_COMPILE="C:\\NXP\\MCUXpressoIDE\\ide\\tools\\bin\\arm-none-eabi-" + set ZEPHYR_TOOLCHAIN_VARIANT=cross-compile + set CROSS_COMPILE="C:\\NXP\\MCUXpressoIDE\\ide\\tools\\bin\\arm-none-eabi-" #. Set the environment variables persistently, proceed as described above for the :ref:`Arm GNU Toolchain `. @@ -551,7 +554,7 @@ about the tool itself. Setup Python Virtual Environment ================================ -**Create a new and complet empty workspace directory** (e.g. ``workspace``), +**Create a new and complet empty workspace directory** (e.g. :ugn:`workspace`), change into this new folder and execute: .. tabs:: @@ -561,31 +564,31 @@ change into this new folder and execute: .. parsed-literal:: :class: highlight - python3 -m venv --clear --copies --prompt="$(basename $(pwd))[$(python3 --version)]" .env + |python_bin| -m venv --clear --copies --prompt="$(basename $(pwd))[$(|python_bin| --version)]" .env source .env/bin/activate - pip3 install --upgrade pip - pip3 install --upgrade setuptools + |pip_bin| install --upgrade pip + |pip_bin| install --upgrade setuptools .. group-tab:: macOS .. parsed-literal:: :class: highlight - python3 -m venv --clear --copies --prompt="$(basename $(pwd))[$(python3 --version)]" .env + |python_bin| -m venv --clear --copies --prompt="$(basename $(pwd))[$(|python_bin| --version)]" .env source .env/bin/activate - pip3 install --upgrade pip - pip3 install --upgrade setuptools + |pip_bin| install --upgrade pip + |pip_bin| install --upgrade setuptools .. group-tab:: Windows .. parsed-literal:: :class: highlight - for /f "delims=" %A in ('python --version') do set PV=%A - python -m venv --clear --copies --prompt="%CD%[%PV%]" .env + for /f "delims=" %A in ('|python_bin| --version') do set PV=%A + |python_bin| -m venv --clear --copies --prompt="%CD%[%PV%]" .env .env\Scripts\activate - python -m pip install --upgrade pip - python -m pip install --upgrade setuptools + |pip_bin| install --upgrade pip + |pip_bin| install --upgrade setuptools .. _gs_installing_west: @@ -603,21 +606,21 @@ Install west by entering the following command: .. parsed-literal:: :class: highlight - pip3 install west + |pip_bin| install west .. group-tab:: macOS .. parsed-literal:: :class: highlight - pip3 install west + |pip_bin| install west .. group-tab:: Windows .. parsed-literal:: :class: highlight - pip3 install west + |pip_bin| install west You only need to do this once. @@ -633,21 +636,21 @@ Therefore, remember to regularly check for updates: .. parsed-literal:: :class: highlight - pip3 install --upgrade west + |pip_bin| install --upgrade west .. group-tab:: macOS .. parsed-literal:: :class: highlight - pip3 install --upgrade west + |pip_bin| install --upgrade west .. group-tab:: Windows .. parsed-literal:: :class: highlight - pip3 install --upgrade west + |pip_bin| install --upgrade west .. _cloning_with_west: @@ -658,9 +661,10 @@ Cloning the repositories To clone the repositories, complete the following steps: -#. Open a command window and **go into the workspace directory.** This folder - will hold all |BRIDLE| repositories together with the Python Virtual - Environment that is already created and setup as described above. +#. Open a command window and **go into the workspace directory** (e.g. + :ugn:`workspace`). This folder will hold all |BRIDLE| repositories + together with the Python Virtual Environment that is already created + and setup as described above. #. Determine what revision of |BRIDLE| you want to work with. The recommended way is to work with a specific release. @@ -676,26 +680,26 @@ To clone the repositories, complete the following steps: ``4b44408145d4843f2bf13952a7723680240d0f95``). #. Initialize west with the revision of |BRIDLE| that you want to check out, - replacing *BRIDLE_revision* with the revision: + replacing :ird:`BRIDLE_revision` with the revision: .. parsed-literal:: :class: highlight - west init -m https\://github.com/tiacsys/bridle --mr *BRIDLE_revision* + west init -m https\://github.com/tiacsys/bridle --mr :ird:`BRIDLE_revision` - For example, to check out the |release| release, enter the following command: + For example, to check out the |release_em| release, enter the following command: .. parsed-literal:: :class: highlight - west init -m https\://github.com/tiacsys/bridle --mr |release| + west init -m https\://github.com/tiacsys/bridle --mr |release_em| - To check out the latest state of development, enter the following command: + To check out the :brd:`latest state of development`, enter the following command: .. parsed-literal:: :class: highlight - west init -m https\://github.com/tiacsys/bridle --mr main + west init -m https\://github.com/tiacsys/bridle --mr :brd:`main` .. west-error-start @@ -731,27 +735,36 @@ To clone the repositories, complete the following steps: west zephyr-export west bridle-export -Your directory structure now looks similar to this:: - - workspace - ├── .env - ├── .west - ├── bridle - ├── modules - │   ├── fs - │   │   └── fatfs - │   ├── hal - │   │   ├── altera - │   │   ├── cmsis - │   │   ├── espressif - │   │   ├── stm32 - │   │   └── xtensa - │   └── lib - │   └── canopennode - ├── tools - │   └── net-tools - ├── zephyr - └── ... +Your directory structure now looks similar to this: + + .. parsed-literal:: + :class: highlight + + :ugn:`workspace` + ├── :ibl:`.env` + ├── :ibl:`.west` + ├── :brd:`bridle` + ├── modules + │   ├── fs + │   │   ├── fatfs + │   │   └── ... + │   ├── hal + │   │   ├── altera + │   │   ├── cmsis + │   │   ├── espressif + │   │   ├── stm32 + │   │   ├── xtensa + │   │   └── ... + │   ├── lib + │   │ ├── canopennode + │   │   └── ... + │   └── ... + ├── tools + │   ├── net-tools + │   └── ... + ├── ... + ├── :brd:`zephyr` + └── ... Note that there are additional folders, and that the structure might change. The full set of repositories and folders is defined in the manifest file. @@ -780,43 +793,43 @@ manifest file. :start-after: west-error-start :end-before: west-error-end -For example, to switch to release |release| of |BRIDLE|, enter the -following commands in the ``workspace/bridle`` directory: +For example, to switch to release |release_em| of |BRIDLE|, enter the +following commands in the :ugn:`workspace/bridle` directory: -.. parsed-literal:: - :class: highlight + .. parsed-literal:: + :class: highlight - git fetch origin - git checkout |release| - west update + git fetch origin + git checkout |release_em| + west update -To update to a particular revision (SHA), make sure that you have that +To update to :brd:`a particular revision (SHA)`, make sure that you have that particular revision locally before you check it out (by running ``git fetch origin``): -.. parsed-literal:: - :class: highlight + .. parsed-literal:: + :class: highlight - git fetch origin - git checkout 4b44408145d4843f2bf13952a7723680240d0f95 - west update + git fetch origin + git checkout 4b44408145d4843f2bf13952a7723680240d0f95 + west update -To switch to the latest state of development, enter the ++To switch to the :brd:`latest state of development`, enter the following commands: -.. parsed-literal:: - :class: highlight + .. parsed-literal:: + :class: highlight - git fetch origin - git checkout origin/main - west update + git fetch origin + git checkout origin/main + west update -.. note:: + .. note:: - Run ``west update`` every time you change or modify the current working - branch (for example, when you pull, rebase, or check out a different - branch). This will bring the project repositories to the matching revision - defined by the manifest file. + Run ``west update`` every time you change or modify the current + working branch (for example, when you pull, rebase, or check out + a different branch). This will bring the project repositories to + the matching revision defined by the manifest file. .. _additional_deps: @@ -833,36 +846,36 @@ Use the following commands to install the requirements for each repository. .. group-tab:: Linux - Open a terminal window in the ``workspace`` folder and + Open a terminal window in the :ugn:`workspace` folder and enter the following commands: .. parsed-literal:: :class: highlight - pip3 install --upgrade --requirement zephyr/scripts/requirements.txt - pip3 install --upgrade --requirement bridle/scripts/requirements.txt + |pip_bin| install --upgrade --requirement zephyr/scripts/requirements.txt + |pip_bin| install --upgrade --requirement bridle/scripts/requirements.txt .. group-tab:: macOS - Open a terminal window in the ``workspace`` folder and + Open a terminal window in the :ugn:`workspace` folder and enter the following commands: .. parsed-literal:: :class: highlight - pip3 install --upgrade --requirement zephyr/scripts/requirements.txt - pip3 install --upgrade --requirement bridle/scripts/requirements.txt + |pip_bin| install --upgrade --requirement zephyr/scripts/requirements.txt + |pip_bin| install --upgrade --requirement bridle/scripts/requirements.txt .. group-tab:: Windows - Open a command prompt in the ``workspace`` folder and + Open a command prompt in the :ugn:`workspace` folder and enter the following commands: .. parsed-literal:: :class: highlight - pip3 install --upgrade --requirement zephyr\\scripts\\requirements.txt - pip3 install --upgrade --requirement bridle\\scripts\\requirements.txt + |pip_bin| install --upgrade --requirement zephyr\\scripts\\requirements.txt + |pip_bin| install --upgrade --requirement bridle\\scripts\\requirements.txt .. _installing_tbd: @@ -950,7 +963,7 @@ operating system: .. group-tab:: Linux - Navigate to the ``workspace`` folder and enter the following command: + Navigate to the :ugn:`workspace` folder and enter the following command: ``source zephyr/zephyr-env.sh`` If you need to define additional environment variables, create the file @@ -959,7 +972,7 @@ operating system: .. group-tab:: macOS - Navigate to the ``workspace`` folder and enter the following command: + Navigate to the :ugn:`workspace` folder and enter the following command: ``source zephyr/zephyr-env.sh`` If you need to define additional environment variables, create the file @@ -968,7 +981,7 @@ operating system: .. group-tab:: Windows - Navigate to the ``workspace`` folder and enter the following command: + Navigate to the :ugn:`workspace` folder and enter the following command: ``zephyr\zephyr-env.cmd`` If you need to define additional environment variables, create the file diff --git a/doc/bridle/gs_recommended_versions.rst b/doc/bridle/gs_recommended_versions.rst index e921a35007..3bb3f12269 100644 --- a/doc/bridle/gs_recommended_versions.rst +++ b/doc/bridle/gs_recommended_versions.rst @@ -117,9 +117,8 @@ Required tools ************** The following table shows the tools that are required for working with |BRIDLE| -v\ |version|. It lists the minimum version that is required and the version -that is installed when using the :ref:`gs_app_sim` as described in -:ref:`gs_assistant`. +|version|. It lists the minimum version that is required and the version that is +installed when using the :ref:`gs_app_sim` as described in :ref:`gs_assistant`. .. _req_tools_table: @@ -130,39 +129,90 @@ that is installed when using the :ref:`gs_app_sim` as described in .. list-table:: :header-rows: 1 - * - Tool + * - Tool / Suggestion - Minimum version - Tested version - * - |ccache|_ + * - | |Git|_ + | |git_linux|_ + - | + | + - | + | |git_recommended_ver_linux| + * - | |Python 3|_ + | |python_linux|_ + - | |python_min_ver| + | + - | + | |python_recommended_ver_linux| + * - |west_pypa|_ + - |west_min_ver| + - |west_recommended_ver_linux| + * - | |CMake|_ + | |cmake_linux|_ + - | |cmake_min_ver| + | + - | + | |cmake_recommended_ver_linux| + * - | |Ninja|_ + | |ninja_linux|_ + - | |ninja_min_ver| + | + - | + | |ninja_recommended_ver_linux| + * - | |Device tree compiler|_ + | |dtc_linux|_ + - | |dtc_min_ver| + | + - | + | |dtc_recommended_ver_linux| + * - | |OpenOCD|_ + | |openocd_linux|_ + - | |openocd_min_ver| + | + - | + | |openocd_recommended_ver_linux| + * - | |DFU Utilities|_ + | |dfu_linux|_ + - | + | + - | + | |dfu_util_recommended_ver_linux| + * - | |GNU gperf|_ + | |gperf_linux|_ + - | |gperf_min_ver| + | + - | + | |gperf_recommended_ver_linux| + * - **Tools for documentation** - - - |ccache_recommended_ver_linux| - * - |cmake|_ - - |cmake_min_ver| - - |cmake_recommended_ver_linux| - * - |dfu_util|_ - - - |dfu_util_recommended_ver_linux| - * - |dtc_linux|_ - - |dtc_min_ver| - - |dtc_recommended_ver_linux| - * - |openocd|_ - - |openocd_min_ver| - - |openocd_recommended_ver_linux| - * - |git|_ + * - | |Doxygen|_ + | |doxygen_linux|_ + - | |doxygen_min_ver| + | + - | + | |doxygen_recommended_ver_linux| + * - | |Graphviz|_ + | |graphviz_linux|_ + - | |graphviz_min_ver| + | + - | + | |graphviz_recommended_ver_linux| + * - | |MscGen|_ + | |mscgen_linux|_ + - | |mscgen_min_ver| + | + - | + | |mscgen_recommended_ver_linux| + * - | |ccache|_ + | |ccache_linux|_ + - | + | + - | + | |ccache_recommended_ver_linux| + * - **SDK suites for development** + - - - - |git_recommended_ver_linux| - * - |gperf|_ - - |gperf_min_ver| - - |gperf_recommended_ver_linux| - * - |ninja|_ - - |ninja_min_ver| - - |ninja_recommended_ver_linux| - * - |python|_ - - |python_min_ver| - - |python_recommended_ver_linux| - * - |west|_ - - |west_min_ver| - - |west_recommended_ver_linux| * - |zephyrsdk|_ - |zephyrsdk_min_ver| - |zephyrsdk_recommended_ver_linux| @@ -178,48 +228,90 @@ that is installed when using the :ref:`gs_app_sim` as described in * - |mcuxpressoide|_ - |mcuxpressoide_min_ver| - |mcuxpressoide_recommended_ver_linux| - * - |doxygen|_ - - |doxygen_min_ver| - - |doxygen_recommended_ver_linux| - * - |graphviz|_ - - |graphviz_min_ver| - - |graphviz_recommended_ver_linux| - * - |mscgen|_ - - |mscgen_min_ver| - - |mscgen_recommended_ver_linux| .. group-tab:: macOS .. list-table:: :header-rows: 1 - * - Tool + * - Tool / Suggestion - Minimum version - Tested version - * - |cmake|_ - - |cmake_min_ver| - - |cmake_recommended_ver_macos| - * - |dtc_macos|_ - - |dtc_min_ver| - - |dtc_recommended_ver_macos| - * - |openocd|_ - - |openocd_min_ver| - - |openocd_recommended_ver_macos| - * - |git|_ - - - - |git_recommended_ver_macos| - * - |gperf|_ - - |gperf_min_ver| - - |gperf_recommended_ver_macos| - * - |ninja|_ - - |ninja_min_ver| - - |ninja_recommended_ver_macos| - * - |python|_ - - |python_min_ver| - - |python_recommended_ver_macos| - * - |west|_ + * - | |Git|_ + | |git_macos|_ + - | + | + - | + | |git_recommended_ver_macos| + * - | |Python 3|_ + | |python_macos|_ + - | |python_min_ver| + | + - | + | |python_recommended_ver_macos| + * - |west_pypa|_ - |west_min_ver| - |west_recommended_ver_macos| + * - | |CMake|_ + | |cmake_macos|_ + - | |cmake_min_ver| + | + - | + | |cmake_recommended_ver_macos| + * - | |Ninja|_ + | |ninja_macos|_ + - | |ninja_min_ver| + | + - | + | |ninja_recommended_ver_macos| + * - | |Device tree compiler|_ + | |dtc_macos|_ + - | |dtc_min_ver| + | + - | + | |dtc_recommended_ver_macos| + * - | |OpenOCD|_ + | |openocd_macos|_ + - | |openocd_min_ver| + | + - | + | |openocd_recommended_ver_macos| + * - | |DFU Utilities|_ + | |dfu_macos|_ + - | + | + - | + | |dfu_util_recommended_ver_macos| + * - | |GNU gperf|_ + | |gperf_macos|_ + - | |gperf_min_ver| + | + - | + | |gperf_recommended_ver_macos| + * - **Tools for documentation** + - + - + * - | |Doxygen|_ + | |doxygen_macos|_ + - | |doxygen_min_ver| + | + - | + | |doxygen_recommended_ver_macos| + * - | |Graphviz|_ + | |graphviz_macos|_ + - | |graphviz_min_ver| + | + - | + | |graphviz_recommended_ver_macos| + * - | |MscGen|_ + | |mscgen_macos|_ + - | |mscgen_min_ver| + | + - | + | |mscgen_recommended_ver_macos| + * - **SDK suites for development** + - + - * - |zephyrsdk|_ - |zephyrsdk_min_ver| - |zephyrsdk_recommended_ver_macos| @@ -235,48 +327,90 @@ that is installed when using the :ref:`gs_app_sim` as described in * - |mcuxpressoide|_ - |mcuxpressoide_min_ver| - |mcuxpressoide_recommended_ver_macos| - * - |doxygen|_ - - |doxygen_min_ver| - - - * - |graphviz|_ - - |graphviz_min_ver| - - - * - |mscgen|_ - - |mscgen_min_ver| - - .. group-tab:: Windows .. list-table:: :header-rows: 1 - * - Tool + * - Tool / Suggestion - Minimum version - Tested version - * - |cmake|_ - - |cmake_min_ver| - - |cmake_recommended_ver_win10| - * - |dtc_win10|_ - - |dtc_min_ver| - - |dtc_recommended_ver_win10| - * - |openocd|_ - - |openocd_min_ver| - - |openocd_recommended_ver_win10| - * - |git|_ - - - - |git_recommended_ver_win10| - * - |gperf|_ - - |gperf_min_ver| - - |gperf_recommended_ver_win10| - * - |ninja|_ - - |ninja_min_ver| - - |ninja_recommended_ver_win10| - * - |python|_ - - |python_min_ver| - - |python_recommended_ver_win10| - * - |west|_ + * - | |Git|_ + | |git_win10|_ + - | + | + - | + | |git_recommended_ver_win10| + * - | |Python 3|_ + | |python_win10|_ + - | |python_min_ver| + | + - | + | |python_recommended_ver_win10| + * - |west_pypa|_ - |west_min_ver| - |west_recommended_ver_win10| + * - | |CMake|_ + | |cmake_win10|_ + - | |cmake_min_ver| + | + - | + | |cmake_recommended_ver_win10| + * - | |Ninja|_ + | |ninja_win10|_ + - | |ninja_min_ver| + | + - | + | |ninja_recommended_ver_win10| + * - | |Device tree compiler|_ + | |dtc_win10|_ + - | |dtc_min_ver| + | + - | + | |dtc_recommended_ver_win10| + * - | |OpenOCD|_ + | |openocd_win10|_ + - | |openocd_min_ver| + | + - | + | |openocd_recommended_ver_win10| + * - | |DFU Utilities|_ + | |dfu_win10|_ + - | + | + - | + | |dfu_util_recommended_ver_win10| + * - | |GNU gperf|_ + | |gperf_win10|_ + - | |gperf_min_ver| + | + - | + | |gperf_recommended_ver_win10| + * - **Tools for documentation** + - + - + * - | |Doxygen|_ + | |doxygen_win10|_ + - | |doxygen_min_ver| + | + - | + | |doxygen_recommended_ver_win10| + * - | |Graphviz|_ + | |graphviz_win10|_ + - | |graphviz_min_ver| + | + - | + | |graphviz_recommended_ver_win10| + * - | |MscGen|_ + | |mscgen_win10|_ + - | |mscgen_min_ver| + | + - | + | |mscgen_recommended_ver_win10| + * - **SDK suites for development** + - + - * - |zephyrsdk|_ - |zephyrsdk_min_ver| - |zephyrsdk_recommended_ver_win10| @@ -292,26 +426,18 @@ that is installed when using the :ref:`gs_app_sim` as described in * - |mcuxpressoide|_ - |mcuxpressoide_min_ver| - |mcuxpressoide_recommended_ver_win10| - * - |doxygen|_ - - |doxygen_min_ver| - - - * - |graphviz|_ - - |graphviz_min_ver| - - - * - |mscgen|_ - - |mscgen_min_ver| - - .. _gs_required_python_packages: Required Python dependencies **************************** -The following table shows the Python packages that are required for working with -|BRIDLE| v\ |version|. 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. See :ref:`additional_deps` for -instructions on how to install the Python dependencies. +The following table shows the Python packages that are required for working +with |BRIDLE| |version|. If no version is specified, the default version +provided with :command:`pip` is recommended. If a version is specified, it +is important that the installed version matches the required version. See +:ref:`additional_deps` for instructions on how to install the Python +dependencies. .. _python_req_development: @@ -333,6 +459,8 @@ Building and running applications, samples, and tests - |intelhex_ver| * - |pyelftools|_ - |pyelftools_ver| + * - |pykitinfo|_ + - |pykitinfo_ver| * - |pymcuprog|_ - |pymcuprog_ver| * - |pyserial|_ @@ -341,8 +469,12 @@ Building and running applications, samples, and tests - |pyocd_ver| * - |pylint|_ - |pylint_ver| + * - |pytest|_ + - |pytest_ver| * - |PyYAML|_ - |PyYAML_ver| + * - |regex|_ + - |regex_ver| * - |west|_ - |west_ver| * - |windows-curses|_ (only Windows) diff --git a/doc/bridle/links.txt b/doc/bridle/links.txt index 4563297bbe..04168da6f8 100644 --- a/doc/bridle/links.txt +++ b/doc/bridle/links.txt @@ -64,23 +64,140 @@ .. ### Links to required tools and PyPi packages .. _`Ccache`: https://ccache.dev/download.html +.. _`Ccache (Ubuntu DPKG)`: https://packages.ubuntu.com/noble/ccache +.. _`ccache_linux`: https://packages.ubuntu.com/noble/ccache + .. _`CMake`: https://cmake.org/download/ +.. _`CMake (Ubuntu DPKG)`: https://packages.ubuntu.com/noble/cmake +.. _`cmake_linux`: https://packages.ubuntu.com/noble/cmake +.. _`CMake (Homebrew Formulae)`: https://formulae.brew.sh/formula/cmake +.. _`cmake_macos`: https://formulae.brew.sh/formula/cmake +.. _`CMake (Chocolatey Package)`: https://community.chocolatey.org/packages/cmake +.. _`cmake_win10`: https://community.chocolatey.org/packages/cmake + .. _`DFU Utilities`: https://dfu-util.sourceforge.net/ .. _`dfu_util`: http://dfu-util.sourceforge.net/ +.. _`DFU Utilities (Ubuntu DPKG)`: https://packages.ubuntu.com/noble/dfu-util +.. _`dfu_linux`: https://packages.ubuntu.com/noble/dfu-util +.. _`DFU Utilities (Homebrew Formulae)`: https://formulae.brew.sh/formula/dfu-util +.. _`dfu_macos`: https://formulae.brew.sh/formula/dfu-util +.. _`DFU Utilities (Binary TAR/XZ)`: https://dfu-util.sourceforge.net/releases +.. _`dfu_win10`: https://dfu-util.sourceforge.net/releases + +.. _`Doxygen`: https://www.doxygen.org/ +.. _`Doxygen (Ubuntu DPKG)`: https://packages.ubuntu.com/noble/doxygen +.. _`doxygen_linux`: https://packages.ubuntu.com/noble/doxygen +.. _`Doxygen (Homebrew Cask)`: https://formulae.brew.sh/cask/doxygen +.. _`doxygen_macos`: https://formulae.brew.sh/cask/doxygen +.. _`Doxygen (Chocolatey Package)`: https://community.chocolatey.org/packages/doxygen.install +.. _`doxygen_win10`: https://community.chocolatey.org/packages/doxygen.install + .. _`Device tree compiler`: https://www.devicetree.org/ .. _`dtc`: https://www.devicetree.org/ -.. _`Device tree compiler (MSYS2 Chocolatey)`: https://community.chocolatey.org/packages/dtc-msys2 -.. _`dtc_win10`: https://community.chocolatey.org/packages/dtc-msys2 +.. _`Device tree compiler (Ubuntu DPKG)`: https://packages.ubuntu.com/noble/device-tree-compiler +.. _`dtc_linux`: https://packages.ubuntu.com/noble/device-tree-compiler .. _`Device tree compiler (Homebrew Formulae)`: https://formulae.brew.sh/formula/dtc .. _`dtc_macos`: https://formulae.brew.sh/formula/dtc -.. _`Device tree compiler (Snap Craft)`: https://snapcraft.io/device-tree-compiler -.. _`dtc_linux`: https://snapcraft.io/device-tree-compiler -.. _`OpenOCD`: https://openocd.org/pages/getting-openocd.html +.. _`Device tree compiler (Chocolatey Package)`: https://community.chocolatey.org/packages/dtc-msys2 +.. _`dtc_win10`: https://community.chocolatey.org/packages/dtc-msys2 + .. _`Git`: https://git-scm.com/downloads +.. _`Git (Ubuntu DPKG)`: https://packages.ubuntu.com/noble/git +.. _`git_linux`: https://packages.ubuntu.com/noble/git +.. _`Git (Homebrew Formulae)`: https://formulae.brew.sh/formula/git +.. _`git_macos`: https://formulae.brew.sh/formula/git +.. _`Git (Chocolatey Package)`: https://community.chocolatey.org/packages/git +.. _`git_win10`: https://community.chocolatey.org/packages/git + .. _`GNU gperf`: https://www.gnu.org/software/gperf/ .. _`gperf`: https://www.gnu.org/software/gperf/ +.. _`GNU gperf (Ubuntu DPKG)`: https://packages.ubuntu.com/noble/gperf +.. _`gperf_linux`: https://packages.ubuntu.com/noble/gperf +.. _`GNU gperf (Homebrew Formulae)`: https://formulae.brew.sh/formula/gperf +.. _`gperf_macos`: https://formulae.brew.sh/formula/gperf +.. _`GNU gperf (Chocolatey Package)`: https://community.chocolatey.org/packages/gperf +.. _`gperf_win10`: https://community.chocolatey.org/packages/gperf + +.. _`Graphviz`: https://graphviz.org/ +.. _`Graphviz (Ubuntu DPKG)`: https://packages.ubuntu.com/noble/graphviz +.. _`graphviz_linux`: https://packages.ubuntu.com/noble/graphviz +.. _`Graphviz (Homebrew Formulae)`: https://formulae.brew.sh/formula/graphviz +.. _`graphviz_macos`: https://formulae.brew.sh/formula/graphviz +.. _`Graphviz (Chocolatey Package)`: https://community.chocolatey.org/packages/graphviz +.. _`graphviz_win10`: https://community.chocolatey.org/packages/graphviz + +.. _`MscGen`: https://www.mcternan.me.uk/mscgen +.. _`MscGen (Ubuntu DPKG)`: https://packages.ubuntu.com/noble/mscgen +.. _`mscgen_linux`: https://packages.ubuntu.com/noble/mscgen +.. _`MscGen (Homebrew Formulae)`: https://formulae.brew.sh/formula/mscgen +.. _`mscgen_macos`: https://formulae.brew.sh/formula/mscgen +.. _`MscGen (Windows Installer)`: https://www.mcternan.me.uk/mscgen +.. _`mscgen_win10`: https://www.mcternan.me.uk/mscgen + .. _`Ninja`: https://github.com/ninja-build/ninja/releases -.. _`Python`: https://www.python.org/downloads/ +.. _`Ninja (Ubuntu DPKG)`: https://packages.ubuntu.com/noble/ninja-build +.. _`ninja_linux`: https://packages.ubuntu.com/noble/ninja-build +.. _`Ninja (Homebrew Formulae)`: https://formulae.brew.sh/formula/ninja +.. _`ninja_macos`: https://formulae.brew.sh/formula/ninja +.. _`Ninja (Chocolatey Package)`: https://community.chocolatey.org/packages/ninja +.. _`ninja_win10`: https://community.chocolatey.org/packages/ninja + +.. _`OpenOCD`: https://openocd.org/pages/getting-openocd.html +.. _`OpenOCD (Ubuntu DPKG)`: https://packages.ubuntu.com/noble/openocd +.. _`openocd_linux`: https://packages.ubuntu.com/noble/openocd +.. _`OpenOCD (Homebrew Formulae)`: https://formulae.brew.sh/formula/open-ocd +.. _`openocd_macos`: https://formulae.brew.sh/formula/open-ocd +.. _`OpenOCD (Chocolatey Package)`: https://community.chocolatey.org/packages/openocd +.. _`openocd_win10`: https://community.chocolatey.org/packages/openocd + +.. _`Python 3`: https://www.python.org/downloads +.. _`python`: https://www.python.org/downloads +.. _`Python 3 (Ubuntu DPKG)`: https://packages.ubuntu.com/noble/python3 +.. _`python_linux`: https://packages.ubuntu.com/noble/python3 +.. _`Python 3 (Homebrew Formulae)`: https://formulae.brew.sh/formula/python@3.10 +.. _`python_macos`: https://formulae.brew.sh/formula/python@3.10 +.. _`Python 3 (Chocolatey Package)`: https://community.chocolatey.org/packages/python311 +.. _`python_win10`: https://community.chocolatey.org/packages/python311 +.. _`Python HTTP server`: https://docs.python.org/3/library/http.server.html +.. _`Deadsnakes PPA`: https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa + +.. _`breathe`: https://pypi.org/project/breathe +.. _`docutils`: https://pypi.org/project/docutils +.. _`doxmlparser`: https://pypi.org/project/doxmlparser +.. _`ecdsa`: https://pypi.org/project/ecdsa +.. _`imagesize`: https://pypi.org/project/imagesize +.. _`intelhex`: https://pypi.org/project/intelhex +.. _`pyelftools`: https://pypi.org/project/pyelftools +.. _`Pygments`: https://pypi.org/project/Pygments +.. _`pykitinfo`: https://pypi.org/project/pykitinfo +.. _`pylint`: https://pypi.org/project/pylint +.. _`pymcuprog`: https://pypi.org/project/pymcuprog +.. _`pyocd`: https://pypi.org/project/pyocd +.. _`pyserial`: https://pypi.org/project/pyserial +.. _`pytest`: https://pypi.org/project/pytest +.. _`PyYAML`: https://pypi.org/project/PyYAML +.. _`regex`: https://pypi.org/project/regex + +.. _`Sphinx`: https://pypi.org/project/Sphinx +.. _`sphinx-tsn-theme`: https://pypi.org/project/sphinx-tsn-theme +.. _`sphinx_tsn_theme`: https://pypi.org/project/sphinx-tsn-theme +.. _`sphinx-ncs-theme`: https://pypi.org/project/sphinx-ncs-theme +.. _`sphinxcontrib-mscgen`: https://pypi.org/project/sphinxcontrib-mscgen +.. _`sphinxcontrib-svg2pdfconverter`: https://pypi.org/project/sphinxcontrib-svg2pdfconverter +.. _`sphinx-autobuild`: https://pypi.org/project/sphinx-autobuild +.. _`sphinx-copybutton`: https://pypi.org/project/sphinx-copybutton +.. _`sphinx-csv-filter`: https://pypi.org/project/sphinx-csv-filter +.. _`sphinx-notfound-page`: https://pypi.org/project/sphinx-notfound-page +.. _`sphinx-sitemap`: https://pypi.org/project/sphinx-sitemap +.. _`sphinx-tabs`: https://pypi.org/project/sphinx-tabs +.. _`sphinx-togglebutton`: https://pypi.org/project/sphinx-togglebutton + +.. _`Zephyr RTOS meta tool`: https://pypi.org/project/west +.. _`west_pypa`: https://pypi.org/project/west/ +.. _`west`: https://pypi.org/project/west/ + +.. _`windows-curses`: https://pypi.org/project/windows-curses + .. _`Zephyr SDK`: https://github.com/zephyrproject-rtos/sdk-ng/releases .. _`zephyrsdk`: https://github.com/zephyrproject-rtos/sdk-ng/releases .. _`Arm GNU Toolchain`: https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads @@ -92,38 +209,6 @@ .. _`MCUXpresso IDE (Arm GNU Toolchain)`: https://www.nxp.com/products:MCUXpresso-IDE .. _`mcuxpressoide`: https://www.nxp.com/products:MCUXpresso-IDE .. _`GCC compiler`: https://gcc.gnu.org/ -.. _`Graphviz`: https://graphviz.org/ -.. _`Doxygen`: https://www.doxygen.org/ -.. _`MscGen`: https://www.mcternan.me.uk/mscgen/ - -.. _`ecdsa`: https://pypi.org/project/ecdsa/ -.. _`imagesize`: https://pypi.org/project/imagesize/ -.. _`intelhex`: https://pypi.org/project/intelhex/ -.. _`pyelftools`: https://pypi.org/project/pyelftools/ -.. _`pymcuprog`: https://pypi.org/project/pymcuprog/ -.. _`pyserial`: https://pypi.org/project/pyserial/ -.. _`pyocd`: https://pypi.org/project/pyocd/ -.. _`pylint`: https://pypi.org/project/pylint/ -.. _`PyYAML`: https://pypi.org/project/PyYAML/ -.. _`west`: https://pypi.org/project/west/ -.. _`windows-curses`: https://pypi.org/project/windows-curses/ - -.. _`breathe`: https://pypi.org/project/breathe/ -.. _`docutils`: https://pypi.org/project/docutils/ -.. _`doxmlparser`: https://pypi.org/project/doxmlparser/ -.. _`Pygments`: https://pypi.org/project/Pygments/ -.. _`Sphinx`: https://pypi.org/project/Sphinx/ -.. _`sphinx-tsn-theme`: https://pypi.org/project/sphinx-tsn-theme/ -.. _`sphinx_tsn_theme`: https://pypi.org/project/sphinx-tsn-theme/ -.. _`sphinx-ncs-theme`: https://pypi.org/project/sphinx-ncs-theme/ -.. _`sphinxcontrib-mscgen`: https://pypi.org/project/sphinxcontrib-mscgen/ -.. _`sphinxcontrib-svg2pdfconverter`: https://pypi.org/project/sphinxcontrib-svg2pdfconverter/ -.. _`sphinx-copybutton`: https://pypi.org/project/sphinx-copybutton/ -.. _`sphinx-csv-filter`: https://pypi.org/project/sphinx-csv-filter/ -.. _`sphinx-notfound-page`: https://pypi.org/project/sphinx-notfound-page/ -.. _`sphinx-sitemap`: https://pypi.org/project/sphinx-sitemap/ -.. _`sphinx-tabs`: https://pypi.org/project/sphinx-tabs/ -.. _`sphinx-togglebutton`: https://pypi.org/project/sphinx-togglebutton/ diff --git a/doc/bridle/versions.txt.in b/doc/bridle/versions.txt.in index 379f55968c..d935349dcd 100644 --- a/doc/bridle/versions.txt.in +++ b/doc/bridle/versions.txt.in @@ -1,58 +1,185 @@ +.. |Ccache| replace:: :emphasis:`Ccache` .. |ccache| replace:: :strong:`Ccache` +.. |ccache_linux| replace:: :strong:`Ccache` (Ubuntu DPKG) .. |ccache_recommended_ver_linux| replace:: @CCACHE_VERSION_LINUX@ +.. |CMake| replace:: :emphasis:`CMake` .. |cmake| replace:: :strong:`CMake` +.. |cmake_linux| replace:: :strong:`CMake` (Ubuntu DPKG) +.. |cmake_macos| replace:: :strong:`CMake` (Homebrew Formulae) +.. |cmake_win10| replace:: :strong:`CMake` (Chocolatey Package) .. |cmake_min_ver| replace:: @CMAKE_VERSION_MINIMUM@ -.. |cmake_recommended_ver_win10| replace:: @CMAKE_VERSION_WIN10@ -.. |cmake_recommended_ver_macos| replace:: @CMAKE_VERSION_MACOS@ .. |cmake_recommended_ver_linux| replace:: @CMAKE_VERSION_LINUX@ +.. |cmake_recommended_ver_macos| replace:: @CMAKE_VERSION_MACOS@ +.. |cmake_recommended_ver_win10| replace:: @CMAKE_VERSION_WIN10@ +.. |DFU Utilities| replace:: :emphasis:`DFU Utilities` .. |dfu_util| replace:: :strong:`DFU Utilities` +.. |dfu_linux| replace:: :strong:`DFU Utilities` (Ubuntu DPKG) +.. |dfu_macos| replace:: :strong:`DFU Utilities` (Homebrew Formulae) +.. |dfu_win10| replace:: :strong:`DFU Utilities` (Binary TAR/XZ) .. |dfu_util_recommended_ver_linux| replace:: @DFU-UTIL_VERSION_LINUX@ +.. |dfu_util_recommended_ver_macos| replace:: @DFU-UTIL_VERSION_MACOS@ +.. |dfu_util_recommended_ver_win10| replace:: @DFU-UTIL_VERSION_WIN10@ +.. |Doxygen| replace:: :emphasis:`Doxygen` +.. |doxygen| replace:: :strong:`Doxygen` +.. |doxygen_linux| replace:: :strong:`Doxygen` (Ubuntu DPKG) +.. |doxygen_macos| replace:: :strong:`Doxygen` (Homebrew Cask) +.. |doxygen_win10| replace:: :strong:`Doxygen` (Chocolatey Package) +.. |doxygen_min_ver| replace:: @DOXYGEN_VERSION_MINIMUM@ +.. |doxygen_recommended_ver_linux| replace:: @DOXYGEN_VERSION_LINUX@ +.. |doxygen_recommended_ver_macos| replace:: @DOXYGEN_VERSION_MACOS@ +.. |doxygen_recommended_ver_win10| replace:: @DOXYGEN_VERSION_WIN10@ + +.. |Device tree compiler| replace:: :emphasis:`Device tree compiler` .. |dtc| replace:: :strong:`Device tree compiler` -.. |dtc_win10| replace:: :strong:`Device tree compiler (MSYS2 Chocolatey)` -.. |dtc_macos| replace:: :strong:`Device tree compiler (Homebrew Formulae)` -.. |dtc_linux| replace:: :strong:`Device tree compiler (Snap Craft)` +.. |dtc_linux| replace:: :strong:`Device tree compiler` (Ubuntu DPKG) +.. |dtc_macos| replace:: :strong:`Device tree compiler` (Homebrew Formulae) +.. |dtc_win10| replace:: :strong:`Device tree compiler` (Chocolatey Package) .. |dtc_min_ver| replace:: @DTC_VERSION_MINIMUM@ -.. |dtc_recommended_ver_win10| replace:: @DTC_VERSION_WIN10@ -.. |dtc_recommended_ver_macos| replace:: @DTC_VERSION_MACOS@ .. |dtc_recommended_ver_linux| replace:: @DEVICE-TREE-COMPILER_VERSION_LINUX@ +.. |dtc_recommended_ver_macos| replace:: @DTC_VERSION_MACOS@ +.. |dtc_recommended_ver_win10| replace:: @DTC_VERSION_WIN10@ -.. |openocd| replace:: :strong:`OpenOCD` -.. |openocd_min_ver| replace:: @OPENOCD_VERSION_MINIMUM@ -.. |openocd_recommended_ver_win10| replace:: @OPENOCD_VERSION_WIN10@ -.. |openocd_recommended_ver_macos| replace:: @OPENOCD_VERSION_MACOS@ -.. |openocd_recommended_ver_linux| replace:: @OPENOCD_VERSION_LINUX@ - +.. |Git| replace:: :emphasis:`Git` .. |git| replace:: :strong:`Git` -.. |git_recommended_ver_win10| replace:: @GIT_VERSION_WIN10@ -.. |git_recommended_ver_macos| replace:: @GIT_VERSION_MACOS@ +.. |git_linux| replace:: :strong:`Git` (Ubuntu DPKG) +.. |git_macos| replace:: :strong:`Git` (Homebrew Formulae) +.. |git_win10| replace:: :strong:`Git` (Chocolatey Package) .. |git_recommended_ver_linux| replace:: @GIT_VERSION_LINUX@ +.. |git_recommended_ver_macos| replace:: @GIT_VERSION_MACOS@ +.. |git_recommended_ver_win10| replace:: @GIT_VERSION_WIN10@ +.. |GNU gperf| replace:: :emphasis:`GNU gperf` .. |gperf| replace:: :strong:`GNU gperf` +.. |gperf_linux| replace:: :strong:`GNU gperf` (Ubuntu DPKG) +.. |gperf_macos| replace:: :strong:`GNU gperf` (Homebrew Formulae) +.. |gperf_win10| replace:: :strong:`GNU gperf` (Chocolatey Package) .. |gperf_min_ver| replace:: @GPERF_VERSION_MINIMUM@ -.. |gperf_recommended_ver_win10| replace:: @GPERF_VERSION_WIN10@ -.. |gperf_recommended_ver_macos| replace:: @GPERF_VERSION_MACOS@ .. |gperf_recommended_ver_linux| replace:: @GPERF_VERSION_LINUX@ +.. |gperf_recommended_ver_macos| replace:: @GPERF_VERSION_MACOS@ +.. |gperf_recommended_ver_win10| replace:: @GPERF_VERSION_WIN10@ +.. |Graphviz| replace:: :emphasis:`Graphviz` :command:`dot` +.. |graphviz| replace:: :strong:`Graphviz` +.. |graphviz_linux| replace:: :strong:`Graphviz` (Ubuntu DPKG) +.. |graphviz_macos| replace:: :strong:`Graphviz` (Homebrew Formulae) +.. |graphviz_win10| replace:: :strong:`Graphviz` (Chocolatey Package) +.. |graphviz_min_ver| replace:: @GRAPHVIZ_VERSION_MINIMUM@ +.. |graphviz_recommended_ver_linux| replace:: @GRAPHVIZ_VERSION_LINUX@ +.. |graphviz_recommended_ver_macos| replace:: @GRAPHVIZ_VERSION_MACOS@ +.. |graphviz_recommended_ver_win10| replace:: @GRAPHVIZ_VERSION_WIN10@ + +.. |MscGen| replace:: :emphasis:`MscGen` +.. |mscgen| replace:: :strong:`MscGen` +.. |mscgen_linux| replace:: :strong:`MscGen` (Ubuntu DPKG) +.. |mscgen_macos| replace:: :strong:`MscGen` (Homebrew Formulae) +.. |mscgen_win10| replace:: :strong:`MscGen` (Windows Installer) +.. |mscgen_min_ver| replace:: @MSCGEN_VERSION_MINIMUM@ +.. |mscgen_recommended_ver_linux| replace:: @MSCGEN_VERSION_LINUX@ +.. |mscgen_recommended_ver_macos| replace:: @MSCGEN_VERSION_MACOS@ +.. |mscgen_recommended_ver_win10| replace:: @MSCGEN_VERSION_WIN10@ + +.. |Ninja| replace:: :emphasis:`Ninja` .. |ninja| replace:: :strong:`Ninja` +.. |ninja_linux| replace:: :strong:`Ninja` (Ubuntu DPKG) +.. |ninja_macos| replace:: :strong:`Ninja` (Homebrew Formulae) +.. |ninja_win10| replace:: :strong:`Ninja` (Chocolatey Package) .. |ninja_min_ver| replace:: @NINJA_VERSION_MINIMUM@ -.. |ninja_recommended_ver_win10| replace:: @NINJA_VERSION_WIN10@ -.. |ninja_recommended_ver_macos| replace:: @NINJA_VERSION_MACOS@ .. |ninja_recommended_ver_linux| replace:: @NINJA-BUILD_VERSION_LINUX@ +.. |ninja_recommended_ver_macos| replace:: @NINJA_VERSION_MACOS@ +.. |ninja_recommended_ver_win10| replace:: @NINJA_VERSION_WIN10@ + +.. |OpenOCD| replace:: :emphasis:`OpenOCD` +.. |openocd| replace:: :strong:`OpenOCD` +.. |openocd_linux| replace:: :strong:`OpenOCD` (xPack) +.. |openocd_macos| replace:: :strong:`OpenOCD` (Homebrew Formulae) +.. |openocd_win10| replace:: :strong:`OpenOCD` (Chocolatey Package) +.. |openocd_min_ver| replace:: @OPENOCD_VERSION_MINIMUM@ +.. |openocd_recommended_ver_linux| replace:: @OPENOCD_VERSION_LINUX@ +.. |openocd_recommended_ver_macos| replace:: @OPENOCD_VERSION_MACOS@ +.. |openocd_recommended_ver_win10| replace:: @OPENOCD_VERSION_WIN10@ -.. |python| replace:: :strong:`Python` +.. |Python 3| replace:: :emphasis:`Python 3` +.. |python| replace:: :strong:`Python 3` +.. |python_linux| replace:: :strong:`Python 3` (Ubuntu DPKG) +.. |python_macos| replace:: :strong:`Python 3` (Homebrew Formulae) +.. |python_win10| replace:: :strong:`Python 3` (Chocolatey Package) .. |python_min_ver| replace:: @PYTHON_VERSION_MINIMUM@ -.. |python_recommended_ver_win10| replace:: @PYTHON_VERSION_WIN10@ -.. |python_recommended_ver_macos| replace:: @PYTHON_VERSION_MACOS@ .. |python_recommended_ver_linux| replace:: @PYTHON3_VERSION_LINUX@ +.. |python_recommended_ver_macos| replace:: @PYTHON_VERSION_MACOS@ +.. |python_recommended_ver_win10| replace:: @PYTHON_VERSION_WIN10@ +.. |python_bin| replace:: python@PYTHON_VERSION_MINIMUM_MAJOR@.@PYTHON_VERSION_MINIMUM_MINOR@ +.. |pip_bin| replace:: pip@PYTHON_VERSION_MINIMUM_MAJOR@ + +.. |breathe| replace:: :strong:`breathe` +.. |breathe_ver| replace:: @BREATHE_VERSION@ +.. |docutils| replace:: :strong:`docutils` +.. |docutils_ver| replace:: @DOCUTILS_VERSION@ +.. |doxmlparser| replace:: :strong:`doxmlparser` +.. |doxmlparser_ver| replace:: @DOXMLPARSER_VERSION@ +.. |ecdsa| replace:: :strong:`ecdsa` +.. |ecdsa_ver| replace:: @ECDSA_VERSION@ +.. |imagesize| replace:: :strong:`imagesize` +.. |imagesize_ver| replace:: @IMAGESIZE_VERSION@ +.. |intelhex| replace:: :strong:`intelhex` +.. |intelhex_ver| replace:: @INTELHEX_VERSION@ +.. |pyelftools| replace:: :strong:`pyelftools` +.. |pyelftools_ver| replace:: @PYELFTOOLS_VERSION@ +.. |Pygments| replace:: :strong:`Pygments` +.. |Pygments_ver| replace:: @PYGMENTS_VERSION@ +.. |pykitinfo| replace:: :strong:`pykitinfo` +.. |pykitinfo_ver| replace:: @PYKITINFO_VERSION@ +.. |pylint| replace:: :strong:`pylint` +.. |pylint_ver| replace:: @PYLINT_VERSION@ +.. |pymcuprog| replace:: :strong:`pymcuprog` +.. |pymcuprog_ver| replace:: @PYMCUPROG_VERSION@ +.. |pyocd| replace:: :strong:`pyocd` +.. |pyocd_ver| replace:: @PYOCD_VERSION@ +.. |pyserial| replace:: :strong:`pyserial` +.. |pyserial_ver| replace:: @PYSERIAL_VERSION@ +.. |pytest| replace:: :strong:`pytest` +.. |pytest_ver| replace:: @PYTEST_VERSION@ +.. |PyYAML| replace:: :strong:`PyYAML` +.. |PyYAML_ver| replace:: @PYYAML_VERSION@ +.. |regex| replace:: :strong:`regex` +.. |regex_ver| replace:: @REGEX_VERSION@ +.. |Sphinx| replace:: :strong:`Sphinx` +.. |Sphinx_ver| replace:: @SPHINX_VERSION@ +.. |sphinx_tsn_theme| replace:: :strong:`sphinx-tsn-theme` +.. |sphinx_tsn_theme_ver| replace:: @SPHINX-TSN-THEME_VERSION@ +.. |sphinxcontrib-mscgen| replace:: :strong:`sphinxcontrib-mscgen` +.. |sphinxcontrib-mscgen_ver| replace:: @SPHINXCONTRIB-MSCGEN_VERSION@ +.. |sphinxcontrib-svg2pdfconverter| replace:: :strong:`sphinxcontrib-svg2pdfconverter` +.. |sphinxcontrib-svg2pdfconverter_ver| replace:: @SPHINXCONTRIB-SVG2PDFCONVERTER_VERSION@ +.. |sphinx-copybutton| replace:: :strong:`sphinx-copybutton` +.. |sphinx-copybutton_ver| replace:: @SPHINX-COPYBUTTON_VERSION@ +.. |sphinx-csv-filter| replace:: :strong:`sphinx-csv-filter` +.. |sphinx-csv-filter_ver| replace:: @SPHINX-CSV-FILTER_VERSION@ +.. |sphinx-notfound-page| replace:: :strong:`sphinx-notfound-page` +.. |sphinx-notfound-page_ver| replace:: @SPHINX-NOTFOUND-PAGE_VERSION@ +.. |sphinx-sitemap| replace:: :strong:`sphinx-sitemap` +.. |sphinx-sitemap_ver| replace:: @SPHINX-SITEMAP_VERSION@ +.. |sphinx-tabs| replace:: :strong:`sphinx-tabs` +.. |sphinx-tabs_ver| replace:: @SPHINX-TABS_VERSION@ +.. |sphinx-togglebutton| replace:: :strong:`sphinx-togglebutton` +.. |sphinx-togglebutton_ver| replace:: @SPHINX-TOGGLEBUTTON_VERSION@ + +.. |Zephyr RTOS meta tool| replace:: :emphasis:`Zephyr RTOS meta tool` +.. |west_pypa| replace:: :emphasis:`Zephyr RTOS meta tool` :command:`west` (PyPA) +.. |west| replace:: :strong:`west` +.. |west_ver| replace:: @WEST_VERSION@ .. |west_min_ver| replace:: @WEST_VERSION_MINIMUM@ -.. |west_recommended_ver_win10| replace:: @WEST_VERSION_WIN10@ -.. |west_recommended_ver_macos| replace:: @WEST_VERSION_MACOS@ .. |west_recommended_ver_linux| replace:: @WEST_VERSION_LINUX@ +.. |west_recommended_ver_macos| replace:: @WEST_VERSION_MACOS@ +.. |west_recommended_ver_win10| replace:: @WEST_VERSION_WIN10@ +.. |windows-curses| replace:: :strong:`windows-curses` +.. |windows-curses_ver| replace:: @WINDOWS-CURSES_VERSION@ + +.. |Zephyr SDK| replace:: :emphasis:`Zephyr SDK` .. |zephyrsdk| replace:: :strong:`Zephyr SDK` .. |zephyrsdk_min_ver| replace:: @ZEPHYR-SDK_VERSION_MINIMUM@ .. |zephyrsdk_recommended_ver| replace:: :strong:`@ZEPHYR-SDK_VERSION_MINIMUM@` @@ -60,6 +187,7 @@ .. |zephyrsdk_recommended_ver_macos| replace:: @ZEPHYR-SDK_VERSION_MACOS@ .. |zephyrsdk_recommended_ver_linux| replace:: @ZEPHYR-SDK_VERSION_LINUX@ +.. |Arm GNU Toolchain| replace:: :emphasis:`Arm GNU Toolchain` .. |armgnutc| replace:: :strong:`Arm GNU Toolchain` .. |armgnutc_min_ver| replace:: @ARMGNUTC_VERSION_MINIMUM@ .. |armgnutc_recommended_ver| replace:: :strong:`@ARMGNUTC_VERSION_MINIMUM@` @@ -67,6 +195,7 @@ .. |armgnutc_recommended_ver_macos| replace:: @ARMGNUTC_VERSION_MACOS@ .. |armgnutc_recommended_ver_linux| replace:: @ARMGNUTC_VERSION_LINUX@ +.. |GNU Arm Embedded Toolchain| replace:: :emphasis:`GNU Arm Embedded Toolchain` .. |gnuarmemb| replace:: :strong:`GNU Arm Embedded Toolchain` .. |gnuarmemb_min_ver| replace:: @GNUARMEMB_VERSION_MINIMUM@ .. |gnuarmemb_recommended_ver| replace:: :strong:`@GNUARMEMB_VERSION_MINIMUM@` @@ -74,6 +203,7 @@ .. |gnuarmemb_recommended_ver_macos| replace:: @GNUARMEMB_VERSION_MACOS@ .. |gnuarmemb_recommended_ver_linux| replace:: @GNUARMEMB_VERSION_LINUX@ +.. |STM32CubeCLT (GNU tools for STM32)| replace:: :emphasis:`STM32CubeCLT (GNU tools for STM32)` .. |stm32cubeclt| replace:: :strong:`STM32CubeCLT (GNU tools for STM32)` .. |stm32cubeclt_min_ver| replace:: @STM32CUBECLT_VERSION_MINIMUM@ .. |stm32cubeclt_recommended_ver| replace:: :strong:`@STM32CUBECLT_VERSION_MINIMUM@` @@ -81,73 +211,10 @@ .. |stm32cubeclt_recommended_ver_macos| replace:: @STM32CUBECLT_VERSION_MACOS@ .. |stm32cubeclt_recommended_ver_linux| replace:: @STM32CUBECLT_VERSION_LINUX@ +.. |MCUXpresso IDE (Arm GNU Toolchain)| replace:: :emphasis:`MCUXpresso IDE (Arm GNU Toolchain)` .. |mcuxpressoide| replace:: :strong:`MCUXpresso IDE (Arm GNU Toolchain)` .. |mcuxpressoide_min_ver| replace:: @MCUXPRESSOIDE_VERSION_MINIMUM@ .. |mcuxpressoide_recommended_ver| replace:: :strong:`@MCUXPRESSOIDE_VERSION_MINIMUM@` .. |mcuxpressoide_recommended_ver_win10| replace:: @MCUXPRESSOIDE_VERSION_WIN10@ .. |mcuxpressoide_recommended_ver_macos| replace:: @MCUXPRESSOIDE_VERSION_MACOS@ .. |mcuxpressoide_recommended_ver_linux| replace:: @MCUXPRESSOIDE_VERSION_LINUX@ - -.. |doxygen| replace:: :strong:`Doxygen` -.. |doxygen_min_ver| replace:: @DOXYGEN_VERSION_MINIMUM@ -.. |doxygen_recommended_ver_linux| replace:: @DOXYGEN_VERSION_LINUX@ - -.. |graphviz| replace:: :strong:`Graphviz (dot)` -.. |graphviz_min_ver| replace:: @GRAPHVIZ_VERSION_MINIMUM@ -.. |graphviz_recommended_ver_linux| replace:: @GRAPHVIZ_VERSION_LINUX@ - -.. |mscgen| replace:: :strong:`MscGen` -.. |mscgen_min_ver| replace:: @MSCGEN_VERSION_MINIMUM@ -.. |mscgen_recommended_ver_linux| replace:: @MSCGEN_VERSION_LINUX@ - -.. |ecdsa| replace:: :strong:`ecdsa` -.. |ecdsa_ver| replace:: @ECDSA_VERSION@ -.. |imagesize| replace:: :strong:`imagesize` -.. |imagesize_ver| replace:: @IMAGESIZE_VERSION@ -.. |intelhex| replace:: :strong:`intelhex` -.. |intelhex_ver| replace:: @INTELHEX_VERSION@ -.. |pyelftools| replace:: :strong:`pyelftools` -.. |pyelftools_ver| replace:: @PYELFTOOLS_VERSION@ -.. |pymcuprog| replace:: :strong:`pymcuprog` -.. |pymcuprog_ver| replace:: @PYMCUPROG_VERSION@ -.. |pyserial| replace:: :strong:`pyserial` -.. |pyserial_ver| replace:: @PYSERIAL_VERSION@ -.. |pyocd| replace:: :strong:`pyocd` -.. |pyocd_ver| replace:: @PYOCD_VERSION@ -.. |pylint| replace:: :strong:`pylint` -.. |pylint_ver| replace:: @PYLINT_VERSION@ -.. |PyYAML| replace:: :strong:`PyYAML` -.. |PyYAML_ver| replace:: @PYYAML_VERSION@ -.. |west| replace:: :strong:`west` -.. |west_ver| replace:: @WEST_VERSION@ -.. |windows-curses| replace:: :strong:`windows-curses` -.. |windows-curses_ver| replace:: @WINDOWS-CURSES_VERSION@ - -.. |breathe| replace:: :strong:`breathe` -.. |breathe_ver| replace:: @BREATHE_VERSION@ -.. |docutils| replace:: :strong:`docutils` -.. |docutils_ver| replace:: @DOCUTILS_VERSION@ -.. |doxmlparser| replace:: :strong:`doxmlparser` -.. |doxmlparser_ver| replace:: @DOXMLPARSER_VERSION@ -.. |Pygments| replace:: :strong:`Pygments` -.. |Pygments_ver| replace:: @PYGMENTS_VERSION@ -.. |Sphinx| replace:: :strong:`Sphinx` -.. |Sphinx_ver| replace:: @SPHINX_VERSION@ -.. |sphinx_tsn_theme| replace:: :strong:`sphinx-tsn-theme` -.. |sphinx_tsn_theme_ver| replace:: @SPHINX-TSN-THEME_VERSION@ -.. |sphinxcontrib-mscgen| replace:: :strong:`sphinxcontrib-mscgen` -.. |sphinxcontrib-mscgen_ver| replace:: @SPHINXCONTRIB-MSCGEN_VERSION@ -.. |sphinxcontrib-svg2pdfconverter| replace:: :strong:`sphinxcontrib-svg2pdfconverter` -.. |sphinxcontrib-svg2pdfconverter_ver| replace:: @SPHINXCONTRIB-SVG2PDFCONVERTER_VERSION@ -.. |sphinx-copybutton| replace:: :strong:`sphinx-copybutton` -.. |sphinx-copybutton_ver| replace:: @SPHINX-COPYBUTTON_VERSION@ -.. |sphinx-csv-filter| replace:: :strong:`sphinx-csv-filter` -.. |sphinx-csv-filter_ver| replace:: @SPHINX-CSV-FILTER_VERSION@ -.. |sphinx-notfound-page| replace:: :strong:`sphinx-notfound-page` -.. |sphinx-notfound-page_ver| replace:: @SPHINX-NOTFOUND-PAGE_VERSION@ -.. |sphinx-sitemap| replace:: :strong:`sphinx-sitemap` -.. |sphinx-sitemap_ver| replace:: @SPHINX-SITEMAP_VERSION@ -.. |sphinx-tabs| replace:: :strong:`sphinx-tabs` -.. |sphinx-tabs_ver| replace:: @SPHINX-TABS_VERSION@ -.. |sphinx-togglebutton| replace:: :strong:`sphinx-togglebutton` -.. |sphinx-togglebutton_ver| replace:: @SPHINX-TOGGLEBUTTON_VERSION@ From 8a222814d8ba67037b5b7ef3e8009fb93a83e453 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Fri, 20 Dec 2024 20:44:14 +0100 Subject: [PATCH 07/14] cmake: toolchain: simplify Zephyr SDK location Bridle now fully relies on the "find_package" CMake script provided by Zephyr to locate at least the required or a valid Zephyr SDK version. CMake scripting support has been removed without replacement. Signed-off-by: Stephan Linz --- cmake/modules/bridle/toolchain.cmake | 127 ++++++++------------------- 1 file changed, 35 insertions(+), 92 deletions(-) diff --git a/cmake/modules/bridle/toolchain.cmake b/cmake/modules/bridle/toolchain.cmake index 7191d7f9b4..88b60a9aab 100644 --- a/cmake/modules/bridle/toolchain.cmake +++ b/cmake/modules/bridle/toolchain.cmake @@ -1,4 +1,4 @@ -# Copyright (c) 2022 TiaC Systems +# Copyright (c) 2022-2024 TiaC Systems # SPDX-License-Identifier: Apache-2.0 # The purpose of this file is to verify that required variables have been @@ -6,128 +6,71 @@ # # It also offers the possibility to verify that the selected toolchain # matches the required version range. Currently, only when using the -# Zephyr SDK the version is verified, but other other version verification +# Zephyr SDK the version is verified, but other version verification # for other toolchains can be added as needed. -# -# This file can also be executed in script mode so that it can be used in -# other places, such as python scripts. -# -# When invoked as a script with -P: -# cmake [options] -P toolchain.cmake -# -# it takes the following arguments: -# -D FORMAT=json -# Print the output as a json formatted string, useful for Python. -# -D BRIDLE_TOOLCHAIN_ZEPHYR_SDK_VERSION=x.y.z -# Verify given Zephyr SDK version exactly. -# -D BRIDLE_TOOLCHAIN_ZEPHYR_SDK_REQUIRED_VERSION=x.y.z -# Verify given Zephyr SDK version as minimally required. include_guard(GLOBAL) include(extensions) +# This is the required Zephyr-SDK version for Bridle. +if((DEFINED BRIDLE_TOOLCHAIN_ZEPHYR_SDK_REQUIRED_VERSION) AND + (DEFINED BRIDLE_TOOLCHAIN_ZEPHYR_SDK_VERSION)) + string(JOIN "..." BRIDLE_TOOLCHAIN_ZEPHYR_SDK_CONSIDERED_VERSIONS + "${BRIDLE_TOOLCHAIN_ZEPHYR_SDK_REQUIRED_VERSION}" + "${BRIDLE_TOOLCHAIN_ZEPHYR_SDK_VERSION}") +else() + set(error_msg "The considered Zephyr SDK version can not set.\n") + set(missing_version "Either 'BRIDLE_TOOLCHAIN_ZEPHYR_SDK_REQUIRED_VERSION' " + "or 'BRIDLE_TOOLCHAIN_ZEPHYR_SDK_VERSION' not defined!") + string(APPEND error_msg ${missing_version}) + message(FATAL_ERROR "${error_msg}\n") +endif() + +# Save default values for later restore. +set(CMAKE_CURRENT_MESSAGE_INDENT ${CMAKE_MESSAGE_INDENT}) + # Set internal variables if set in environment. zephyr_get(ZEPHYR_TOOLCHAIN_VARIANT) - zephyr_get(ZEPHYR_SDK_INSTALL_DIR) -if((NOT "zephyr" STREQUAL ${ZEPHYR_TOOLCHAIN_VARIANT}) AND - (NOT ${ZEPHYR_TOOLCHAIN_VARIANT} STREQUAL NONE) AND - (DEFINED ZEPHYR_TOOLCHAIN_VARIANT)) - message(STATUS "Bridle is trying to use Zephyr toolchain variant " - "'${ZEPHYR_TOOLCHAIN_VARIANT}' for compiling.") - return() -endif() - -# This is the required Zephyr-SDK version for Bridle. -if(BRIDLE_TOOLCHAIN_ZEPHYR_SDK_VERSION) - if(${BRIDLE_TOOLCHAIN_ZEPHYR_SDK_VERSION} STREQUAL - ${BRIDLE_TOOLCHAIN_ZEPHYR_SDK_REQUIRED_VERSION}) - set(EXACT "EXACT") - else() - string(JOIN "..." BRIDLE_TOOLCHAIN_ZEPHYR_SDK_REQUIRED_VERSION - "${BRIDLE_TOOLCHAIN_ZEPHYR_SDK_REQUIRED_VERSION}" - "${BRIDLE_TOOLCHAIN_ZEPHYR_SDK_VERSION}") - endif() -endif() - # Verify Zephyr SDK Toolchain. -# There are three places where Zephyr SDK should be looked up: -# 1) Zephyr SDK specified as toolchain by environment == pass through to Zephyr -# 2) Required toolchain specified by file == search for package -# Until we completely deprecate it if(("zephyr" STREQUAL ${ZEPHYR_TOOLCHAIN_VARIANT}) OR (NOT DEFINED ZEPHYR_TOOLCHAIN_VARIANT) OR (DEFINED ZEPHYR_SDK_INSTALL_DIR) OR - (NOT ${BRIDLE_TOOLCHAIN_ZEPHYR_SDK_REQUIRED_VERSION} STREQUAL NONE)) + (NOT ${BRIDLE_TOOLCHAIN_ZEPHYR_SDK_CONSIDERED_VERSIONS} STREQUAL NONE)) # No toolchain was specified, so inform user that we will be searching. if ((NOT DEFINED ZEPHYR_SDK_INSTALL_DIR) AND - (NOT DEFINED ZEPHYR_TOOLCHAIN_VARIANT) AND - (NOT CMAKE_SCRIPT_MODE_FILE)) + (NOT DEFINED ZEPHYR_TOOLCHAIN_VARIANT)) message(STATUS "Bridle is trying to locate Zephyr SDK " - "${BRIDLE_TOOLCHAIN_ZEPHYR_SDK_REQUIRED_VERSION}.") + "${BRIDLE_TOOLCHAIN_ZEPHYR_SDK_CONSIDERED_VERSIONS}.") endif() - # This ensure packages are sorted in natural ascending order. - set(CMAKE_FIND_PACKAGE_SORT_DIRECTION_CURRENT ${CMAKE_FIND_PACKAGE_SORT_DIRECTION}) - set(CMAKE_FIND_PACKAGE_SORT_ORDER_CURRENT ${CMAKE_FIND_PACKAGE_SORT_ORDER}) - set(CMAKE_FIND_PACKAGE_SORT_DIRECTION DEC) - set(CMAKE_FIND_PACKAGE_SORT_ORDER NATURAL) - - find_package(Zephyr-sdk ${BRIDLE_TOOLCHAIN_ZEPHYR_SDK_REQUIRED_VERSION} - ${EXACT} REQUIRED QUIET CONFIG - HINTS ${ZEPHYR_SDK_INSTALL_DIR} - PATHS /usr - /usr/local - /opt - $ENV{HOME} - $ENV{HOME}/.local - $ENV{HOME}/.local/opt - $ENV{HOME}/bin) - - set(CMAKE_FIND_PACKAGE_SORT_DIRECTION ${CMAKE_FIND_PACKAGE_SORT_DIRECTION_CURRENT}) - set(CMAKE_FIND_PACKAGE_SORT_ORDER ${CMAKE_FIND_PACKAGE_SORT_ORDER_CURRENT}) + list(APPEND CMAKE_MESSAGE_INDENT " [✓] ") + find_package(Zephyr-sdk ${BRIDLE_TOOLCHAIN_ZEPHYR_SDK_CONSIDERED_VERSIONS} QUIET REQUIRED) if((${Zephyr-sdk_FOUND}) AND (DEFINED ZEPHYR_SDK_INSTALL_DIR) AND - (DEFINED ZEPHYR_TOOLCHAIN_VARIANT)) - if(NOT CMAKE_SCRIPT_MODE_FILE) - message(STATUS "Using Zephyr SDK ${Zephyr-sdk_VERSION} " - "for compiling. (${Zephyr-sdk_DIR})") - endif() + (DEFINED ZEPHYR_TOOLCHAIN_VARIANT) AND + (${Zephyr-sdk_VERSION} VERSION_LESS_EQUAL ${BRIDLE_TOOLCHAIN_ZEPHYR_SDK_VERSION})) + message(STATUS "Found toolchain: ${Zephyr-sdk_VERSION} (${Zephyr-sdk_DIR})") set(Zephyr-sdk_ROOT ${Zephyr-sdk_DIR}) else() set(error_msg "The required Zephyr SDK version was not found.\n") set(missing_version "You need SDK version " - "${BRIDLE_TOOLCHAIN_ZEPHYR_SDK_REQUIRED_VERSION} " - "or newer.") + "${BRIDLE_TOOLCHAIN_ZEPHYR_SDK_VERSION}") string(APPEND error_msg ${missing_version}) message(FATAL_ERROR "${error_msg}\n" "The Zephyr SDK can be downloaded from: " - "https://github.com/zephyrproject-rtos/sdk-ng/releases/download" - "/v${BRIDLE_TOOLCHAIN_ZEPHYR_SDK_REQUIRED_VERSION}" - "/zephyr-sdk-${BRIDLE_TOOLCHAIN_ZEPHYR_SDK_REQUIRED_VERSION}" - "-setup.run\n") + "https://github.com/zephyrproject-rtos/sdk-ng/releases/tag" + "/v${BRIDLE_TOOLCHAIN_ZEPHYR_SDK_VERSION}\n") endif() endif() -if(CMAKE_SCRIPT_MODE_FILE) - if("${FORMAT}" STREQUAL "json") - set(json "{\"ZEPHYR_TOOLCHAIN_VARIANT\" : \"${ZEPHYR_TOOLCHAIN_VARIANT}\", ") - string(APPEND json "\"SDK_VERSION\": \"${SDK_VERSION}\", ") - string(APPEND json "\"ZEPHYR_SDK_INSTALL_DIR\" : \"${ZEPHYR_SDK_INSTALL_DIR}\"}") - message("${json}") - else() - message(STATUS "ZEPHYR_TOOLCHAIN_VARIANT: ${ZEPHYR_TOOLCHAIN_VARIANT}") - if(DEFINED SDK_VERSION) - message(STATUS "SDK_VERSION: ${SDK_VERSION}") - endif() - - if(DEFINED ZEPHYR_SDK_INSTALL_DIR) - message(STATUS "ZEPHYR_SDK_INSTALL_DIR : ${ZEPHYR_SDK_INSTALL_DIR}") - endif() - endif() -endif() +# Clean up temp variables +set(CMAKE_MESSAGE_INDENT ${CMAKE_CURRENT_MESSAGE_INDENT}) +set(BRIDLE_TOOLCHAIN_ZEPHYR_SDK_CONSIDERED_VERSIONS) +set(missing_version) +set(error_msg) From a3939f3e9659f8a3b88f0864d8f749b69d450379 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Wed, 13 Nov 2024 20:33:02 +0100 Subject: [PATCH 08/14] revert "ci: github: doc-build: avoid Sphinx v6 issue" This reverts commit 8a53af4278ed7273d5d7c5cb6b0f3855de3cf965. Signed-off-by: Stephan Linz --- .github/workflows/doc-build.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/doc-build.yml b/.github/workflows/doc-build.yml index cabf9a9a9c..1dc8796033 100644 --- a/.github/workflows/doc-build.yml +++ b/.github/workflows/doc-build.yml @@ -103,14 +103,6 @@ jobs: run: | cmake -B build -GNinja bridle/doc ninja -C build build-all - # - # For some unknown reason, the layout of the Sphinx Tabs extension - # in the docset "devicetree" is no longer rendered properly by the - # HTML Builder of Sphinx v6. Only cleaning it up and rebuilding it - # helps so far. - # - ninja -C build devicetree-clean - ninja -C build devicetree-html - name: Archive documentation working-directory: workspace/build From f8563c71f9672d7db381efe7e632713d1772be4d Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Fri, 20 Dec 2024 21:43:30 +0100 Subject: [PATCH 09/14] ci: github: bump Zephyr CI container to v0.26.18 Update: * Zephyr SDK to 0.16.9 * nrf-regtool to ~5.3.0 * bsim version to 2.3 * renode version to 1.15.3 Add: * junit2html * Rust target support Signed-off-by: Stephan Linz --- .github/workflows/qa-integration.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/qa-integration.yml b/.github/workflows/qa-integration.yml index 3850390a54..5e234e3ef0 100644 --- a/.github/workflows/qa-integration.yml +++ b/.github/workflows/qa-integration.yml @@ -41,10 +41,10 @@ jobs: if: github.repository_owner == 'tiacsys' runs-on: [self-hosted, ci-32g-x8, linux, x64, container] container: - image: ghcr.io/zephyrproject-rtos/ci:v0.26.13 + image: ghcr.io/zephyrproject-rtos/ci:v0.26.18 options: '--cpus 4 --memory 8g --entrypoint /bin/bash' env: - ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.8 + ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.9 steps: - name: Apply container owner mismatch workaround @@ -160,10 +160,10 @@ jobs: if: github.repository_owner == 'tiacsys' runs-on: [self-hosted, ci-32g-x8, linux, x64, container] container: - image: ghcr.io/zephyrproject-rtos/ci:v0.26.13 + image: ghcr.io/zephyrproject-rtos/ci:v0.26.18 options: '--cpus 4 --memory 8g --entrypoint /bin/bash' env: - ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.8 + ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.9 steps: - name: Apply container owner mismatch workaround @@ -279,10 +279,10 @@ jobs: if: github.repository_owner == 'tiacsys' runs-on: [self-hosted, ci-32g-x8, linux, x64, container] container: - image: ghcr.io/zephyrproject-rtos/ci:v0.26.13 + image: ghcr.io/zephyrproject-rtos/ci:v0.26.18 options: '--cpus 4 --memory 8g --entrypoint /bin/bash' env: - ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.8 + ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.16.9 steps: - name: Apply container owner mismatch workaround From ce71989bea76053c48658cabf101d718f9c7d602 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Fri, 20 Dec 2024 22:20:39 +0100 Subject: [PATCH 10/14] ci: github: setup Pyhton 3.10 virtual environment The self-hosted GitHub action runner for executing the integration tests on targets (HiL) requires an explicitly activated virtual Pyhton 3.10 environment for the time being. The machine used as HiL gateway (RPi4) has an Ubuntu 20.04 LTS system installation with the Python 3.10 packages from the Deadsnake PPA. Signed-off-by: Stephan Linz --- .github/workflows/qa-integration.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/qa-integration.yml b/.github/workflows/qa-integration.yml index 5e234e3ef0..a071963ca8 100644 --- a/.github/workflows/qa-integration.yml +++ b/.github/workflows/qa-integration.yml @@ -418,10 +418,6 @@ jobs: # seems to be a stable workaround - happened in Oct. 2023. git config --global --add http.version HTTP/1.1 - - name: Update GitHub PATH for west - run: | - echo "$HOME/.local/bin" >> $GITHUB_PATH - # It is important that this is run before any caching tasks as cleanups # are run in reverse order (and you do not want to cleanup before the # caching is saved). @@ -445,9 +441,18 @@ jobs: path: workspace/bridle ref: ${{ github.ref }} + - name: Setup Pyhton 3.10 virtual environment + working-directory: workspace + run: | + python3.10 -m venv --clear --copies .env + source .env/bin/activate + echo "$PATH" > $GITHUB_PATH + - name: Install base dependencies working-directory: workspace run: | + which python3 && python3 --version + which pip3 && pip3 --version pip3 install --upgrade pip pip3 install --upgrade setuptools pip3 install --upgrade --requirement bridle/scripts/requirements-base.txt From c84e9bbf832625f89c4ed717c1faa85b792f5037 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Fri, 20 Dec 2024 21:17:51 +0100 Subject: [PATCH 11/14] doc: add 3.7.1 to pick list Add 3.7.1 tag to release list to be shown on documentation side bar. Signed-off-by: Stephan Linz --- doc/versions.json | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/doc/versions.json b/doc/versions.json index 922a5efd36..d13ae41b7a 100644 --- a/doc/versions.json +++ b/doc/versions.json @@ -2,6 +2,7 @@ "VERSIONS": [ "latest", "3.7", + "3.7.1", "3.7.0", "3.6", "3.6.1", @@ -31,19 +32,23 @@ ], "COMPONENTS_BY_VERSION": { "latest": { - "bridle": "3.7.0", - "zephyr": "3.7.0" + "bridle": "3.7.1", + "zephyr": "3.7.1" }, "3.7": { - "bridle": "3.7.0", - "zephyr": "3.7.0" + "bridle": "3.7.1", + "zephyr": "3.7.1" + }, + "3.7.1": { + "bridle": "3.7.1", + "zephyr": "3.7.1" }, "3.7.0": { "bridle": "3.7.0", "zephyr": "3.7.0" }, "3.6": { - "bridle": "3.6.0", + "bridle": "3.6.1", "zephyr": "3.6.0" }, "3.6.1": { From 9b4bdf9a9f332009962303254c016e2cbe107f4a Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Mon, 18 Nov 2024 10:29:35 +0100 Subject: [PATCH 12/14] release: fix release notes final 3.7.0 Remove the wrong '-rc1' suffix. Signed-off-by: Stephan Linz --- doc/bridle/releases/release-notes-3.7.0.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/bridle/releases/release-notes-3.7.0.rst b/doc/bridle/releases/release-notes-3.7.0.rst index faa939606d..c444ab48d1 100644 --- a/doc/bridle/releases/release-notes-3.7.0.rst +++ b/doc/bridle/releases/release-notes-3.7.0.rst @@ -29,12 +29,12 @@ For more details, see: :ref:`repos_and_revs`. * - `tiac-bridle`_ - - v3.7-branch - - v3.7.0-rc1 + - v3.7.0 * - | `tiac-ubxlib`_ | (`u-blox-ubxlib`_) - | *geographiclib* - - | tiacsys/main - | (main) + - | tiacsys/master + | (master) - * - | `tiac-zephyr`_ | (`zephyr-core`_) From 719ca251387cd6f896d79184b2452bf041c64f26 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Fri, 20 Dec 2024 21:31:23 +0100 Subject: [PATCH 13/14] release: make release notes final 3.7.1 Provide highlights and changelogs. Signed-off-by: Stephan Linz --- doc/bridle/release_notes.rst | 1 + doc/bridle/releases/release-notes-3.7.1.rst | 269 ++++++++++++++++++++ 2 files changed, 270 insertions(+) create mode 100644 doc/bridle/releases/release-notes-3.7.1.rst diff --git a/doc/bridle/release_notes.rst b/doc/bridle/release_notes.rst index e1064002b5..472f94cb01 100644 --- a/doc/bridle/release_notes.rst +++ b/doc/bridle/release_notes.rst @@ -24,6 +24,7 @@ information about specific |BRIDLE| releases. :caption: Releases :maxdepth: 1 + releases/release-notes-3.7.1 releases/release-notes-3.7.0 releases/release-notes-3.6.1 releases/release-notes-3.6.0 diff --git a/doc/bridle/releases/release-notes-3.7.1.rst b/doc/bridle/releases/release-notes-3.7.1.rst new file mode 100644 index 0000000000..e81d4dfa65 --- /dev/null +++ b/doc/bridle/releases/release-notes-3.7.1.rst @@ -0,0 +1,269 @@ +.. _bridle_release_notes_371: + +|BRIDLE| 3.7.1 Release Notes +############################ + +This project demonstrate the integration of |TIAC| support in open +source projects, like the Zephyr RTOS, with libraries and source code +for applications. It is not yet intended or supported by |TIAC| for +product development. + +Highlights +********** + +* Freez for Zephyr v3.7 LTS. +* Simplify Zephyr SDK location. + +.. note:: See the changelog and readme files in the component repositories + for a detailed description of changes. + +Repositories +************ + +For more details, see: :ref:`repos_and_revs`. + +.. list-table:: + :header-rows: 1 + + * - Component + - **Group** : *Imports* + - Branch + - Tag + * - `tiac-bridle`_ + - + - v3.7-branch + - v3.7.1 + * - | `tiac-ubxlib`_ + | (`u-blox-ubxlib`_) + - | *geographiclib* + - | 62c0021cbf079b43cdd9a219e9b10b49ea616e19 + | (master) + - + * - | `tiac-zephyr`_ + | (`zephyr-core`_) + - | *acpica* + | *liblc3* + | *loramac-node* + | *lvgl* + | *mcuboot* + | *open-amp* + | *openthread* + | *picolibc* + | **hal** : *cmsis* + | **hal** : *hal_adi* + | **hal** : *hal_altera* + | **hal** : *hal_ambiq* + | **hal** : *hal_atmel* + | **hal** : *hal_espressif* + | **hal** : *hal_ethos_u* + | **hal** : *hal_gigadevice* + | **hal** : *hal_infineon* + | **hal** : *hal_intel* + | **hal** : *hal_microchip* + | **hal** : *hal_nordic* + | **hal** : *hal_nuvoton* + | **hal** : *hal_nxp* + | **hal** : *hal_openisa* + | **hal** : *hal_quicklogic* + | **hal** : *hal_renesas* + | **hal** : *hal_rpi_pico* + | **hal** : *hal_silabs* + | **hal** : *hal_st* + | **hal** : *hal_stm32* + | **hal** : *hal_telink* + | **hal** : *hal_ti* + | **hal** : *hal_wurthelektronik* + | **hal** : *hal_xtensa* + | **hal** : *libmetal* + | **fs** : *fatfs* + | **fs** : *littlefs* + | **tee** : *trusted-firmware-a* + | **tee** : *trusted-firmware-m* + | **crypto** : *mbedtls* + | **crypto** : *tinycrypt* + | **debug** : *mipi-sys-t* + | **debug** : *segger* + | **tools** : *edtt* + | **tools** : *net-tools* + | **optional** : *canopennode* + | **optional** : *chre* + | **optional** : *psa-arch-tests* + | **optional** : *tf-m-tests* + - | tiacsys/v3.7.1 + | (v3.7-branch) + - v3.7.1 + +.. note – component list fetched from 'west list -a -f "{name:24} {groups:40}"' + +Supported boards +**************** + +* Arduino/Genuino Zero +* PicoBoy Mini-Handheld +* Cytron Maker Nano RP2040 +* Cytron Maker Pi RP2040 +* NXP MIMXRT1010-EVK +* NXP MIMXRT1060-EVK +* NXP MIMXRT1170-EVK/EVKB (CM7) +* Nordic nRF52840 DK +* Nordic nRF9160 DK +* Raspberry Pi Pico and Pico W +* Seeeduino Cortex-M0+ +* Seeeduino Lotus Cortex-M0+ +* ST Nucleo F2xxxx +* ST Nucleo F3xxxx / L4xxxx +* ST Nucleo F4xxxx +* ST Nucleo F6xxxx +* ST Nucleo F7xxxx +* TiaC Magpie F777NI (former TiaC Magpie STM32F777NIHx) +* Waveshare RP2040 (series of mini and pico sized boards) +* XIAO SAMD21 (former Seeed Studio XIAO SAMD21), also known as Seeeduino XIAO + +Supported shields +***************** + +* Seeed Studio Grove Interconnect Shields +* Grove Button Shields +* Grove LED Shields +* Grove Sensor Shields +* Raspberry Pi Pico Clock Shields +* Raspberry Pi Pico LCD Shields +* Raspberry Pi Pico LED Shields +* Raspberry Pi Pico TEST Shields +* Waveshare LCD Modules +* Waveshare Pico 10-DOF IMU Sensor +* Waveshare Pico Environment Sensor +* SC16IS75x Breakout Boards +* NXP SC18IS604-EVB +* TiaC SC18IS604 Arduino + +Supported snippets +****************** + +* USB Console Snippet (usb-console) +* PWM Servomotor Preset Snippet (pwm-servo) +* Delete Default Devicetree Aliases Snippet (del-default-aliases) +* BME280 Sensor Sample Tweaks (samples-sensor-bme280-tweaks) +* CAN timing adjustments (can-timing-adj) +* Watchdog timing adjustments (wdt-timing-adj) +* Build all Display drivers test adjustments (tstdrv-bldall-display-adj) +* Build all GPIO drivers test adjustments (tstdrv-bldall-gpio-adj) +* Build all I2C drivers test adjustments (tstdrv-bldall-i2c-adj) +* Build all MFD drivers test adjustments (tstdrv-bldall-mfd-adj) +* Build all RTC drivers test adjustments (tstdrv-bldall-rtc-adj) +* Build all Sensor drivers test adjustments (tstdrv-bldall-sensor-adj) +* Build all UART drivers test adjustments (tstdrv-bldall-uart-adj) + +Change log +********** + +* Simplify Zephyr SDK location. + +The following sections provide detailed lists of changes by component. + +* PROJECT UPDATE to `Zephyr Project`_ v3.7.1 + +Build Infrastructure +==================== + +Bridle now fully relies on the ``find_package`` CMake script provided +by Zephyr to locate at least the required or a valid Zephyr SDK version. + +Documentation +============= + +Not applicable, no information available. + +Issue Related Items +******************* + +These GitHub issues were addressed since project bootstrapping: + +* :github:`261` - [HW] TiaC SC18IS604 Arduino as Shield +* :github:`258` - [HW] NXP SC18IS604-EVB as Shield +* :github:`257` - [HW] SC16IS75x Breakout Boards as Shields +* :github:`254` - [FCR] Bump to Zephyr v3.7 +* :github:`252` - [FCR] Upgrade to Zephyr SDK 0.16.8 +* :github:`247` - [HW] NXP SC18IS604 SPI to I2C bridge +* :github:`246` - [HW] NXP SC16IS75x series I2C/SPI to UART/GPIO bridge +* :github:`244` - [HW] Spotpear Raspberry Pi Pico LCD Modules as Shields +* :github:`242` - [HW] 52Pi (GeeekPi) Pico Breadboard Kit -/Plus (EP-0164/0172) +* :github:`239` - [HW] PiMoroni Raspberry Pi Pico LCD Modules as Shields +* :github:`234` - [BUG] boards and shields with LCD do not support the new MIPI-DBI mode +* :github:`233` - [HW] Waveshare Raspberry Pi Pico LCD Modules as Shields +* :github:`231` - [BUG] build Zephyr docset fails +* :github:`229` - [BUG] magpie_f777ni: wdt_basic_api/drivers.watchdog.stm32wwdg FAILED +* :github:`227` - [BUG] Unable to build any application referencing bridle version information +* :github:`222` - [BUG] unsatisfied dependencies by static Kconfig elements +* :github:`217` - [FCR] Convert board ``arduino_zero`` to board extension +* :github:`216` - [FCR] Convert all SOCs to new HWMv2 +* :github:`215` - [BUG] ubxlib: missing header ``u_timeout.h`` +* :github:`214` - [FER] Convert all boards to new HWMv2 +* :github:`205` - [FCR] Bump to Zephyr v3.6 +* :github:`202` - [FER] Make the u-blox library GNSS example fit for demonstration +* :github:`200` - [FCR] Support for MCUXpresso IDE (Arm GNU Toolchain) +* :github:`198` - [FCR] Support for STM32CubeCLT (GNU tools for STM32) +* :github:`195` - [FCR] Upgrade to Arm GNU toolchain 13.2.rel1 +* :github:`192` - [FCR] Upgrade to Zephyr SDK 0.16.5 +* :github:`187` - [BUG] ubx_gnss sample fails to build +* :github:`185` - [HW] Waveshare Pico 10-DOF IMU Sensor +* :github:`183` - [HW] Waveshare Pico RGB LED +* :github:`177` - [HW] Waveshare Pico Environment Sensor +* :github:`176` - [HW] Waveshare Pico Clock Green +* :github:`170` - [FCR] Upgrade to Zephyr SDK 0.16.4 +* :github:`169` - [HW] The PicoBoy +* :github:`168` - [HW] Waveshare Pico ResTouch LCD 3.5 +* :github:`167` - [HW] Waveshare LCD Modules as Shields +* :github:`166` - [HW] Cytron Maker RP2040 +* :github:`163` - [FER] USB console support for NXP MIMXRT1010-EVK and MIMXRT1060-EVK +* :github:`162` - [HW] Raspberry Pi Pico TEST Shields +* :github:`161` - [HW] Raspberry Pi Pico LCD Shields +* :github:`160` - [HW] Waveshare RP2040-Geek +* :github:`159` - [BUG] check_compliance.py needs support for Bridle's downstream modules folder +* :github:`156` - [FCR] Add the u-blox library (ubxlib) as Zephyr module +* :github:`155` - [FCR] Use board extensions to fix upstream declarations +* :github:`152` - [FER] Support filtering by board vendor +* :github:`151` - [FER] Harmonize Grove PWM mapping over all SAMD21 based Arduino boards +* :github:`148` - [HW] Seeeduino Cortex-M0+ board support +* :github:`137` - [FCR] Bump to Zephyr v3.5 +* :github:`139` - [FER] Bump to Doxygen v1.9.8 +* :github:`136` - [FCR] Bump to Zephyr SDK 0.16.3 +* :github:`128` - [FER] Provide USB console by snippets instead of specific board revision +* :github:`127` - [FER] Provide CAN timing tweak for TiaC Magpie by snippets instead of a shield +* :github:`125` - [BUG] Nightly QA integration test fails (convert to ``stm32-bxcan``) +* :github:`122` - [HW] Waveshare RP2040 +* :github:`120` - [BUG] Nightly QA integration test fails +* :github:`118` - [BUG] QA Integration Test fails +* :github:`116` - [BUG] Grove Shields DTS Binding test suites fail for seeeduino_lotus@usbcons +* :github:`115` - [BUG] Bridle Common (core) Testing fails since v3.4 +* :github:`113` - [FER] Use sub-manifests for 3rd party projects +* :github:`112` - [FCR] Support Renesas HAL +* :github:`106` - [FER] Snippets +* :github:`105` - [FCR] Bump to Zephyr v3.4 +* :github:`104` - [BUG] Bridle CMake Package not usable in Freestanding mode +* :github:`96` - [HW] Grove Interconnect Shields for Seeeduino XIAO +* :github:`90` - [HW] Grove Interconnect Shields for Arduino/Genuino Zero +* :github:`87` - [HW] Seeeduino Lotus Cortex-M0+ board support +* :github:`85` - [BUG] Zephyr counter driver test fails +* :github:`83` - [FCR] Support Grove System Shields +* :github:`80` - [FCR] Support ST HAL +* :github:`79` - [FCR] Support NXP HAL +* :github:`78` - [FCR] Support Raspberry Pi Pico HAL +* :github:`77` - [FCR] Support Atmel HAL +* :github:`76` - [FCR] Bump to Zephyr (bleeding edge) main line +* :github:`73` - [BUG] reduced setup time of clang-format in workflow +* :github:`72` - [FCR] Bump to Zephyr v3.3 +* :github:`68` - [BUG] Upgrade to Sphinx 5.x +* :github:`60` - [FCR] Bump to Zephyr v3.2 +* :github:`64` - [FCR] Backporting new feature enhancements to v3.0 +* :github:`59` - [FCR] Bump to Zephyr v3.1 +* :github:`54` - [FCR] Bump to Zephyr v3.0 +* :github:`53` - [FCR] Bump to Zephyr v2.7 +* :github:`49` - Can't rebuild documentation +* :github:`39` - [FCR] Bump to Zephyr v2.6 +* :github:`30` - [FER] Bridle version definition +* :github:`21` - Change all copyright strings +* :github:`7` - Missing CI build and test for all supported boards +* :github:`5` - Improve documentation environment +* :github:`4` - Zephyr does not know F777 +* :github:`3` - Missing TiaC Magpie STM32F777NIHx From 7da9a74a7363709fc4769f6c26aa50a30477d3d6 Mon Sep 17 00:00:00 2001 From: Stephan Linz Date: Fri, 20 Dec 2024 21:32:25 +0100 Subject: [PATCH 14/14] release: bump version to 3.7.1 Final 3.7.1 tag. Signed-off-by: Stephan Linz --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index f1fc2eb4dd..a934c886c2 100644 --- a/VERSION +++ b/VERSION @@ -1,5 +1,5 @@ VERSION_MAJOR = 3 VERSION_MINOR = 7 -PATCHLEVEL = 0 +PATCHLEVEL = 1 VERSION_TWEAK = 0 EXTRAVERSION =