U23 2012/Toolchain
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 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 makeSolltet ihr einen Fehler bekommen, könnt ihr mit einem
make V=1die 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:$PATHWenn alles geklappt hat, könnt ihr im STM32-Toolchain Ordner noch ein
make cleanausfü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-rulesaus 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.