|# Download the file manually from here https://launchpad.net/gcc-arm-embedded|
|# Note: `curl` command doesn't work|
|# I downloaded this one: "gcc-arm-none-eabi-4_7-2013q3-20130916-mac.tar.bz2"|
|# double click it to unzip it|
|# Make a place to install it to|
|# Move the unzipped stuff there.|
|mv ~/Downloads/gcc-arm-none-eabi-4_7-2013q3 /usr/local/gcc_arm/|
|# Check out all the purdy binaries, you'll need to build firmware.|
|# arm-none-eabi-addr2line arm-none-eabi-gcc-4.7.4 arm-none-eabi-ld.bfd|
|# arm-none-eabi-gcc ...|
|# Peep your current PATH|
|# /usr/local/heroku/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:<BLA BLA BLA>|
|# Change your PATH by appending the "bin" folder of the folder|
|# NOTE: You should also add this line to ~/.bashrc or ~/.bash_profile (in your home directory)|
|# so you don't have to remember to do this every time you want to compile firmware.|
|# Check to ensure the gcc-arm firmware compiler is available (so `make clean dependents all` will work.)|
|# arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.7.4 20130913 (release) [ARM/embedded-4_7-branch revision 202601]|
I went a bit crazy with the script. Uploaded the bzip2 to S3 for speed (launchpad was very slow), made it idempotent, and made it installable via a one liner:
Next step, homebrew formula.
This took me far too long to find the solution. So for some Google juice, this solves these errors:
You'll also want to uninstall the older version first:
brew uninstall gcc-arm-none-eabi brew install gcc-arm-none-eabi-48
And throw in a
Maybe I am missing something but why not just download pre-build and validated toolchain from the ARM dev portal?:
The last two comments were pretty useful. I could understand downloading the binaries and putting them in the /usr/local directory and setting your PATH, however I had no idea what home-brew would do to install things, where it would put them, or whether the version it would install will be the same one.
So while I did download (but did not install) "gcc-arm-none-eabi-7-2017-q4-major-mac.tar.bz2", I decided to try the "brew install caskroom/cask/gcc-arm-embedded" first.
This worked. The cask room formula is here https://github.com/caskroom/homebrew-cask/blob/master/Casks/gcc-arm-embedded.rb, which is pretty readable, and it just downloaded the same file as I initially downloaded manually:
==> brew cask install caskroom/cask/gcc-arm-embedded
So I learned something about home-brew as well as got an easy install.
After this install, all the documentation is under:
Example code and example startup assembler files for M0, M3, M4, M7 are under
The next thing you're going to need to do however is download and install CMSIS, the ARM CPU common headers and run time libraries.
Lastly you're going to need the header files for the peripherals from the manufacturer of your specific ARM part.