Gnublin-LPC3131

Hubert Högl, Mai 2012, <Hubert.Hoegl@hs-augsburg.de>

Projektideen

  • Ein Gnublin Testsystem, mit dem ein Board automatisch geprueft werden kann, z.B.

    • ob es bootet
    • welche Treiber der Kernel beinhaltet
    • ob das Root Filesystem alle notwendigen Tools enthaelt
    • ob eine Netzwerkverbindung aufgebaut werden kann
    • und vieles mehr...

    Man wuerde ein Board an alle notwendigen Schnittstellen zum PC anschliessen und dann die Terminaleingabe automatisieren, z.B. mit dem "expect" (Modul pexpect in Python) Utility. Das haben eigentlich alle Embedded Linux Dienstleister sich mal selber geschrieben, weil man nach jeder Aenderung immer zu Fuss alles teste muesste. Man koennte auch das neue Embedded Cockpit einbauen, um z.B. zu messen, dass das Board auf Interrupts von Aussen reagiert. Oder man koennte auf wichtige Kernelparameter ueber das /proc/ Filesystem pruefen.

    Gut waere das fuer alle, bei denen mehrere Boards herumliegen und man sich schnell ueberzeugen moechte, ob alles funktioniert. Bei mir im Labor ist das oft der Fall. Auch in der Produktion und Entwicklung ist sowas unverzichtbar.

    Man koennte sowas auch allgemein "Embedded Linux Testsystem" nennen.

  • Einen I/O Prozessor mit einem AVR oder einem Cortex M3 Controller bauen, der ueber I2C und Interrupt an Gnublin angeschlossen ist. Auf der Linux Seite gaebe es dann einen universellen Treiber, der die Schnittstellen des AVR/Cortex (UART, PWM, GPIO, SPI, ...) ansteuern kann. Wenn man auf ein neues Linux Board wechselt, braeuchte man nur die I2C Schnittstelle und eine Interruptleitung in Betrieb nehmen, schon haette man alle I/O Verbindungen zur Aussenwelt.

  • "Physical Computing" mit Python auf Gnublin. Die Idee waere es, alle Schnittstellen des LPC3131 mit Python einzuwickeln so dass man alle I/O Operationen aus Python ansteuern kann, so dass auch komplette Anfaenger mit dem Board umgehen koennen. Folgendes Buch verdeutlicht ein wenig die Idee, allerdings mit BASIC auf dem Controller.

    Dan O'Sullivan; Tom Igoe, Physical Computing, 2004: http://my.safaribooksonline.com/book/software-engineering-and-development/159200346x (kann man frei lesen ueber VPN der Hochschule)

    Ich wuerde mir Versuche wie im Buch vorstellen, allerdings mit Python auf Gnublin. In einer frueheren DA wurden schon mal die wesentlichen Schnittstellen in Python verpackt (allerdings fuer den AVR32):

    http://elk.informatik.hs-augsburg.de/da/da-49

    Man koennte diese Sache auch gut mit dem I/O Prozessor verbinden.

    Das Thema hatte auch eine Projektgruppe in diesem Semester:

    https://io.informatik.hs-augsburg.de/projekte/gnublin

Gnublin-LPC3131 (zuletzt geƤndert am 2017-03-06 22:09:42 durch HubertHoegl)