März 01, 2007
In Anwendungen unter dem Namen "Embedded" werden heute
sehr häufig RISC-Prozessoren eingesetzt. Der Grund dafür
ist weniger die Entscheidung für die Prozessorarchitektur,
die natürlich Schnelligkeit, vor allem aber kurze
Reaktionszeiten bietet. Vielmehr werden RISC-Prozessoren
wie die ARM-Familie in einer deutlich breiteren Vielfalt
angeboten als z.B. x86er Prozessoren. Sucht man bei der
Entwicklung kleiner, stromsparender embedded Systeme nach
"Single-Chip"-Lösungen, die zusätzlich zur CPU auch
wesentliche Komponenten der Rechnerperipherie auf einem
Chip vereinigen, wird man am ehesten bei Prozessoren mit
RISC-Kern fündig. Darum werden sie in einer unübersehbaren
Vielfalt in "embedded"-Anwendungen eingesetzt: z.B. in
Print-Servern, Routern, usw.
Allerdings ist der
Einsatz in Einzelapplikationen und kleinen Stückzahlen
schwierig, weil für die Hardware speziell angepasste
Software entwickelt werden muss. Als Grundlage kann der
Entwickler z.B. auf Linux und dessen GNU-Compiler
zurückgreifen. Es bleibt aber u.U. noch ein erheblicher
Entwicklungsaufwand: z.B. die Anpassung eines Bootloaders,
außerdem Treibermodule für die Hardware-Peripherie.
An dieser Stelle könnte
eine neue Produktfamilie der Firma VS Vision Systems
interessant werden, die kompakte und preiswerte Maschinen
auf der Basis des ARM9-Mikroprozessors mit einer offenen
Linux-Distribution ausstattet. Ein angepasster Bootloader,
sowie Module für vorhandene Hardware sind bereits integriert,
so dass lediglich die User-Applikation kompiliert und
konfiguriert werden muss. Dadurch wird die
Anwendungsentwicklung deutlich einfacher - neue Produkte
können so in kleinen Stückzahlen entwickelt, getestet und
mit geringen Kosten in kurzer Zeit marktreif gemacht werden.
VS Vision Systems GmbH
setzt die ARM-Prozessoren (ARM7, ARM9) seit langem für
die "NetCom" Serial-Device-Server ein
(NetCom Lite Series und
NetCom Pro Series), die
über LAN oder WLAN eine Anzahl von seriellen Schnittstellen (1x, 4x, 8x, 16x)
im Netz bereit stellen.
Die Firmware und zugehörigen Treiber
ermöglichen "lokalen" Zugriff auf die seriellen
Schnittstellen, auch wenn sich der tatsächliche NetCom weit
entfernt befindet, durch Internet und lokale Netze mit dem
Host verbunden. Über OpenVPN-Tunnel kann der Datenverkehr
verschlüsselt übertragen werden, ohne dass die Applikation
belastet wird.
Die NetCom-Familie wird
von VS Vision Systems jetzt auch in der Version als frei
programmierbare OpenNetCom angeboten. Damit erhalten
Produktentwickler eine RISC-Hardwareplattform mit 166MHz
ARM9 CPU, 16MB SDRAM und 2MB Flash. Kommunikation ist
möglich über 100MBit LAN und 802.11b/g WLAN, sowie einer
variablen Anzahl (1x, 4x, 8x) von seriellen Schnittstellen
mit 16C950 UART (128Byte FIFO), die einzeln zwischen RS232
und RS422/RS485 umschaltbar sind.
Intern sind außerdem für Benutzer drei frei programmierbare
GPIO Anschlüsse zu verwenden.
Das Betriebssystem des
frei programmierbaren OpenNetCom basiert auf μCLinux
- es entstehen also keine Lizenzkosten dafür Der
grundlegende Kernel von μCLinux ist besonders für den
Einsatz in embedded Architekturen angepasst. Außerdem
enthält dieses Linux-Betriebssystem viele kleine Tools für
die meisten standardisierten Aufgaben, die ein Benutzer
ausführen möchte (Netzwerk, serielle Kommunikation,
Dateisystem, usw.).
Eigene Applikationen für
den OpenNetCom können auf jedem Computer entwickelt und dort
per GNU Cross-Compiler für die ARM-Plattform kompiliert
werden. Das ausführbare Programm kann anschließend einfach
per FTP übertragen und auf dem OpenNetCom unter Linux
gestartet werden. Außerdem kann natürlich auch der Kernel
selbst neu kompiliert und auf den OpenNetCom übertragen
werden. Debuggen ist mit gdbserver von einem externem
Rechner möglich, ebenso das Debuggen des Kernel selbst
mittels kgdb, für das allerdings der Konsolen-Port auf dem
Service-Board des OpenNetCom benötigt wird.. Für Test und
Entwicklung stellt das Service-Board noch JTAG und 3 Test-LEDs
bereit.
Die Treiber für
besondere Hardware des OpenNetCom sind bereits im
vorinstallierten Betriebssystem integriert. Sie stellen ihre
Funktionen den Benutzer-Applikationen sowohl über das proc-Dateisystem
als auch über entsprechende ioctls zur Verfügung.
Auf dem 2MB Flash des
OpenNetCom werden Dateisysteme verwendet, die auf die
besonderen Anforderungen eines kleinen embedded Systems
abgestimmt sind:
- RedBoot enthält den Code des Bootstrap-Loaders. Diese Partition ist per Hardware
schreibgeschützt, so dass der OpenNetCom immer wieder in den
Auslieferungszustand versetzt werden kann.
- CramFS ist ein komprimierendes Dateisystem für das Betriebssystem.
- JFFS2 ist ein ebenfalls komprimierendes Journaling Flash File Dateisystem für die
Konfigurationsdaten und Benutzerapplikationen.
Weil das Betriebssystem
des OpenNetCom auf Linux beruht, haben Entwickler für ihre
besonderen Aufgaben Zugriff auf ein unerschöpfliches
Reservoir von Programmen und Tools. Als Beispiel ist es sehr
einfach, OpenNetCom als Backup Router zu konfigurieren,
indem ein LAN (oder WLAN) über serielles Modem oder ISDN mit
dem ISP verbunden wird. Die sehr schnellen seriellen
Schnittstellen erlauben für den Datentransport sogar
Multilink PPP Verbindungen (Kanalbündelung). Besonders
bietet sich der Einsatz bei zeitkritischen Aufgaben in den
Bereichen Gebäudeautomatisierung, industrielle
Automatisierung usw. an: Hier können die von Sensoren
gelesenen Daten direkt in der reaktionsschnellen RISC-CPU
des frei programmierbaren OpenNetCom verarbeitet und
entsprechender Output für Aktoren erzeugt werden.
Das langsame Ethernet wird lediglich für Monitoring
und Konfiguration verwendet.