====== Embedded Linux Board ====== ===== ICnova AP7000 Base "AVR32 Grasshopper" ===== * [[http://www.embedded-projects.net/index.php?page_id=237]] * [[http://www.mikrocontroller.net/articles/AVR32_Grasshopper]] Benedikt Sauter, 7.2.2008, sauter@ixbat.de Mit Grasshopper/Nova ist eine **freie Plattform** für die AVR32 Entwicklung von der Firma //In-Circuit GmbH// enstanden. Das Projekt gibt es als **Open Source Projekt** unter dem Namen **Grasshopper**. Offiziell heißt das Produkt bei der Firma //In Circuit GmbH// **ICnova AP7000 Base**. * Kommerziellen Support gibt es von der Firma In-Circuit: [[http://www.in-circuit.de]] * Für den Open-Source-Support gibt es ein Forum bei Embedded Projects: [[http://forum.embedded-projects.net/viewforum.php?id=16]] * Howto für die ersten Schritte: [[http://www.ic-board.de/data/datasheet/icnova-base_welcome_(deutsch).pdf]] ==== Technische Daten ==== Linux ist vorinstalliert * CPU: ATmel AVR32 * 140 MHz (max. 200 MHz möglich) * 64 MB SDRAM (32 Bit breit angeschlossen) * 8 MB Flash * 10/100 MBit/s Netzwerk * On-Chip Display Controller * 1 USB High-Speed Anschluss (USB 2.0) * 8 LED * 1 Taster * Power LED (kann auch angesteuert werden) * Reset Taster * Spannungsversorgung * 5-10V verpolungssicher * USB Kabel * über Pinleisten * über die Pinleisten sind alle wichtigen Ports herausgeführt ==== kurze Beschreibung ==== === GNU/Linux Softwareumgebung === Grasshopper oder ICnova AP7000 Base ist das ideale Linux Einsteigerboard. Mitgeliefert wird der Linux-Kernel mit Patches sowie die komplette Toolchain. * GCC * uClibc * Busybox * SSH Zugang für direkten Zugriff auf die Kommandozeile per Ethernet * Netzwerkeinstellung automatisch per DHCP * HTTP Server * Voller Zugriff auf sämtliche GPIOs und Geräteschnittstellen === Erste Schritte mit dem Grasshopper/Nova === - Anstecken an USB (COM-Emulation über USB) - Jetzt sollte eine neue serielle Schnitttstelle erkannt worden sein: /dev/ttyUSB0 - Über ein Terminalprogramm kann man sich jetzt mit der Schaltung verbinden und U-Boot + Linux bei der Arbeit zusehen und sich einloggen. - Als Terminal kann kermit verwenden (In Debian installierbar mit ''apt-get install ckermit'') - Aufruf: kermit - Eingabe: set line /dev/ttyUSB0 - Eingabe: set flow none - Eingabe: set speed 115200 - Eingabe: set carrier-watch off - Eingabe: c (um Verbindung zu starten) - Drückt man jetzt Reset auf der Schaltung === LEDs ein- und ausschalten === Die LEDs können über das Dateisystem angesteuert werden. Dafür wird man am besten zum Benutzer root. * Eingabe: **su** * In Verzeichnis wechseln: **cd /sys/class/led** * LEDs anschauen: **ls** * In Verzeichnis der gewünschten LED gehen: **cd pwrled\:red/** * LED ausschalten: **echo 1 >> brightness** * LED einschalten: **echo 0 >> brightness** === Ports ein und ausschalten === An den Seiten der Schaltung sind ein großer Teil der GPIO-Leitungen herausgeführt. Diese können wie folgt über die Konsole angesteuert werden. == Setup == - In entsprechendes Verzeichnis wechseln: **cd /config/gpio** - Verzeichnis anlegen: **mkdir iotest** - In dem Verzeichnis finden Sie 4 vom System angelegte Dateien - In die Datei //gpio_id// tragen Sie den Port des ''AP7000'' ein: **echo X >> gpio_id** (X entspricht dabei der Portnummer. Tragen Sie hier eine 0 für Port A oder eine 1 für Port B ein) - In der Datei //pin_mask// setzen Sie die Pin-Maske für alle Pins welche genutzt werden sollen. - In der Datei //oe_mask// werden spezifiziert ob ein Pin ein Ein- oder Ausgang ist. Eine 1 an der entsprechenden Stelle bedeutet der Pin ist ein Ausgang. Eine 0 entsprechend ein Eingang. - Zum Schluss tragen Sie in die Datei //enable// eine **1**, um die Konfiguration zu aktivieren == Zugriff == - In alter UNIX/Linux Manier muss eine Datei für das Gerät im Dateisystem unter dem Ordner /dev angelegt werden: **touch /dev/iotest** - Zugriff auf die Pins: **echo 1 >> /dev/iotest** (wird direkt auf dem Port ausgegeben) - Zustand lesen: **cat /dev/iotest** === Datenaustausch mit dem Grasshopper/Nova === - **Webserver** (**/var/www**); - auf dem Board ist **''wget''** installiert; - auch ein **TFTP-Server** ist auf dem Board vorhanden, muss erst mit **''in.tftpd -l -c -s /tmp''** gestartet werden (Hinweis: Außer dem Namen, hat der ''TFTP'' nichts mit dem bekannteren FTP gemeinsam.); - auch ein **NFSv3-Client** ist auf dem Board vorhanden (Dazu muss auf dem Board nur **''/etc/init.d/s13portmap start''** gestartet werden.) - und ein **Telnet-Daemon** ist auf dem Board vorhanden; ==== Download ==== Da die folgenden Dateien sehr groß sind (127 MB und 140 MB), liegen sie auf einem Server von [[http://www.sharebase.de]]. Sharebase.de ist ein Dienst, um Dateien mit anderen Leuten zu tauschen. Das Sharebase.de Team sponsert uns offiziell Platz und Traffic für das Gasshopper-Projekt. Vielen Dank dafür! * [[http://sr11.sharebase.de/files/icnova_base_cd.tar.bz2]] (Buildrootumgebung) * C Beispielprojekt für Grasshopper * [[http://www.embedded-projects.net//files/admin/projekte/grasshopper/grasshopper_schematic.pdf|Schaltplan]] * [[http://www.embedded-projects.net//files/admin/projekte/grasshopper/615000001A_schematic_ICnova-AP7000-Base.pdf|Alternativ Download für Schaltplan]] * [[http://www.embedded-projects.net//files/admin/projekte/grasshopper/625000034B_Bemassung.pdf|Bemassung]] ==== Technischer Ansprechpartner für das Produkt ==== In-Circuit GmbH Königsbrücker Str. 69 D-01099 Dresden Germany * fon. +49 (0) 351 - 42 66 850 * fax. +49 (0) 351 - 42 66 849 * mail. [[office@in-circuit.de]] * web. [[http://www.in-circuit.de]]