U23 2012/Toolchain

From C4 Wiki
Jump to: navigation, search

Toolchain bauen

Wenn ihr die Toolchain für unser Projekt selber bauen wollt, findet ihr hier eine Anleitung dazu.

Die Abhängigkeiten, die ihr dazu braucht, könnt ihr unter Debian-ähnlichen Linux Distributionen (hier unter Ubuntu 12.10) mit dem folgenden Befehl installieren:

sudo apt-get install git libgmp-dev libmpc-dev libmpfr-dev make build-essential texinfo libusb-dev libusb-1.0-0-dev autoconf automake zlib1g-dev ncurses-dev

Bei anderen Distributionen heissen die Pakete ähnlich. Sucht einfach mal in eurem Paketmanager.

Nachdem ihr die Abhängigkeiten alle habt, müsst ihr das git-Repository der Toolchain von unserem github clonen und die Toolchain mit einem make bauen:

mkdir u23
cd u23
git clone git://github.com/cccc/STM32-Toolchain.git
cd STM32-Toolchain
make
Solltet ihr einen Fehler bekommen, könnt ihr mit einem
make V=1
die Schritte widerholen und solltet dabei irgendwo eine Fehlermeldung ausgegeben bekommen. Die Toolchain ist nach einem erfolgreichen Build im Ordner
/pfad/zum/u32/Ordner/STM32-Toolchain/arm-none-eabi
. Wenn ihr die Toolchain jetzt benutzen wollt, müsst ihr den Pfad noch in eure PATH-Variable aufnehmen:
export PATH=/pfad/zum/u32/Ordner/STM32-Toolchain/arm-none-eabi/bin:$PATH

Dies müsst ihr jedes mal, wenn ihr ein neues Terminal öffnet erneut ausführen. Wenn ihr den Pfad permanent in eure PATH-Variable aufnehmen wollt, gibt es näheres dazu hier: http://wiki.ubuntuusers.de/Umgebungsvariable

Wenn alles geklappt hat, könnt ihr im STM32-Toolchain Ordner noch ein
make clean
ausführen, womit die temporären Dateien, die während des Kompilierens erstellt wurden, löschen könnt. Eure Toolchain selbst bleibt dabei erhalten.

udev-Regeln

Damit ihr unter Linux als normaler User auf euer STM32-Board schreiben könnt, müsst ihr noch eine udev-Regel zu eurem System hinzufügen.

Gebt dazu auf einer Konsole die folgende Zeile ein (nur für Ubuntu):

gksudo gedit /etc/udev/rules.d/50-stm32f4.rules

Nach der Eingabe eures Passwortes öffnet sich ein Texteditor, in den ihr die folgende Zeile einfügen müsst:

ATTR{idVendor}=="0483", ATTR{idProduct}=="3748", SYMLINK+="stm32-%k", MODE="666", GROUP="plugdev"
Startet danach ein mal euren Rechner neu oder führt als root den Befehl
udevadm control --reload-rules
aus und die Regel sollte aktiv sein. Wenn ihr nun euer STM32-F4Discovery Board per USB an euren Rechner anklemmt, solltet ihr unter /dev/ einen Devicenode haben, der mit stm32- anfängt.