FreeRTOSToolchain
Bare-metal ARM (Cortex-M) toolchain + vendored FreeRTOS kernel
Loading...
Searching...
No Matches
FreeRTOSToolchain

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=../FreeRTOSToolchain/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.

Scope

Cortex-M targets only. This project does not define a linker script, startup code, or FreeRTOSConfig.h — those are target/board-specific and belong in the consuming application project. verify.sh proves the compiler produces correct ARM object code; it does not build or run a real FreeRTOS application (no target hardware or Cortex-M emulation wired up here).