Setup Guide for Development Environment on macOS (Apple Silicon + Intel) for GCCο
Table of Contentsο
Install Basic Tools and Dependenciesο
First, install Homebrew if itβs not already installed.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Then install essential tools:
brew update
brew install git wget make zip unzip python
Install CMakeο
Download CMake 4.1.2 for macOS.
curl -LO https://github.com/Kitware/CMake/releases/download/v4.1.2/cmake-4.1.2-macos-universal.tar.gz
Extract the archive:
tar -xzf cmake-4.1.2-macos-universal.tar.gz
Move CMake to a system directory:
sudo mv cmake-4.1.2-macos-universal /opt/cmake-4.1
Add CMake to PATH:
echo 'export PATH="/opt/cmake-4.1/CMake.app/Contents/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
Verify installation:
cmake --version
Install Ninja Build Systemο
Ninja is a small build system with a focus on speed, which CMake can utilize to manage builds.
Download Ninja v1.13.1 for macOS:
curl -LO https://github.com/ninja-build/ninja/releases/download/v1.13.1/ninja-mac.zip
Unzip the archive:
unzip ninja-mac.zip
Create the target directory and copy the binary:
sudo mkdir -p /opt/ninja/
sudo cp ninja /opt/ninja/
Make the binary executable:
sudo chmod a+x /opt/ninja/*
Add to PATH:
echo 'export PATH=$PATH:/opt/ninja' >> ~/.zshrc
source ~/.zshrc
Verify installation:
ninja --version
Install Pythonο
Python 3.13.x or newer is required to run configuration tools (menuconfig, kconfig) and to execute scripts used during SDK build and setup.
Choose one of the options below:
Option A: System Python (if already 3.13.x+)ο
python3 --version
Option B: pyenv (recommended if you need to install Python 3.13.x)ο
brew install pyenv
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
pyenv install 3.13.7
pyenv local 3.13.7
python3 --version
Optional: make pyenv available in future shells (skip this if you prefer to enable pyenv manually per shell):
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc
source ~/.zshrc
If you chose the optional lines above, restart your shell or run source ~/.zshrc to apply them.
Install OpenOCDο
brew install openocd
openocd --version
Install the Arm GNU GCC Compilerο
Check your architecture:
uname -m
Download Arm GNU Toolchain 13.2.rel1 for macOS:
# Apple Silicon (arm64)
curl -Lo gcc-arm-none-eabi.tar.xz https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-darwin-arm64-arm-none-eabi.tar.xz
# Intel (x86_64)
curl -Lo gcc-arm-none-eabi.tar.xz https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-darwin-x86_64-arm-none-eabi.tar.xz
Create a target directory for installation:
sudo mkdir -p /opt/gcc-arm-none-eabi
Extract the archive into the target directory:
sudo tar -xf gcc-arm-none-eabi.tar.xz --strip-components=1 -C /opt/gcc-arm-none-eabi
Environment variables for the Arm GNU Toolchain:
echo 'export PATH=$PATH:/opt/gcc-arm-none-eabi/bin' >> ~/.zshrc
echo 'export GCC_TOOLCHAIN_13_2_1=/opt/gcc-arm-none-eabi/bin' >> ~/.zshrc
source ~/.zshrc