Homebrew tap for ARM EABI toolchain, dedicated to build baremetal ARM Cortex-M applications from a macOS host.
These toolchains have been used to build eCos-based application and bootloaders, and are now used to build applications for Nordik nRF52 BLE applications, ST STM32L0 and STM32L4 baremetal and ChibiOS applications.
- Install Homebrew
- Execute
brew tap eblot/armeabi
- Install the package you need, e.g.
brew install arm-none-eabi-llvm
brew install armv7em-cortex-m4f
- GNU BinUtils (Assembler, Linker, Tools):
arm-none-eabi-binutils.rb
- GNU C compiler:
arm-none-eabi-gcc.rb
- GNU Debugger:
arm-none-eabi-gdb.rb
- Clang/LLVM toolchain w/ additional tools:
arm-none-eabi-llvm.rb
- This toolchain does not require any of the GNU tools, as it comes with
an integrated asssembler and linker, and the
lldb
debugger.
- This toolchain does not require any of the GNU tools, as it comes with
an integrated asssembler and linker, and the
- C library (newlib 3.x) and compiler runtime for various targets:
- Cortex-M4:
armv7em-cortex-m4.rb
(-lclang_rt.builtins-armv7em
) - Cortex-M4 w/ FPU:
armv7em-cortex-m4f.rb
(-lclang_rt.builtins-armv7em
) - Cortex-M3:
armv7m-cortex-m3.rb
(-lclang_rt.builtins-armv7m
) - Cortex-M0+:
armv6m-cortex-m0plus.rb
(-lclang_rt.builtins-armv6m
)
- Cortex-M4:
- nRF52 script to fix Nordik SDK supervisor calls:
nrfsvc.py
LLVM 9.0 series finally fixes the compiler runtime library name, so existing link command lines and/or scripts should be updated.