Homepage Wiki Forum Buy

Schnelleinstieg alt

Aus GNUBLIN

Sie befinden sich jetzt im Schnelleinstiegs-Tutorial von GNUBLIN. Für den Neuling gibt es drei Bereiche: Schnelleinstieg, Für Anfänger und Für Fortgeschrittene. Im Schnelleinstieg geht es darum sich zum Ersten mal mit GNUBLIN zu verbinden. Mithilfe der Tutorials und dem dort erlenten Wissen, kann man nach und nach immer mehr eigene Anwendungen für GNUBLIN schreiben.

Inhaltsverzeichnis


Schnelleinstieg

Gnublin Distribution

Das Betriebssystem für GNUBLIN kann und sollte von einem Anfänger benutzt werden. Wie, und woher man sich die Gnublin Distribution beziehen kann ist in diesem Artikel beschrieben.

Um mit dem Gnublin Board zu arbeiten, muss man nur zwei Vorbedingungen erfüllen:

  1. Eine Micro SD Karte mit vorinstalliertem GNU/Linux (ist im Lieferumfang enthalten)
  2. Eine USB Verbindung zwischen der USB Konsolenbuchse auf dem Gnublin Board und einem Entwicklungsrechner (PC) unter GNU/Linux.

Lpc3131 boot sd.JPG


Auf dem PC startet man nach dem Anstecken des USB Kabel ein Terminal Emulationsprogramm, z.B. picocom:

sudo picocom -b 115200 /dev/ttyUSB0

Tipp: Aus picocom steigt man wieder aus mit Strg-A Strg-X.

Hinweis für Windows: Unter Windows müssen die USB-RS232 Treiber vor dem Anstecken installiert sein: http://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx. Desweiteren benötigt man ein Terminalprogramm. Mehr dazu findet man hier.


Damit wird der PC zur "Konsole" des Gnublin Boards, das heisst, man sieht die Meldungen des Boards auf dem Bildschirm und Tastatureingaben auf dem PC werden auf das Board weitergeleitet.

Warum ist es wichtig, dass man zuerst die USB Verbindung herstellt und dann das Terminalprogramm startet? Die Antwort ist, dass durch Einstecken des Kables erst eine virtuelle serielle Schnittstelle auf dem PC angelegt wird, diese heisst in der Regel /dev/ttyUSB0, die Zahl am Ende kann auch grösser sein. Erst danach kann picocom mit diesem Gerät als Argument gestartet werden.

Was passiert nach dem Anstecken?

