Difference between revisions of "U23 2012/Toolchain"

From C4 Wiki
Jump to: navigation, search
(Toolchain bauen)
 
(3 intermediate revisions by one other user not shown)
Line 3: Line 3:
  
 
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:
 
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:
<pre>sudo apt-get install git libgmp-dev libmpc-dev libmpfr-dev make build-essential texinfo libusb-dev autoconf automake zlib1g-dev ncurses-dev</pre>
+
<pre>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</pre>
  
 
Bei anderen Distributionen heissen die Pakete ähnlich. Sucht einfach mal in eurem Paketmanager.
 
Bei anderen Distributionen heissen die Pakete ähnlich. Sucht einfach mal in eurem Paketmanager.
Line 17: Line 17:
 
Solltet ihr einen Fehler bekommen, könnt ihr mit einem <pre>make V=1</pre> die Schritte widerholen und solltet dabei irgendwo eine Fehlermeldung ausgegeben bekommen.
 
Solltet ihr einen Fehler bekommen, könnt ihr mit einem <pre>make V=1</pre> die Schritte widerholen und solltet dabei irgendwo eine Fehlermeldung ausgegeben bekommen.
  
Die Toolchain ist nach einem erfolgreichen Build im Ordner <pre>u23/STM32-Toolchain/arm-none-eabi</pre>. Wenn ihr die Toolchain jetzt benutzen wollt, müsst ihr den Pfad noch in eure PATH-Variable aufnehmen:
+
Die Toolchain ist nach einem erfolgreichen Build im Ordner <pre>/pfad/zum/u32/Ordner/STM32-Toolchain/arm-none-eabi</pre>. Wenn ihr die Toolchain jetzt benutzen wollt, müsst ihr den Pfad noch in eure PATH-Variable aufnehmen:
  
 
<pre>export PATH=/pfad/zum/u32/Ordner/STM32-Toolchain/arm-none-eabi/bin:$PATH</pre>
 
<pre>export PATH=/pfad/zum/u32/Ordner/STM32-Toolchain/arm-none-eabi/bin:$PATH</pre>
 +
 +
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 <pre>make clean</pre> 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 ==
 
== udev-Regeln ==

Latest revision as of 13:57, 20 October 2012

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.