## page was renamed from EmbeddedLinux #pragma section-numbers 1 #language de '''Embedded Linux''' Homepage der Vorlesung: http://elk.informatik.fh-augsburg.de/hhweb/elinux Bitte dieses Wiki mit Login ''WikiGast'' und Passwort ''student'' betreten. <> == Notizen im SS10 == === Probleme und Lösungen bei Buildroot === * Bei Buildroot 2.3.0 konnte das Archiv "avr32_linux_user_guide_2.0.0.tar.gz" per 'make source' nicht heruntergeladen werden, da es auf dem angegebenen Atmel-Server nicht mehr vorhanden ist. Das Archiv wird allerdings benötigt um 'make' komplett ausführen zu lassen. Es gibt nun zwei Möglichkeiten das Problem zu lösen:<
> * Das Archiv [[http://www.atmel.no/buildroot/source/mirror/avr32_linux_user_guide_2.0.0.tar.gz|manuell laden]] und in den Ordner /buildroot-avr32-v2.3.0/dl verschieben.<
> * Per 'make menuconfig' das Package 'avr32-wiki-docs' deaktivieren.<
> . Damit sollte es keine Probleme mit fehlenden Archiven mehr geben. <
><
> (Buildroot 2.3.0 @ Ubuntu 9.10 / Alexander Senger) <
><
> * Buildroot 2.3.0 kann beim 'make' abbrechen und zeigt folgende Fehlerursache an: <
> {{{unifdef.c:209: error: conflicting types for 'getline'}}} <
><
> Dies dürfte wohl damit zusammenhängen: <
> ''Rawhide builds are currently failing to build unifdef.c, as the next version of glibc changes the default _POSIX_C_SOURCE level, which exposes getline() from ''<
> Quelle: http://linux.derkeiler.com/Mailing-Lists/Kernel/2009-03/msg04460.html <
><
> Einfache Lösung: <
> Die unifdef.c gibt es 2x im Buildroot-Verzeichnis. In jeder Datei gibt es 3 Vorkommnisse von 'getline', die kurzerhand in ''''parseline'''' geändert werden. Insgesamt also 6 Änderungen. Danach lief der 'make' bei mir erfolgreich durch. <
> {{{buildroot-avr32-v2.3.0/toolchain_build_avr32/linux-2.6.27.6/scripts/unifdef.c}}} <
> {{{buildroot-avr32-v2.3.0/toolchain_build_avr32/uClibc-0.9.30/extra/scripts/unifdef.c}}} <
><
> Quelle: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=89667&start=0 (am Seitenende)<
> (Buildroot 2.3.0 @ Ubuntu 9.10 / Andreas Nagel) * Folgende Fehlermeldung beim installieren von libxml-parser-perl: . !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ERROR: Can't create '/usr/local/lib/perl/5.10.0/XML' mkdir /usr/local/lib/perl/5.10.0/XML: Permission denied at /usr/share/perl/5.10/ExtUtils/Install.pm line 479 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! . at -e line 1 Einfachste LÖSUNG: cd output/build/host-libxml-parser-perl-2.36 make clean<
>perl Makefile.PL<
>PREFIX=~/studium/semester_6/embedded_linux/buildroot-2010.02/output/build/host-libxml-parser-perl-2.36/<
>INSTALLDIRS=perl<
>make<
>cd ../../..<
>make<
><
>Die Variable PREFIX muss entsprechend angepasst werden.<
>Aufgetreten ist das Problem auf folgenden Systemen:<
><
>Arch Linux 64 Bit<
>Kernel 2.6.32<
>ZSH 4.3.10<
>libc 2.10.1<
>BuildRoot 2010.2 (stable)<
><
>sowie<
><
>Ubuntu 9.10 32 Bit<
>Kernel 2.6.31<
>ZSH 4.3.10<
>libc 2.10.1<
>gcc 4.4.1<
>perl 5.10.0<
>BuildRoot 2010.2 (stable)<
><
>(Alexander Rampp)<
><
> === Probleme und Lösungen beim Booten === * Bei mir blieb das Board bei "Freeing init memory: 76K (90000000 - 90013000)" hängen. Anscheinend mag das Board es nicht, wenn man das Root-FS aus "/project_build_avr32/atngw100/root/" nimmt. Ich habe dann das Root-FS aus dem "rootfs.avr32.tar.bz2" Archiv unter "/binaries/atngw100/" genommen und es im NFS Ordner entpackt. Dann bootete das NGW100 auch nochmal.<
><
> (Buildroot 2.3.0 @ Ubuntu 10.04 / Alexander Senger) <
><
> == Notizen im SS09 == === Studienarbeiten === Die Vortraege sind am 24. Juni 2009 (Ausweichtermin: 1. Juli) * Gschossmann, Rothoerl: Linux Distributionen * Schnepp, Plattner: Speicher * Gruber: Echtzeit * Landgraf: User Interface === Uebungen im G216 === * Die Uebungsarbeitsplaetze heissen RT1, RT2, ... Der Rechner '''RT10''', der links an der Wand steht, ist zur Demonstration vorgesehen, bitte daran nicht arbeiten. An ihm ist ein NGW100 mit JTAGice-mkII und Hardware-Erweiterung angeschlossen. * Wir nehmen die Buildroot-Version 2.3.0 von http://www.atmel.no/buildroot. Buildroot wird '''lokal''' auf den Rechnern installiert und kompiliert (unter /rt). Bitte '''nicht''' in Ihrem Home-Verzeichnis arbeiten. Dieses wird per NFS ueber das Netzwerk gemountet, so dass die Buildroot-Kompilierung unnoetig das Datennetz belasten wuerde. * Pakete, die auf den Host-Rechnern (Debian Lenny) installiert werden muessen: libncurses, gettext, bison, flex, texinfo, picocom. Sie koennen hier gerne weitere Pakete anfuegen. * Buildroot beschwert sich ueber die fehlende Datei dl/avr32_linux_user_guide_2.0.0.tar.gz. Der automatische Download waehrend buildroot laeuft funktioniert nicht, da der Link bei Atmel kaputt ist. Man findet diese Datei in dem "Board Support Package von Atmel, meine Version heisst AVR32_Linux_BSP_reduced_Image_3.0.0.iso (von www.atmel.com). Das iso Image ist gut 900 MByte gross! Dieses iso Image ist auch auf dem Rechner RT10 gespeichert.<
> Alternativ ruft man ''make menuconfig'' auf und deaktiviert unter ''Package selection for the target'' das Package ''avr32-wiki-docs''. == Notizen im WS0809 == Ende Oktober haben die meisten Kursteilnehmer (etwa 25) ein NGW100 bekommen. Folgende Projekte sind gerade im Gespraech oder wurden bereits bearbeitet (liebe Studenten, Ihr duerft Eure Vorhaben gerne hier selber beschreiben): * Python 2.6.1. Ich habe die aktuelle Version des Python Interpreters fuer den AVR32 kompiliert. Siehe http://www.hs-augsburg.de/~hhoegl/tmp/elinux/. * Clex Filemanager. Peter Huewe hat diesen ncurses Filemanager fuer den AVR32 angepasst. Die Buildroot-Konfigurationsfiles und ein Patch fuer Version 3.18 sind hier: [[BR]] http://www.hs-augsburg.de/~hhoegl/tmp/elinux/clex.tar.bz2 * Peter Huewe hat den Finch Jabber- und ICQ-Client von http://pidgin.im fuer den AVR32 crosskompiliert. Er moechte ein Geraet bauen, das Audio wiedergeben kann (braucht auch ein CS4202 Codec), das eine Anzeige hat (TFT) und eine Tastatur, so dass man fast ohne Stromverbrauch Musik hoeren und "jabbern" kann. Der AVR32 hat doch eine PS2 Schnittstelle, darueber koennte man doch eine PC Tastatur anschliessen, oder? * Musik- (MP3, Ogg) und Videos abspielen mit mplayer. Dazu soll ein Cirrus Logic CS4202 Codec am AC97 Port des AVR32 angeschlossen werden. Ich versuche Muster dieses Bausteines im TQFP-48 Gehaeuse von Avnet-Memec in Muenchen zu bekommen. [[BR]] Alternativ haette ich noch einen TLV320AIC23PW bereits in meiner Bastelkiste liegen. Dieses Audio-Codec hat einen I2S Bus und ein TSSOP-28 Gehaeuse. Die synchrone serielle Schnittstelle des AVR32 kann angeblich auch I2S Geraete ansteuern. * Philipp Ostler hat bereits einen BitTorrent Server auf dem NGW100 realisiert. * Hannes Klas hat mp3, aac und ogg-vorbis mit einem fuer ngw100 cross-compiliertem mplayer fluessig zum Laufen bekommen: http://dog.informatik.fh-augsburg.de/hhwiki/MplayerMP3 * Ein Student moechte einen DCF77 Empfaenger am AVR32 anschliessen. * Ich moechte einen MCP2515 CAN Controller mit SPI Interface an den AVR32 anschliessen und dann ''socketcan'' (http://socketcan.berlios.de) fuer den AVR32 kompilieren. * Displays . - Philips TFT "LB064V02" - NEC TFT NL3224BC35-20 - Einfacher s/w Display: http://www.hs-augsburg.de/~hhoegl/tmp/display-text/displays.html === Bestellen fuer die Projekte === * DCF77 Empfaenger (Conrad) * Codec AC97 * Einpolige Steckverbinder fuer die Erweiterungs-Stecker ("fly-wires") * Adapterplatinen fuer uebliche Peripherie-ICs im TSSOP und QFP Gehaeuse, z.B. von * http://www.er-tronik.de * http://www.schmartboard.com (gibt es bei http://www.watterott.net) * http://www.reichelt.de * UCB1400 AC97 Audio Codec mit Touch Controller === Was braucht man sonst noch? === Das NGW100 kommt ohne Kabel, ohne Stromversorgung und auch die Erweiterungsstecker (drei Pfostenfeldleisten, jede 2 x 18 Pins) sind nicht dabei. Deshalb sollte zur Not im Rechnertechnik-Labor (G216) ausreichend vorhanden sein: * Steckernetzteil 9 bis 15 Volt (ca. 200 mA). Hinweis: Man kann das Board auch ueber die vorhandenen USB Buchse mit Spannung versorgen. Dazu muss man aber ein Kabel zwischen USB Buchse und Gleichrichter - am besten noch mit einer Schutzdiode - einloeten. Bitte wenden Sie sich an mich, wenn Sie das machen moechten. Im Wiki Eintrag von Alexander Merkle ist das beschrieben: . http://www.hs-augsburg.de/~t4nk/dokuwiki/doku.php?id=projekte:avr32:board * RS-232 Kabel (Vorsicht: Notebooks haben oft keine serielle Schnittstelle mehr. Man braucht dann ein USB-zu-RS232 Kabel, das es fuer etwa 10 Euro zu kaufen gibt (z.B. bei http://www.er-tronik.de) * Ethernet Kabel (crossover) * Pfostenfeldleisten zum Einloeten