Systemanforderungen

Überblick

Die Vehikel-Entwicklungsumgebung wurde unter Linux entwicklt. Dieses Betriebssystem bietet für die Softwareentwicklung einige Hilfen an und erleichtert die Arbeit. Die Vehikel-Entwicklungsumgebung ist in Java implementiert. Sie sollte deshalb auf unterschiedlichen Betriebssystemen lauffähig sein.

Die Vehikel-Entwicklungsumgebung stützt sich auf Cross-Entwicklungswerkzeuge ab, um den Binärcode für das embedded System zu erzeugen und in den Roboter zu laden. Dieses sind Kommandozeilen orientierte Softwarewerkzeuge. Im Folgenden werden diese Werkzeuge als die Toolchain bezeichnet. Der Begriff stammt aus der Unix-Welt. Für diese Werkzeuge erzeugt der in die IDE eingebaute DSL-Compiler C-Quelltexte und einen Make-File. Der Anwender startet diese Werkzeuge aus der Vehikel-Entwicklungsumgebung. Er kommt nicht direkt mit Kommandozeilen oder Make-Files in Berührung. Die Vehikel-Entwicklungsumgebung bindet diese Werkzeuge als POSIX-kompatible Prozesse ein. Dies muss vom Betriebssystem unterstützt werden.

Die Vehikel-Entwicklungsumgebung kommuniziert mit dem Roboter über USB. Der Roboter hängt dadurch an der "Leine". Ein Notbehelf, da für den verwendeten Roboter nur verhältnismäßig teure Funkmodule zur Verfügung stehen. Für den In System Programmer und die Prozessdatenschnittstelle werden zwei unterschiedliche Verbindungen verwendet. Aus Sicht der Entwicklungsumgebung ist der Roboter über die serielle Schnittstelle des PCs zu erreichen. Da es bei den heutigen PCs oft keine RS-232 Schnittstellen mehr gibt, wird die RS-232 Verbindung über USB emuliert. Unter Linux ist dann der Roboter über das Gerät /dev/ttyUSBx zu erreichen, unter Windows als COMx, wobei das x für die Nummer der Schnittstelle steht.

Es empfiehlt sich, den Roboter über einen preisgünstigen USB-Hub mit dem PC zu verbinden. Damit ist das eingebettete System nicht mehr in der Lage, seine Versorgungsspannung aus dem PC zu beziehen. Wenn die Motoren aktiv sind, sollte der Roboter seinen Energieverbrauch nicht aus der USB Schnittstelle des PCs, sondern aus seinen Akkus decken. Bei einer Überlastung oder einem Kurzschluss im eingebetteten System wird ''nur'' der USB-Hub zerstört. Die USB Schnittstelle des PCs wird durch den vorgeschalteten Hub geschützt.

Hardwareanforderungen

  • IDE
    • Ein PC mit 512 MByte RAM
    • 2 USB Schnittstellen
    • oder ein preisgünstiger USB-Hub.

Softwareanforderungen aus Sicht des Anwenders

Für einen Anwender reicht ein Java Runtime System JRE 1.5 aus. Er muss kein Java Development Kit installieren. Die Entwicklungsumgebung wurde unter Java 1.5 entwickelt, sollte aber auf neueren Java - Version lauffähig sein. Version 1.4 oder älter ist nicht ausreichend.

Für das embedded System muss Binärcode erzeugt werden. Dazu wird die GNU GCC Toolchain verwendet. Die Schritte zur Installation der Toolchain sind von der Wahl des Betriebssystems abhängig. Auf einem Linux-System ist diese in der Regel installiert. Es muss lediglich die Erweiterung für Atmel Prozessoren nachinstalliert werden. Unter Windows wird die Toolchain inclusive der Atmel Unterstützung vom WinAVR Open Source Projekt zur Verfügung gestellt. Siehe Installationsanleitung.

Der Zugriff auf serielle und parallele Schnittstellen ist unter Java ein optionales Feature. Das bedeutet, dass eine typische Java Runtime die serielle Schnittstelle erst erreichen kann, wenn eine passende Bibliothek nachinstalliert wird. Damit die Entwicklungsumgebung  die Prozesswerte des Roboters empfangen kann, wird RXTX von http://www.rxtx.org/ benötigt.

  • Linux 32 Bit oder Linux 64 Bit
    • JRE 1.5 oder neuer. Das Java Runtime Environment.
      http://www.java.com/en/download/index.jsp
    • GNU Toolchain für Atmel Prozessoren
      • gcc GNU C/C++ Compiler. Die GNU Compiler Suite ist in der Regel bereits installiert.
      • cross-avr-gcc 4.1.2_20061115 Erweiterung für den GNU C/C++ Compiler um AVR Mikrocontroller zu unterstützen.
      • avr-libc 1.4.4 Die C Runtime Library für AVR Microcontroller
      • cross-avr-binutils 2.17.50.0.5 Die GNU Binutils
      • avrdude 5.2 Ansteuerung des In System Programmers
    • RXTX, eine Bibliothek, damit Java auf die serielle Schnittstelle zugreifen kann.

Softwareanforderungen aus Sicht des Entwicklers

Will man die Vehikel-Entwicklungsumgebung nicht nur anwenden sondern auch erweitern, so werden folgende Komponenten benötigt:

  • zusätzlich das Java Development Kit, JDK 1.5
  • zusätzlich Eclipse 3.3 oder 3.4
  • Um aus Eclipse für andere Betriebssysteme Rich Client Platform Produkte exportieren zu können wird, das ''RCP Delta Pack'' benötigt.
    • eclipse-RCP-3.3-delta-pack.zip (falls Eclipse 3.3)
    • eclipse-3.4-delta-pack.zip (falls Eclipse 3.4)
  • Um die embedded Software weiterzuentwickeln, ist es empfehlenswert Eclipse 3.1 um das CDK 3.0.1 zu erweitern. Neuere Eclipse und CDK Releases konnten vom Autor nicht dazu gebracht werden, mit dem AVR GCC zusammenzuarbeiten. Es ist aber auch möglich, allein mit einem Texteditor zu arbeiten und den Cross-Compiler über die Kommandozeile aufzurufen.
'
SourceForge.net Logo  
     
 
Creative Commons License
Text and images are licensed under a Creative Commons License.
 
CC-GNU GPL
This software is licensed under the CC-GNU GPL.


 
     
 
Kandid, a genetic art project InnerWorld, a terrain generator for Blender Vehikel, embodied intelligence for mobile robots