Nachdem das Board über das Konsolen USB Kabel angesteckt wurde, lädt es von der SD Karte zunächst den Apex Bootloader (http://elinux.org/APEX_Bootloader) und führt ihn aus. Der Bootloader ist so konfiguriert, dass er nach einer kurzen Wartepause den Linux Kern von der SD Karte in den Speicher kopiert und dann ausführt. Linux bootet nun und mountet am Schluss das Root Filesystem von der SD Karte. An der Konsole sollte man nun sehen:

...
EDLK (Built by Poky 5.0) 5.0 armv5te ttyS0
armv5te login:

Jetzt kann man sich mit dem Namen root anmelden (ohne Passwort) und sieht dann diesen Prompt:

root@gnublin:~#

Nun kann man mit Gnublin (fast) wie auf einem gewöhnlichen GNU/Linux Rechner arbeiten. Das Root Filesystem enthält mit über 600 MByte Grösse eine sehr grosse Auswahl an Programmen, allerdings auch Programme, z.B. das X Window System, das die Gnublin LPC3131 Hardware nicht unterstützt. Auch der mit 8 MByte eher kleine SDRAM Arbeitsspeicher ist für manche Anwendungen zu knapp, z.B. um mit dem GNU C Compiler ein grösseres Programm nativ für den ARM9 zu kompilieren, obwohl es prinzipiell funktioniert.


Was kann man mit dem Board machen?

Hier sind ein paar Beispiele, was man mit dem Board machen kann.

  • Man kann mit dem Board Embedded Linux auf einem ARM Mikrocontroller kennenlernen.
  • Über die USB OTG high-speed Schnittstelle kann man Gnublin sowohl als USB Gerät an einen USB Host anstecken, z.B. einen PC, oder man kann Gnublin als USB Host zur Ansteuerung von fast beliebigen USB Geräten verwenden.

So kann man Gnublin z.B. über einen USB zu Ethernet Adapter mit einem Computernetzwerk verbinden und alle üblichen Protokolle verwenden, wie z.B. HTTP, SSH, FTP und so weiter.

So ein Adapter kostet nur ein paar Euro. Auf der Abbildung Medium:Usb-ethernet.jpg sieht man so einen Adapter. Mit Hilfe eines USB Adapterkabels kommt man von der Mini USB OTG Buchse auf dem Gnublin Board an ein USB Gerät mit "normalem" USB Stecker. Die Abbildung Medium:Usb-adapterkabel.jpg zeigt zwei Varianten von solchen Adaptern.

Am Gnublin Board funktionieren auch USB-WLAN Adapter, wie z.B. der ASUS WL-167G, siehe Abbildung Medium:Usb-wlan.jpg.

  • Über die herausgeführten I2C und SPI Schnittstellen kann man viele Hardware-Erweiterungen anschliessen, z.B. Sensoren, Funkmodule. Es steht nichts im Weg um Sensoren einzulesen, z.B. Temperatur und Luftfeuchtigkeit, und die eingelesenen Werte über einen Webserver auszuliefern.
  • Über ein paar herausgeführte GPIO Leitungen kann man Experimente mit Interrupts machen und z.B. die Interrupt-Antwortzeit messen. Das führt zu dem interessanten Gebiet "Realtime Linux".
  • Gebäudeautomatisierung
  • Tragbare Embedded Linux Geräte
  • Fahrrad-Computer
  • Vieles mehr

An wen wendet sich das Gnublin Projekt?

Wir stellen uns folgende Benutzergruppen und Ihre Interessen vor:

Anfänger

  • Was ist Embedded Linux?
    • Kennenlernen der Einzelteile Bootloader, Kernel und Filesystem.
    • Kennenlernen eines Mikrocontrollers mit ARM Kern.
    • Kennenlernen der Open-Source Entwicklungsmethodik.
  • Wie starte ich Gnublin?
  • Wie logge ich mich ein?
  • Wie kann ich mit einfachen Kommandos auf die Schnittstellen GPIO, SPI, I2C, ADC und PWM zugreifen?
  • Wie baue ich eine einfache Anwendung mit Hilfe einer Interpretersprache, z.B. mit Hilfe eines Shell-Skripts oder der Sprache Python. Einfache Anwendungen sind
    • Leuchtdioden ein-/ausschalten
    • Taster einlesen
    • Alphanumerische Displays über SPI anschliessen
    • Analogwerte einlesen, z.B. von einem Fotowiderstand oder von einem Temperatursensor.
    • Ausgabe der Messwerte über einen Web Server
    • Interaktion mit Web Server und CGI Skripten
  • Wie kann ich das selbstgemachte Programm nach dem Booten automatisch ausführen lassen?

Fortgeschrittene

  • Den vorhandenen Kernel neu konfigurieren, übersetzen und installieren.
  • Neue vorhandene Module in den Kernel einbinden.
  • Einfache Änderungen am vorhandenen Root Filesystem machen.
  • Das vorhandene Root Filesystem nach eigenen Vorlieben neu kompilieren und installieren.
  • Vorhandene Programme für Gnublin crosskompilieren und installieren.
  • Eigene Programme für Gnublin in C zu schreiben.

Gurus

  • Eigene Kernelmodule schreiben und installieren.
  • Einen eigenen Kernel anpassen, so dass er auf Gnublin läuft.
  • Eigene Erweiterungen in den Apex Bootloader einbauen.
  • Selber ein Root Filesystem für Gnublin zusammenbauen, ohne die Vorgabe durch das ELDK.
  • Tiefer in die technischen Details des LPC3131 ARM926 Mikrocontrollers einsteigen, z.B. alternative Möglichkeiten zum Booten ausprobieren.
  • Experimente mit Echtzeit-Linux, z.B. Xenomai oder der Echtzeit Erweiterung für den GNU/Linux Kern.

Weiter im Tutorial für Anfänger

Nach dem zum ersten mal Linux von GNUBLIN gebootet wurde, kann es direkt weitergehen mit der Ansteuerung von externen Gertäten mit den verschiedenen verfügbaren Schnittstellen.


Tutorial für Anfänger

In anderen Sprachen