Für die Nutzung in Robotik-Experimenten war ich einige Zeit auf der Suche nach einem Starter-Kit als Kontrollplatine. Das System sollte rechenstark sein, wichtige Standardschnittstellen wie USB und Ethernet unterstützen, mit Linux laufen und mehrere, frei nutzbare Ein- und Ausgänge besitzen. Mit dem FOX Board G20 habe ich jetzt ein solches System gefunden.
Trotz des modularen Aufbaus aus dem Netus G20 CPU-Modul und einer Basisplatine mit Schnittstellen kann man das FOX Board G20 als Single Board Computer (SBC) auffassen. Single Board Computer sind Computersysteme, bei welchen alle notwendigen elektronischen Komponenten auf einer Leiterplatte zusammengefasst sind. Sie werden zumeist für Mess-, Steuer- oder Regelungszwecke genutzt. Der Sandwich-Aufbau des FOX Board ermöglicht den Neuentwurf der Basisplatine für spezifische Anwendungen und bietet damit eine erhöhte Flexibilität.
Das Netus G20 CPU-Modul beinhaltet eine ARM9-basierte CPU, genauer den Mikrocontroller AT91SAM9G20 von Atmel mit einer Taktfrequenz von 400Mhz. Mit 64 MByte RAM und 8 MByte Flashspeicher ist das CPU-Modul gut ausgestattet. Bei Abmessungen von 40×40mm für das CPU-Modul und 66×72 mm für die Trägerplatine ist das Board sehr kompakt. Die Möglichkeit microSD-Karten direkt einzustecken erlaubt die flexible Verwendung in vielen Anwendungen. Für die Nutzung in Robotik-Projekten spricht die Tatsache, dass auf der Trägerplatine viele Signale über nachbestückbare Stiftleisten direkt zugänglich sind. Bei Nutzung der Standard-Software sind von den 80 Pins dann 28 vollständig frei als Ein- oder Ausgang (GPIO) nutzbar, die restlichen Pins stellen Schnittstellenfunktionen wie SPI oder I2C zur Verfügung. Natürlich kann das Board aber auch anders konfiguriert werden.
Die Softwareunterstützung für das System ist gut, der verwendete Mikrocontroller wird vom Linux-Kernel standardmäßig unterstützt. Als Laufzeitsystem sind auf Debian und Gentoo basierende Images für die microSD-Karte verfügbar. Mit 150 Euro für Basisplatine und CPU-Modul ist es auch gerade so noch erschwinglich, das komplette Starterkit mit ein paar Zusatzteilen wie Netzteil, Gehäuse und microSD-Karte und ähnlichen Dingen ist für ungefähr 240 Euro erhältlich. Ein besonderes Plus ist die aktuelle Dokumentation im Wiki von ACME Systems, welche die wichtigsten Fragen zum Start mit dem Modul klärt.
Mit dem Jahreswechsel stehen nun einige wichtige Termine für den Eurobot-Wettbewerb fest. Die Anmeldung zum Wettbewerb ist noch bis zum 31. Januar 2010 möglich. Anmelden können sich Teams von mindestens zwei Personen, die alle höchstens 30 Jahre alt sind. Dabei sind sowohl Studenten als auch Nicht-Studenten zugelassen. Jedes Team kann von einer Person unterstützt werden die älter als 30 Jahre ist.
Der nationale Wettbewerb für Deutschland findet dann vom 7.-8. Mai 2010 in Leipzig statt. Dabei wird der erste Tag zur Anreise und Vorbereitungen dienen, der eigentliche Wettbewerb findet dann am zweiten Tag statt. Ein weiteres, ausführlicheres Programm wird sicherlich noch verfügbar gemacht werden.
Der internationale Endausscheid findet vom 26.-30. Mai 2010 in Rapperswil in der Schweiz statt.
Als kleinen Vorgeschmack gibt es noch ein gut gemachtes Promo-Video des Dresdner Teams TURAG aus dem letzten Jahr.
Bei der Entwicklung oder Leistungsbewertung von Software ist die Bestimmung des Speicherverbrauchs eines Prozesses eine häufige Aufgabe. Durch die Nutzung von dynamisch geladenen Bibliotheken und die gemeinsame Nutzung von Speicherseiten durch mehrere Prozesse ist die genaue Bestimmung der verbrauchten Ressourcen eine Frage der Zählweise. Bei der Verwendung von bekannten Linux-Werkzeugen wie ps, htop oder top wird zumeist die Gesamtmenge aller durch einen Prozess verbrauchten virtuellen Speicherseiten gezählt. Die Bestimmung ist unabhängig davon, ob die zu Grunde liegenden physikalischen Speicherbereiche eventuell durch mehrere Prozesse gleichzeitig genutzt werden. Die gemessene Speichermenge wird dabei als Resident Set Size (RSS) bezeichnet. Durch die mehrfache Zählung wird die Auslegung der Speicherausstattung einer Maschine erschwert.
Das von Matt Mackall geschriebene Programm smem ist ein Werkzeug, das verschiedene Berichte über die Speichernutzung auf einem Linux-System erstellen kann. Im Gegensatz zu den bereits genannten Werkzeugen kann smem die Proportional Set Size (PSS) bestimmen. Die PSS ist eine weitere Messgröße für den Speicherverbrauch eines Programms, bei welcher die durch Bibliotheken genutzte Speichermenge gleichmäßig auf die nutzenden Applikationen aufgeteilt wird. Wird eine Bibliothek durch drei Programme genutzt, wird jeweils nur ein Drittel des durch die Bibliothek verbrauchten Speichers für die PSS der nutzenden Programme einkalkuliert. Neben der Bestimmung der PSS ist zusätzlich die Bestimmung der Unique Set Size (USS) möglich. Die USS eines Prozesses ist die Speichermenge, die nur durch diesen Prozess genutzt wird. Wird der entsprechende Prozess entfernt, wird auf dem System diese Speichermenge frei. smem ist in Python geschrieben und benötigt mindestens Version 2.6.27 des Linux-Kernels, da erst dieser die notwendige Datei pagemap mit der Zuordnung von virtuellem zu physikalischem Speicher für jeden Prozess in /proc enthält. Neben der Auflistung von RSS, PSS, USS und verbrauchtem Swap-Speicher für Prozesse und Nutzer mit verschiedenen Filterkriterien beherrscht smem auch die Ausgabe von Torten- und Balkengrafiken als PNG, SVG, JPG und EPS. Das Programm ist allerdings im Moment noch nicht in allen Distributionen enthalten.
Kommentare