Platform_Toolchain_FreeRTOS 0.1.0 build fedcb4a
Bare-metal ARM (Cortex-M) toolchain + vendored FreeRTOS kernel
Loading...
Searching...
No Matches
Platform_Toolchain_FreeRTOS

Product: Platform_Toolchain_FreeRTOS, bare-metal ARM (Cortex-M) toolchain and vendored FreeRTOS kernel (repository Platform_Toolchain_FreeRTOS). Layer: build infrastructure, not linked into any product and not safety-rated.

Bare-metal ARM (Cortex-M) cross-compiler plus the FreeRTOS kernel source, for building FreeRTOS-based targets. No host-OS naming (unlike the other three toolchain projects) because arm-none-eabi-gcc is the same toolchain regardless of host OS.

Usage

./setup.sh # once — locates arm-none-eabi-gcc (PATH, or Homebrew on macOS; on Linux without
# Homebrew it prints the apt-get/dnf command to run yourself), then git-clones the
# official FreeRTOS-Kernel (MIT licensed) into include/FreeRTOS-Kernel/ at a pinned tag
./verify.sh # cross-compiles a trivial Cortex-M object file (compile-only — linking a real
# FreeRTOS app needs a target-specific linker script + startup code a consuming
# project supplies) and confirms the ARM machine type
cmake -S . -B build-freertos \
-DCMAKE_TOOLCHAIN_FILE=./cmake/Toolchain-FreeRTOS.cmake
# in the consuming project's own CMakeLists.txt:
# target_include_directories(myapp PRIVATE
# ${FREERTOS_KERNEL_DIR}/include
# ${FREERTOS_KERNEL_DIR}/portable/GCC/ARM_CM4F # pick the right port for your MCU
# )

Check the pinned FreeRTOS-Kernel version with git -C include/FreeRTOS-Kernel describe --tags after running setup.sh.

Interface exposed to other products

Interface Form Consumed by
Toolchain: cmake/Toolchain-FreeRTOS.cmake and FREERTOS_KERNEL_DIR -DCMAKE_TOOLCHAIN_FILE=<path> passed to any CMake build Every C product that needs a cross-build for bare-metal ARM

Nothing links against this project. It is consumed only by CMake and by the RBC_Test_Env build scripts (build_toolchains.sh).

Related products

Sibling toolchains: Platform_Toolchain_MacOS, Platform_Toolchain_Linux, Platform_Toolchain_QNX. Working notes: CLAUDE.md.