-
Notifications
You must be signed in to change notification settings - Fork 4
Bridle v3.2
Release Notes : https://bridle.tiac-systems.net/doc/3.2/bridle/release_notes.html
Required Tools : https://bridle.tiac-systems.net/doc/3.2/bridle/gs_recommended_versions.html#required-tools
- Python 3.8 (tested 3.8.2 … 3.8.10)
- CMake 3.20.0 (tested 3.20.5 … 3.24.1)
- DTC 1.4.6 (1.4.7 … 1.6.0)
Installing Bridle manually : https://bridle.tiac-systems.net/doc/3.2/bridle/gs_installing.html
Note
The git track command is a Git alias function and should be defined
as shown below:
git config get --global alias.track
Git alias function of `git track` (click to expand or collapse)
!f() { ([ $# -eq 2 ] && \ ( echo "Setting tracking for branch " $1 " -> " $2; \ git branch $1 $2; \ git branch --set-upstream-to=$2 $1; \ ) || ( \ git for-each-ref --format="local: %(refname:short) <--sync--> remote: %(upstream:short)" \ refs/heads && echo --Remotes && git remote -v \ )); }; f
Important
Ensure that the workspace folder created below does not exist. If so, it must first be renamed or removed.
-
Create Workspace Folder
mkdir ws-bridle-3.2 && cd ws-bridle-3.2 -
Setup Python Virtual Environment for West
python3.8 -m venv --clear --copies --prompt="$(basename $(pwd))[$(python3.8 --version)]" .env source .env/bin/activate pip3 install --upgrade pip pip3 install --upgrade setuptools pip3 install --upgrade west -
Cloning the Repositories with West
west init -m https://github.com/tiacsys/bridle --mr v3.2-branch west update -
Export a Zephyr CMake package
west zephyr-export -
OPTIONAL – non mandatory – may cause conflicts with later Bridle releases
Export a Bridle CMake package
west bridle-export -
Installing all required Python dependencies
pip3 install --upgrade --requirement zephyr/scripts/requirements.txt pip3 install --upgrade --requirement bridle/scripts/requirements.txt
Warning
As of September 2025, the following error message arises:
-
setuptools
66.0.0
drop support for PEP 440 non-conforming
versions (#2497),
thus downgrade manually
pip3 install --upgrade "setuptools<66.0.0" -
pip
24.1b1
drop support for PEP 440 non-conforming
versions (#12063),
thus downgrade manually
pip3 install --upgrade "pip<24.1" - Installing all required Python dependencies again
pip3 install --upgrade --requirement zephyr/scripts/requirements.txt pip3 install --upgrade --requirement bridle/scripts/requirements.txt - Check PIP's dependency resolver again until comeback without defectives:
pip3 check || echo "FIXES NOT FINISHED"
Caution
Avoid installation in any global context, e.g. users home or /opt folder.
Minimal required versions of legacy tools are:
- CMake 3.20.0
- DTC 1.4.6 (under Linux provided by Zephyr SDK as 1.6.0)
- Zephyr SDK 0.15.0 – but Bridle requires Zephyr SDK 0.15.2
Caution
Sadly there is a bug inside the "Zephyr SDK Version Guard" of all
Bridle 3.2 versions that do not avoid installation of the Zephyr SDK
in any global context. The required Zephyr SDK must be installed into
the /opt folder.
-
Install the CMake into the always activated local Python Virtual Environment
pip3 install --upgrade "cmake>=3.20.0,<3.24.2" -
Install the Zephyr Software Development Kit (SDK) into the global
/optfolderwget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.15.2/zephyr-sdk-0.15.2_linux-x86_64.tar.gz wget -O - https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.15.2/sha256.sum | shasum --check --ignore-missingsudo tar xvf zephyr-sdk-0.15.2_linux-x86_64.tar.gz -C /opt sudo /opt/zephyr-sdk-0.15.2/setup.sh -h -t allZephyr SDK installer output (click to expand or collapse)
Zephyr SDK 0.15.2 Setup Installing host tools ... Zephyr Yocto Toolchain SDK installer version 0.9 ================================================ You are about to install the SDK to "/opt/zephyr-sdk-0.15.2". Proceed [Y/n]? Y Extracting SDK...................done Setting it up...done SDK has been successfully set up and is ready to be used. Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g. $ . /opt/zephyr-sdk-0.15.2/environment-setup-x86_64-pokysdk-linux All done.unset ZEPHYR_TOOLCHAIN_VARIANT unset ZEPHYR_SDK_INSTALL_DIR
Important
Ensure that you always execute the following commands within and at the top level of the previously set up workspace folder! The local Python Virtual Environment must be enabled and the Zephyr SDK environment variables must be set properly (see above).
git -C zephyr config set --local pull.ff only
git -C zephyr remote add upstream https://github.com/zephyrproject-rtos/zephyr.git
git -C zephyr remote add origin git@github.com:tiacsys/zephyr.git
git -C zephyr remote update --prune
git -C zephyr fetch --unshallow
git -C zephyr checkout -b v3.2-branch origin/v3.2-branch
git -C zephyr checkout -b tiacsys/v3.2-branch origin/tiacsys/v3.2-branch
git -C zephyr track
(cd zephyr && gitk --all) &
Git track output for Zephyr (click to expand or collapse)
local: manifest-rev <--sync--> remote: local: heads/tiacsys/v3.2-branch <--sync--> remote: origin/tiacsys/v3.2-branch local: v3.2-branch <--sync--> remote: origin/v3.2-branch --Remotes origin git@github.com:tiacsys/zephyr.git (fetch) origin git@github.com:tiacsys/zephyr.git (push) tiacsys https://github.com/tiacsys/zephyr (fetch) tiacsys https://github.com/tiacsys/zephyr (push) upstream https://github.com/zephyrproject-rtos/zephyr.git (fetch) upstream https://github.com/zephyrproject-rtos/zephyr.git (push)
Important
Ensure that you always execute the following commands within and at the top level of the previously set up workspace folder!
git -C bridle config set --local pull.ff only
git -C bridle remote set-url --push origin git@github.com:tiacsys/bridle.git
git -C bridle remote update --prune
git -C bridle checkout -b v3.2-next origin/v3.2-next
git -C bridle track
(cd bridle && gitk --all) &
Git track output for Bridle (click to expand or collapse)
local: v3.2-branch <--sync--> remote: origin/v3.2-branch local: v3.2-next <--sync--> remote: origin/v3.2-next --Remotes origin https://github.com/tiacsys/bridle (fetch) origin git@github.com:tiacsys/bridle.git (push)
Important
Ensure that you always execute the following commands within and at the top level of the previously set up workspace folder!
TiaC Magpie STM32F777NIHx : https://bridle.tiac-systems.net/doc/3.2/bridle/boards/arm/tiac_magpie/doc/index.html
- https://bridle.tiac-systems.net/doc/3.2/bridle/boards/arm/tiac_magpie/doc/samples/basic/blinky.html
- https://bridle.tiac-systems.net/doc/3.2/bridle/boards/arm/tiac_magpie/doc/samples/basic/helloshell.html
west build -p always -b tiac_magpie -d build/led_blinky-tiac_magpie zephyr/samples/basic/blinky
West build output for Zephyr LED Blinky (click to expand or collapse)
-- west build: generating a build system Loading Zephyr default modules (Zephyr base). -- Application: .../ws-bridle-3.2/zephyr/samples/basic/blinky Loading Bridle default modules (Bridle workspace). -- Bridle version: 3.2.0 (.../ws-bridle-3.2/bridle) -- Bridle is trying to locate Zephyr SDK 0.15.2. -- Using Zephyr SDK 0.15.2 for building Bridle. (/opt/zephyr-sdk-0.15.2) -- Found Python3: .../ws-bridle-3.2/.env/bin/python3.8 (found suitable exact version "3.8.10") found components: Interpreter -- Cache files will be written to: /home/user/.cache/zephyr -- Zephyr version: 3.2.0 (.../ws-bridle-3.2/zephyr) -- Found west (found suitable version "1.0.1", minimum required is "0.7.1") -- Board: tiac_magpie -- Found host-tools: zephyr 0.15.2 (/opt/zephyr-sdk-0.15.2) -- Found toolchain: zephyr 0.15.2 (/opt/zephyr-sdk-0.15.2) -- Found Dtc: /opt/zephyr-sdk-0.15.2/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6") -- Found BOARD.dts: .../ws-bridle-3.2/bridle/boards/arm/tiac_magpie/tiac_magpie.dts -- Generated zephyr.dts: .../ws-bridle-3.2/build/led_blinky-tiac_magpie/zephyr/zephyr.dts -- Generated devicetree_generated.h: .../ws-bridle-3.2/build/led_blinky-tiac_magpie/zephyr/include/generated/devicetree_generated.h -- Including generated dts.cmake file: .../ws-bridle-3.2/build/led_blinky-tiac_magpie/zephyr/dts.cmake Parsing .../ws-bridle-3.2/zephyr/Kconfig Loaded configuration '.../ws-bridle-3.2/bridle/boards/arm/tiac_magpie/tiac_magpie_defconfig' Merged configuration '.../ws-bridle-3.2/zephyr/samples/basic/blinky/prj.conf' Configuration saved to '.../ws-bridle-3.2/build/led_blinky-tiac_magpie/zephyr/.config' Kconfig header saved to '.../ws-bridle-3.2/build/led_blinky-tiac_magpie/zephyr/include/generated/autoconf.h' -- The C compiler identification is GNU 12.1.0 -- The CXX compiler identification is GNU 12.1.0 -- The ASM compiler identification is GNU -- Found assembler: /opt/zephyr-sdk-0.15.2/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc -- Configuring done (4.5s) -- Generating done (0.1s) -- Build files have been written to: .../ws-bridle-3.2/build/led_blinky-tiac_magpie -- west build: building application [1/173] Preparing syscall dependency handling [3/173] Generating include/generated/version.h -- Zephyr version: 3.2.0 (.../ws-bridle-3.2/zephyr), build: zephyr-v3.2.0-87-g0b43fb5021ee [4/173] Generating ../../zephyr/include/generated/version_bridle.h -- Bridle version: 3.2.0 (.../ws-bridle-3.2/bridle), build: bridle-v3.2.0 … … … … … … … … … [173/173] Linking C executable zephyr/zephyr.elf; Generating files from zephyr.elf for board: tiac_magpie Memory region Used Size Region Size %age Used FLASH: 22468 B 2 MB 1.07% SRAM: 4672 B 384 KB 1.19% DTCM: 0 GB 128 KB 0.00% IDT_LIST: 0 GB 2 KB 0.00%
west flash -d build/led_blinky-tiac_magpie
west build -p always -b tiac_magpie -d build/helloshell-tiac_magpie bridle/samples/helloshell
West build output for Bridle Hello Shell (click to expand or collapse)
-- west build: generating a build system Loading Zephyr default modules (Zephyr base). -- Application: .../ws-bridle-3.2/bridle/samples/helloshell Loading Bridle default modules (Bridle repository). -- Bridle version: 3.2.0 (.../ws-bridle-3.2/bridle) -- Bridle is trying to locate Zephyr SDK 0.15.2. -- Using Zephyr SDK 0.15.2 for building Bridle. (/opt/zephyr-sdk-0.15.2) -- Found Python3: .../ws-bridle-3.2/.env/bin/python3.8 (found suitable exact version "3.8.10") found components: Interpreter -- Cache files will be written to: /home/user/.cache/zephyr -- Zephyr version: 3.2.0 (.../ws-bridle-3.2/zephyr) -- Found west (found suitable version "1.0.1", minimum required is "0.7.1") -- Board: tiac_magpie -- Found host-tools: zephyr 0.15.2 (/opt/zephyr-sdk-0.15.2) -- Found toolchain: zephyr 0.15.2 (/opt/zephyr-sdk-0.15.2) -- Found Dtc: /opt/zephyr-sdk-0.15.2/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.6.0", minimum required is "1.4.6") -- Found BOARD.dts: .../ws-bridle-3.2/bridle/boards/arm/tiac_magpie/tiac_magpie.dts -- Generated zephyr.dts: .../ws-bridle-3.2/build/helloshell-tiac_magpie/zephyr/zephyr.dts -- Generated devicetree_generated.h: .../ws-bridle-3.2/build/helloshell-tiac_magpie/zephyr/include/generated/devicetree_generated.h -- Including generated dts.cmake file: .../ws-bridle-3.2/build/helloshell-tiac_magpie/zephyr/dts.cmake Parsing .../ws-bridle-3.2/zephyr/Kconfig Loaded configuration '.../ws-bridle-3.2/bridle/boards/arm/tiac_magpie/tiac_magpie_defconfig' Merged configuration '.../ws-bridle-3.2/bridle/samples/helloshell/prj.conf' Configuration saved to '.../ws-bridle-3.2/build/helloshell-tiac_magpie/zephyr/.config' Kconfig header saved to '.../ws-bridle-3.2/build/helloshell-tiac_magpie/zephyr/include/generated/autoconf.h' -- The C compiler identification is GNU 12.1.0 -- The CXX compiler identification is GNU 12.1.0 -- The ASM compiler identification is GNU -- Found assembler: /opt/zephyr-sdk-0.15.2/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc -- Configuring done (4.5s) -- Generating done (0.1s) -- Build files have been written to: .../ws-bridle-3.2/build/helloshell-tiac_magpie -- west build: building application [1/219] Preparing syscall dependency handling [2/219] Generating include/generated/version.h -- Zephyr version: 3.2.0 (.../ws-bridle-3.2/zephyr), build: zephyr-v3.2.0-87-g0b43fb5021ee [3/219] Generating ../../zephyr/include/generated/version_bridle.h -- Bridle version: 3.2.0 (.../ws-bridle-3.2/bridle), build: bridle-v3.2.0 … … … … … … … … … [219/219] Linking C executable zephyr/zephyr.elf; Generating files from zephyr.elf for board: tiac_magpie Memory region Used Size Region Size %age Used FLASH: 82424 B 2 MB 3.93% SRAM: 17544 B 384 KB 4.46% DTCM: 0 GB 128 KB 0.00% IDT_LIST: 0 GB 2 KB 0.00%
west flash -d build/helloshell-tiac_magpie