DON’T FOLLOW THIS HOWTO!!! It seems that arm-none-eabi-gcc 4.6.2 from ports has some problems with FPU (floating point)!! I’ll update this post when I figure out which one!

Since I have two of these boards, and my primary OS is Mac OSx, I’ll try to setup loader and toolchain on it.

sources:
Programming the Stellaris Launchpad with GNU/Linux
ICDI support in OpenOCD – Stellarisiti forum

Since I’m using mac ports, this should be fairly easy…

First, we need loader, for now it’s lm4flash

cd /opt/local/src
git clone https://github.com/utzig/lm4tools.git

for building lm4flash, you need to have libusb-1.0, which you probably have, but if you don’t, then:

sudo port install libusb

Then we can build lm4flash:

cd lm4tools/lm4flash
make
sudo cp lm4flash /opt/local/sbin # If you wish to have it system wide...

I tried arm-none-eabi toolchain from jsnyder, and it seems that it works ok! At least in one test I tried in which macport’s toolchain failed!
Since jsnyder is using Homebrew, and I’m using Macports, of course that there were few incompatibilities with headers and library locations! :-D

First, we need to install few dependencies:

sudo port install gmp mpfr libmpc

Now, clone repository

cd /opt/local/src
git clone git://github.com/jsnyder/arm-eabi-toolchain.git

Now, since Homebrew install it’s packages to /usr/local, and Macports installs to /opt/local, I modified Makefile to suit those differences. But, in newer version of gcc there is no need to apply mulilibbash patch anymore, it’s already included.
If you are using Homebrew, you only need to apply first patch, which removes procedure of applying multilibbash patch:

cd /opt/local/src/arm-eabi-toolchain
curl http://blog.propellered.com/files/patch.multilibbash | patch -p1

I created patch for Macports for include location, but for some reason that patch for include location doesn’t work, so workaround is to create links for include and lib folders from /opt/local to /usr/local. It works, but I’m not shure is it good idea!

sudo ln -s /opt/local/include /usr/local/include
sudo ln -s /opt/local/lib /usr/local/lib

And now, build it and install!

cd /opt/local/src/arm-eabi-toolchain
sudo mkdir /opt/local/arm-cs-tools
sudo chown -R [user]:admin /opt/local/arm-cs-tools
PREFIX=/opt/local/arm-cs-tools make install-cross

After this, it’s good idea to install Stellarisware library, for easier working with Launchpad hardware...
First, download it, and then:

mkdir /opt/local/src/stellarisware
cd /opt/local/src/stellarisware
unzip ~/Downloads/SW-EK-LM4F120XL-9453.exe
make

This will build library using arm-none-eabi toolchain, including examples... Examples binaries and located in boards/ek-lm4f120xl/{example name}/gcc

OK, now it’s time for testing toolchain, flash tool and library...

First, check lm4flash. Connect board to USB and run following line:

lm4flash stellarisware/boards/ek-lm4f120xl/blinky/gcc/blinky.bin

You should see green led flashing. (It didn’t work on my board, so I just replugged it and flashed again. Then it worked…) OK, it seems that flashing (on my laptop) doesn’t work from first try, but if you call lm4flash with -v parameter (verify) it works…

Next on, gdb :-S

update 2: There is some issues with loader, and it will flash board first and maybe second time after plugging in board, but after it won’t work. Workaround is to just replug board...

update 3: lm4flash is now working OK, at least for me ™ !! :-D