Voraussetzungen: Unterschied zwischen den Versionen
K (→Installation der Software unter openSuse ab 11.2) |
(→Windows: Hinweise auf die alte Vorgehensweise und nicht mehr verfügbare Abläufe entfernt.) |
||
(36 dazwischenliegende Versionen von 17 Benutzern werden nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
== Unix, Linux == | == Unix, Linux == | ||
* AVR GCC-Compiler (Version 4.1 oder höher) | * AVR GCC-Compiler (Version 4.1 oder höher) | ||
− | * AVR LIBC (mind. Version 1.6) | + | * AVR LIBC (mind. Version 1.6.8, für 128er ATMegas 1.7) |
* GNU-Tools (insbesondere Bash, Make, m4 und awk) | * GNU-Tools (insbesondere Bash, Make, m4 und awk) | ||
* Programm zum Hochladen des Images auf deine Hardware (z.B. avrdude) | * Programm zum Hochladen des Images auf deine Hardware (z.B. avrdude) | ||
− | == | + | == AVR Entwicklungsumgebung == |
− | |||
− | == Installation der Software unter Ubuntu | + | Die AVR Entwicklungsumgebung [http://www.nongnu.org/avr-libc/user-manual/install_tools.html übersetzt] man am besten aus den Quellen. |
− | apt-get install libncurses5-dev | + | |
+ | == Installation der Software unter Debian Lenny / Ubuntu 9.04+ == | ||
+ | apt-get install gcc-avr avr-libc binutils-avr m4 gawk libncurses5-dev make dialog git-core avrdude screen | ||
+ | |||
+ | === Neuere Pakete manuell installieren (für z.B. ATMega 1284p) === | ||
+ | Für das Arbeiten mit ATMega 1284p u.ä. sind neuere Pakete erforderlich. Hinweis: Das Installieren von Fremdquellen kann die Systemsicherheit beeinträchtigen! | ||
+ | |||
+ | Die neueren Pakete ersetzen die älteren Pakete automatisch: | ||
+ | |||
+ | wget http://launchpadlibrarian.net/76961413/avr-libc_1.7.1-2_all.deb | ||
+ | wget http://launchpadlibrarian.net/76957705/gcc-avr_4.5.3-1_i386.deb | ||
+ | wget http://launchpadlibrarian.net/76952681/binutils-avr_2.20.1-2_i386.deb | ||
+ | |||
+ | dpkg -i binutils-avr_2.20.1-2_i386.deb | ||
+ | dpkg -i gcc-avr_4.5.3-1_i386.deb | ||
+ | dpkg -i avr-libc_1.7.1-2_all.deb | ||
+ | |||
+ | === Atmels > 64K === | ||
+ | Installieren der "avr-linux-libc-toolchain" | ||
+ | mkdir /usr/src/avr-linux-libc-toolchain ; cd /usr/src/avr-linux-libc-toolchain | ||
+ | wget -O Makefile http://ethersex.de/images/4/4c/Makefile.txt | ||
+ | make | ||
+ | export PATH="/usr/src/avr-linux-libc-toolchain-20101030/bin:"$PATH | ||
+ | export LD_LIBARY_PATH="/usr/src/avr-linux-libc-toolchain-20101030/lib:"$LD_LIBARY_PATH | ||
+ | Bitte immer die beiden export zeilen ausführen vor dem kompilieren, eventuell in der /etc/profile fest eintragen. | ||
+ | [[Bild:Makefile.txt|Makefile]] | ||
== Installation der Software unter openSuse ab 11.2 == | == Installation der Software unter openSuse ab 11.2 == | ||
− | zypper install libncurses5 ncurses-devel m4 gawk avrdude avr-libc cross-avr-gcc | + | zypper install libncurses5 ncurses-devel m4 gawk avrdude avr-libc cross-avr-gcc dialog |
Die von ethersex benötigten ausführbaren Dateien wie etwa avr-gcc liegen bei openSuse | Die von ethersex benötigten ausführbaren Dateien wie etwa avr-gcc liegen bei openSuse | ||
Zeile 27: | Zeile 51: | ||
ln -s /opt/cross/bin/avr-size avr-size | ln -s /opt/cross/bin/avr-size avr-size | ||
ln -s /opt/cross/bin/avr-ar avr-ar | ln -s /opt/cross/bin/avr-ar avr-ar | ||
+ | ln -s /opt/cross/bin/avr-cpp avr-cpp | ||
Hiermit erstellst du symbolische Links zu den benötigten ausführbaren Dateien in | Hiermit erstellst du symbolische Links zu den benötigten ausführbaren Dateien in | ||
deinem ethersex Verzeichnis. | deinem ethersex Verzeichnis. | ||
+ | |||
+ | Es fehlt noch die AVR Toolchain: | ||
+ | Manuel in YAST die CrossToolchain mit der URL http://download.opensuse.org/repositories/CrossToolchain:/avr/openSUSE_11-2/ | ||
+ | einbinden und installieren. | ||
+ | |||
+ | == Gentoo == | ||
+ | Um Ethersex mit Gentoo zu kompilieren braucht man (wie immer) den avr-gcc. Dieser | ||
+ | wird bei Gentoo folgendermaßen erstellt: | ||
+ | |||
+ | emerge crossdev | ||
+ | echo /etc/make.conf >> "PORTDIR_OVERLAY="/usr/local/portage" | ||
+ | crossdev -v --target avr | ||
+ | |||
+ | wenn das crossdev fehlschlägt (was bei mir der Fall war) dann kann man so vorgehen: | ||
+ | |||
+ | crossdev -v --target avr --without-headers | ||
+ | ln -s /usr/i686-pc-linux-gnu/avr/lib/ldscripts /usr/avr/lib/ldscripts | ||
+ | |||
+ | Diese Infos kommen von http://en.gentoo-wiki.com/wiki/Crossdev | ||
+ | |||
+ | == FreeBSD == | ||
+ | siehe: [[Benutzer:Rdnzl/FreeBSD]] | ||
+ | |||
+ | == MacOS X == | ||
+ | MacOS X bietet durch seinen Unix-Unterbau eine gute Basis um ein eigenes Ethersex zu bauen. Die fehlenden Werkzeuge gibt es in den [http://www.macports.org/ MacPorts]. Dazu muss amn allerdings erst die MacPorts nach der [http://www.macports.org/install.php Anleitung] installieren. | ||
+ | |||
+ | Git für die Quellkodeverwaltung installierst du mit: | ||
+ | port install git | ||
+ | |||
+ | Es gibt auch den cross compiler für die AVRs in den MacPorts. Allerdings lässt der sich zur Zeit unter 10.6 nicht installieren. Ein guter Ersatz ist die Installation des [http://www.obdev.at/products/crosspack/index-de.html CrossPack]. Es enthält alles, was zum Entwickeln notwendig ist inklusive avrdude. | ||
+ | |||
+ | Die von Apple gelieferte Bash (V3.2) funktioniert nicht als config shell und der BSD sed hat auch Probleme mit den build Skripten, deshalb werden zusätzlich auch noch Bash V4.0 und GNU sed benötigt. | ||
+ | port install bash | ||
+ | port install sed | ||
+ | |||
+ | == OpenSolaris / Solaris 11 == | ||
+ | siehe [[Voraussetzungen_solaris]] | ||
== Windows == | == Windows == | ||
− | Du benötigst unter Windows praktisch eine Unix-Umgebung mit allen oben genannten Programmen. Hierfür eignet sich beispielsweise cygwin. | + | Du benötigst unter Windows praktisch eine Unix-Umgebung mit allen oben genannten Programmen. Hierfür eignet sich beispielsweise [http://cygwin.com/ cygwin]. |
Im cygwin setup sind die üblichen Entwicklertools auszuwählen. Insbesondere braucht man: | Im cygwin setup sind die üblichen Entwicklertools auszuwählen. Insbesondere braucht man: | ||
* awk | * awk | ||
+ | * gcc | ||
* git | * git | ||
* m4 | * m4 | ||
Zeile 41: | Zeile 104: | ||
* libncurses-devel | * libncurses-devel | ||
− | + | Den AVR-Compiler erhält man mit der AVR Toolchain von Atmel, flashen kann man die Firmware | |
+ | mit dem AVR Studio. | ||
+ | |||
+ | AVR Studio: | ||
+ | * http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725 | ||
+ | |||
+ | Die letzte Beta-Version des AVR Studios ebenso wie die AVR Toolchain: | ||
+ | * http://www.atmel.no/beta_ware/ | ||
+ | |||
+ | == Fehler, Bugs etc == | ||
+ | ===Your lxdialog utility does not exist=== | ||
+ | '''make menuconfig''' erzeugt folgenden Fehler: | ||
+ | Preparing scripts: functionsYour lxdialog utility does not exist | ||
+ | Lösung: lxdialog script ausführbar machen: | ||
+ | chmod +x scripts/lxdialog/lxdialog | ||
+ | |||
+ | ===dialog command not found=== | ||
+ | Wenn unter Windows beim '''make menuconfig''' immer wieder die Meldung erscheint: dialog command not found, dann wurde offenbar das Tool dialog nicht gefunden. | ||
+ | |||
+ | Dieses Tool wird aufgerufen, um die Hilfe-Seiten der Konfiguration anzuzeigen. Sofern man diese nicht nutzt, fällt einem auch nichts auf. | ||
+ | |||
+ | Eigentlich soll eine spezielle, abgespeckte Variante von dialog im Verzeichnis ./scripts/lxdialog unter der Bezeichnung lxdialog.exe zur Verfügung stehen und auch entsprechend im Makefile genutzt werden. | ||
+ | |||
+ | Doch in ./scripts/Menuconfig wird in der Funktion function_help() ab Zeile 381 nicht etwas lxdialog über die Variable $DIALOG aufgerufen sondern versucht direkt auf dialog zuzugreifen. Das geht natürlich schief, da dies unter Windows meist nicht installiert ist. | ||
+ | |||
+ | Falls man auf die Hilfefunktion nicht verzichten kann, gibt es folgende Lösungsmöglichkeiten: | ||
+ | #Entweder Datei ./scripts/Menuconfig ändern, so dass lxdialog anstelle von dialog aufgerufen wird, | ||
+ | #oder dialog selbst compilieren, denn leider scheint es der Cygwin-Installer nicht bereitzustellen. | ||
+ | |||
+ | Zum Ändern von ./scripts/Menuconfig muss man in der Funktion function_help() ab Zeile 381, zweimal folgende Änderung machen: | ||
+ | #dialog ändern zu $DIALOG | ||
+ | #Die Zeilen mit den Parametern --exit-label, --help-button und --help-label auskommentieren oder löschen, da diese von lxdialog nicht unterstützt werden. | ||
+ | |||
+ | Falls man stattdessen lieber dialog für Cygwin kompilieren möchte, so geht dies wie folgt: | ||
+ | |||
+ | In dieser Mailingliste steht etwas zu dialog unter cygwin | ||
+ | * http://www.cygwin.com/ml/cygwin/2002-06/msg00458.html | ||
+ | |||
+ | Die Downloadadresse, die ich verwendet habe | ||
+ | * ftp://ftp.us.debian.org/debian/pool/main/d/dialog/dialog_1.1-20100428.orig.tar.gz | ||
+ | |||
+ | Unter cygwin das Paket auspacken mit | ||
+ | tar xzvf dialog_1.1-20100428.orig.tar.gz | ||
+ | cd dialog_1.1* | ||
+ | ./configure | ||
+ | make | ||
+ | make install | ||
[[Category:Ethersex]] | [[Category:Ethersex]] |
Aktuelle Version vom 28. September 2011, 10:51 Uhr
Es werden neben einem Compiler der AVR Images erstellen kann, noch weitere Werkzeuge benötigt. Diese sind meist einfacher unter einem unixartigen Betriebssystem verfügbar, daher empfehlen wir dir ein solches z.B. Ubuntu Linux zu verwenden. Für den Anfang ist auch die Live CD zu empfehlen.
Inhaltsverzeichnis
Unix, Linux
- AVR GCC-Compiler (Version 4.1 oder höher)
- AVR LIBC (mind. Version 1.6.8, für 128er ATMegas 1.7)
- GNU-Tools (insbesondere Bash, Make, m4 und awk)
- Programm zum Hochladen des Images auf deine Hardware (z.B. avrdude)
AVR Entwicklungsumgebung
Die AVR Entwicklungsumgebung übersetzt man am besten aus den Quellen.
Installation der Software unter Debian Lenny / Ubuntu 9.04+
apt-get install gcc-avr avr-libc binutils-avr m4 gawk libncurses5-dev make dialog git-core avrdude screen
Neuere Pakete manuell installieren (für z.B. ATMega 1284p)
Für das Arbeiten mit ATMega 1284p u.ä. sind neuere Pakete erforderlich. Hinweis: Das Installieren von Fremdquellen kann die Systemsicherheit beeinträchtigen!
Die neueren Pakete ersetzen die älteren Pakete automatisch:
wget http://launchpadlibrarian.net/76961413/avr-libc_1.7.1-2_all.deb wget http://launchpadlibrarian.net/76957705/gcc-avr_4.5.3-1_i386.deb wget http://launchpadlibrarian.net/76952681/binutils-avr_2.20.1-2_i386.deb
dpkg -i binutils-avr_2.20.1-2_i386.deb dpkg -i gcc-avr_4.5.3-1_i386.deb dpkg -i avr-libc_1.7.1-2_all.deb
Atmels > 64K
Installieren der "avr-linux-libc-toolchain"
mkdir /usr/src/avr-linux-libc-toolchain ; cd /usr/src/avr-linux-libc-toolchain wget -O Makefile http://ethersex.de/images/4/4c/Makefile.txt make export PATH="/usr/src/avr-linux-libc-toolchain-20101030/bin:"$PATH export LD_LIBARY_PATH="/usr/src/avr-linux-libc-toolchain-20101030/lib:"$LD_LIBARY_PATH
Bitte immer die beiden export zeilen ausführen vor dem kompilieren, eventuell in der /etc/profile fest eintragen.
Datei:Makefile.txt
Installation der Software unter openSuse ab 11.2
zypper install libncurses5 ncurses-devel m4 gawk avrdude avr-libc cross-avr-gcc dialog
Die von ethersex benötigten ausführbaren Dateien wie etwa avr-gcc liegen bei openSuse im Verzeichnis "/opt/cross/bin/". Daher sind folgende Schritte ebenfalls nötig:
Wechsel in dein ethersex Verzeichnis ln -s /opt/cross/bin/avr-gcc avr-gcc ln -s /opt/cross/bin/avr-g++ avr-g++ ln -s /opt/cross/bin/avr-objcopy avr-objcopy ln -s /opt/cross/bin/avr-objdump avr-objdump ln -s /opt/cross/bin/avr-size avr-size ln -s /opt/cross/bin/avr-ar avr-ar ln -s /opt/cross/bin/avr-cpp avr-cpp
Hiermit erstellst du symbolische Links zu den benötigten ausführbaren Dateien in deinem ethersex Verzeichnis.
Es fehlt noch die AVR Toolchain: Manuel in YAST die CrossToolchain mit der URL http://download.opensuse.org/repositories/CrossToolchain:/avr/openSUSE_11-2/ einbinden und installieren.
Gentoo
Um Ethersex mit Gentoo zu kompilieren braucht man (wie immer) den avr-gcc. Dieser wird bei Gentoo folgendermaßen erstellt:
emerge crossdev echo /etc/make.conf >> "PORTDIR_OVERLAY="/usr/local/portage" crossdev -v --target avr
wenn das crossdev fehlschlägt (was bei mir der Fall war) dann kann man so vorgehen:
crossdev -v --target avr --without-headers ln -s /usr/i686-pc-linux-gnu/avr/lib/ldscripts /usr/avr/lib/ldscripts
Diese Infos kommen von http://en.gentoo-wiki.com/wiki/Crossdev
FreeBSD
siehe: Benutzer:Rdnzl/FreeBSD
MacOS X
MacOS X bietet durch seinen Unix-Unterbau eine gute Basis um ein eigenes Ethersex zu bauen. Die fehlenden Werkzeuge gibt es in den MacPorts. Dazu muss amn allerdings erst die MacPorts nach der Anleitung installieren.
Git für die Quellkodeverwaltung installierst du mit:
port install git
Es gibt auch den cross compiler für die AVRs in den MacPorts. Allerdings lässt der sich zur Zeit unter 10.6 nicht installieren. Ein guter Ersatz ist die Installation des CrossPack. Es enthält alles, was zum Entwickeln notwendig ist inklusive avrdude.
Die von Apple gelieferte Bash (V3.2) funktioniert nicht als config shell und der BSD sed hat auch Probleme mit den build Skripten, deshalb werden zusätzlich auch noch Bash V4.0 und GNU sed benötigt.
port install bash port install sed
OpenSolaris / Solaris 11
siehe Voraussetzungen_solaris
Windows
Du benötigst unter Windows praktisch eine Unix-Umgebung mit allen oben genannten Programmen. Hierfür eignet sich beispielsweise cygwin.
Im cygwin setup sind die üblichen Entwicklertools auszuwählen. Insbesondere braucht man:
- awk
- gcc
- git
- m4
- make
- ncurses
- libncurses-devel
Den AVR-Compiler erhält man mit der AVR Toolchain von Atmel, flashen kann man die Firmware mit dem AVR Studio.
AVR Studio:
Die letzte Beta-Version des AVR Studios ebenso wie die AVR Toolchain:
Fehler, Bugs etc
Your lxdialog utility does not exist
make menuconfig erzeugt folgenden Fehler:
Preparing scripts: functionsYour lxdialog utility does not exist
Lösung: lxdialog script ausführbar machen:
chmod +x scripts/lxdialog/lxdialog
dialog command not found
Wenn unter Windows beim make menuconfig immer wieder die Meldung erscheint: dialog command not found, dann wurde offenbar das Tool dialog nicht gefunden.
Dieses Tool wird aufgerufen, um die Hilfe-Seiten der Konfiguration anzuzeigen. Sofern man diese nicht nutzt, fällt einem auch nichts auf.
Eigentlich soll eine spezielle, abgespeckte Variante von dialog im Verzeichnis ./scripts/lxdialog unter der Bezeichnung lxdialog.exe zur Verfügung stehen und auch entsprechend im Makefile genutzt werden.
Doch in ./scripts/Menuconfig wird in der Funktion function_help() ab Zeile 381 nicht etwas lxdialog über die Variable $DIALOG aufgerufen sondern versucht direkt auf dialog zuzugreifen. Das geht natürlich schief, da dies unter Windows meist nicht installiert ist.
Falls man auf die Hilfefunktion nicht verzichten kann, gibt es folgende Lösungsmöglichkeiten:
- Entweder Datei ./scripts/Menuconfig ändern, so dass lxdialog anstelle von dialog aufgerufen wird,
- oder dialog selbst compilieren, denn leider scheint es der Cygwin-Installer nicht bereitzustellen.
Zum Ändern von ./scripts/Menuconfig muss man in der Funktion function_help() ab Zeile 381, zweimal folgende Änderung machen:
- dialog ändern zu $DIALOG
- Die Zeilen mit den Parametern --exit-label, --help-button und --help-label auskommentieren oder löschen, da diese von lxdialog nicht unterstützt werden.
Falls man stattdessen lieber dialog für Cygwin kompilieren möchte, so geht dies wie folgt:
In dieser Mailingliste steht etwas zu dialog unter cygwin
Die Downloadadresse, die ich verwendet habe
Unter cygwin das Paket auspacken mit
tar xzvf dialog_1.1-20100428.orig.tar.gz cd dialog_1.1* ./configure make make install