The aim of this project is to provide a software development environment based on CMake, GCC and openOCD for several bare metal ARM platforms.
- CMake >= 3.6
- GCC arm-none-abi
- Linux Arch:
arm-none-eabi-gcc
arm-none-eabi-binutils
arm-none-eabi-newlib
- Ubuntu packages: Since the package of the official repo is very old it is recommended to use this PPA
- Linux Arch:
- General CMake Toolchain file for arm-none-eabi-gcc
- Target specific extension of Toolchain file
Add this project as git submodule to your repository:
git submodule add https://github.com/jobroe/cmake-arm-embedded.git cmake
Set the Linker Script and include the target specific cmake module in your project CMakeLists.txt e.g.:
set(LINKER_SCRIPT "${Gecko_SDK_PATH}/platform/Device/SiliconLabs/EFR32MG12P/Source/GCC/efr32mg12p.ld")
include(efr32mg)
Go to your project root directory, create build directory and enter it:
mkdir build
cd build
run to configure:
cmake -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-arm-none-eabi.cmake ..
and finally to build:
make