Skip to content

A very simple build script for bare metal arm toolchain. NO LINUX!

Notifications You must be signed in to change notification settings

bombilee/summon-arm-toolchain

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 

Repository files navigation

REMEMBER!
---------
THE RESULTING TOOLCHAIN IS FOR BARE BONE ARM PROCESSOR SOFTWARE. NOT FOR USE
WITH GLIBC OR THE LINUX KERNEL. DO NOT EVEN BOTHER TO ASK FOR THAT!

To compile the ARM toolchain for barebone ARM devices:
------------------------------------------------------
* Edit the shell script to match your environment
* Run it
* Profit

Currently tested and known to work target platforms:
----------------------------------------------------
* STM32F10x (Olimex STM32-H103 eval board, Open-BLDC v0.1, v0.2, v0.3)

Currently tested and known to work host platforms:
--------------------------------------------------
* Linux 32bit and 64bit (Debian unstable)
* Mac OS X Snow Leopard with MacPorts

Notes for Mac OS X users:
-------------------------
You need to install gmp, mpfr, mpc and libiconv packages using MacPorts,
DarwinPorts or fink. GCC-4.5.1 requires them.

port install gmp mpfr libmpc

For xml support in gdb you may want to install expat too. And add the 
--with-expat parameter to GDB target.

Notes for Linux users:
----------------------
You need to install several packages on debian just run:

apt-get install flex bison libgmp3-dev libmpfr-dev libncurses5-dev \
libmpc-dev autoconf texinfo build-essential

You may want to try running the following comand instead too:

apt-get build-dep gcc-4.5

For xml support in gdb you may want to install libexpat1 and libexpat1-dev 
too. 

Usage notes:
------------

As we support multilib now in SAT thanks to Eric Parsonage's and Bernard
Davison's amazing work. You want to use the following GCC flag combinations to
generate full fledged floating point supporting code for some selected
architectures.

* stm32 (probably cortex-m3 in general): -mthumb -march=armv7 -mfix-cortex-m3-ldrd -msoft-float
* lpc21 (thumb instruction set): -mthumb -msoft-float
* lpc21 (arm instruction set): -mthumb -march=armv4t -msoft-float

If you need support for some other arm mcu and know the parameters for it just drop us a line and we will add that combination to the multilibs.

You can list available combinations by running:
arm-none-eabi-gcc -print-multi-lib

How to submit improvements and patches
--------------------------------------
As more and more people start to submit patches and improvements to
Summon-Arm-Toolchain (SAR) this section seems to become necessary.

First of all any way of submission is appreciated, if you just want to dump
your version of the script to us feel free to do so. Still if you want your
improvements and fixes to go upstream quicker there is a good way to do that.

1) Create an account on GitHub. (or some other git hosting service, if you
   really have to)
2) Fork the main SAR repository.
3) Clone the forked repository to your disk
4) Change the script, try to make small changes adding one feature or bugfix at
   a time (That makes review much easier for us).
5) Push your changes to GitHub, or the other service you chose
6) Test your changes, by compiling the toolchain. (You probably want to do that
   with different options)
7) Make sure that everything still works
8) Test a little bit more
9) Click on pull request on GitHub or drop us a line so that we can pull your
   changes

I know that sounds like a lot of work, but if you don't we have to do it and that means that your awesome improvement or bugfix will take longer to be integrated into the official script. And as you we want everyone to profit from such changes sooner then later. :)

About

A very simple build script for bare metal arm toolchain. NO LINUX!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published