Difference between revisions of "U23 2012/Toolchain"

From C4 Wiki
Jump to: navigation, search
(Created page with "== 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...")
 
 
(5 intermediate revisions by one other user not shown)
Line 2: Line 2:
 
Wenn ihr die Toolchain für unser Projekt selber bauen wollt, findet ihr hier eine Anleitung dazu.
 
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 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 libz-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 ==
Line 29: Line 33:
 
Nach der Eingabe eures Passwortes öffnet sich ein Texteditor, in den ihr die folgende Zeile einfügen müsst:
 
Nach der Eingabe eures Passwortes öffnet sich ein Texteditor, in den ihr die folgende Zeile einfügen müsst:
 
<pre>ATTR{idVendor}=="0483", ATTR{idProduct}=="3748", SYMLINK+="stm32-%k", MODE="666", GROUP="plugdev"</pre>
 
<pre>ATTR{idVendor}=="0483", ATTR{idProduct}=="3748", SYMLINK+="stm32-%k", MODE="666", GROUP="plugdev"</pre>
 +
 +
Startet danach ein mal euren Rechner neu oder führt als root den Befehl <pre>udevadm control --reload-rules</pre> 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.

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.