NxtOSEK
nxtOSEK ist eine Open Source RTOS-Platform für den Lego Mindstorms NXT, in der mit C und C++ programmiert werden kann.
Inhaltsverzeichnis
Übrigens: Die PlusPedia ist NICHT die Wikipedia. Wir sind ein gemeinnütziger Verein, PlusPedia ist werbefrei. Wir freuen uns daher über eine kleine Spende! |
1 Aufbau
nxtOSEK besteht aus
- Geräte-Treiber von leJOS NXJ in Form von C oder Assembler-Code
- TOPPERS/ATK (auch bekannt als TOPPERS/OSEK) - ein kraftfahrtechnischer Kernel
- TOPPERS/JSP -eine spezifische Protierung von einem RTOS für den ARM7-Mikrocontroller und "Glue-Code" für die Zusammenarbeit zwischen den Systemen.
- ECRobot C oder C++ API - eine API zur Nutzung von NXT-Bestandteilen (Sensoren, Motoren, Bluetooth, etc.)
2 Geschichte
TOPPERS/ATK (bzw. TOPPERS/OSEK) wurde von Professor Masaaki Mizuno, vom „Department of Computing and Information Sciences“ von der „Kansas State University“ zum NXT portiert. TOPPERS/JSP wurde von „Monami Software Limited Partnership“ aus Japan zum NXT portiert. Die Möglichkeit C++ für nxtOSEK zu nutzen wurde durch Dr. Robert Kramer vom „Department of Computer Science and Information Systems“ von der „Youngstown State University“ möglich gemacht.
Im Mai 2008 wurde das Projekt von leJOS OSEK in nxtOSEK umbenannt.
3 Vorteile zu anderen NXT-Sprachen
Der Quellcode wird durch den GNUARM zu nativem Code compiliert, der direkt auf dem ARM7 ausführbar ist. Das bringt Geschwindigkeitsvorteile im Vergleich zu anderen NXT Sprachen, bei denen die Programme nur von der Firmware interpretiert werden.
Außerdem können alle wichtigen Teile von C/C++ benutzt werden, wie z.B. Zeiger, Klassen (in C++), Ausnahmebehandlung (in C++) oder dynamische Speicherverwaltung.
Außerdem kann ein nxtOSEK über die NXT-Bios-Firmware in den kompletten Flash-Speicher geladen werden. So sind Programme bis 244 KB Größe möglich.
Es können direkt BMP-Dateien und WAV-Dateien verarbeitet werden.
4 Nachteile zu anderen NXT-Sprachen
Das nxtOSEK-System ist verhältnismäßig kompliziert. Neben dem Erlernen von C/C++ muss auch die API von OSEK/VDX (OS und OIL) und die jeweilige API die zur Sprache gehört (ECRobot C oder C++ API) erlernt werden.
Außerdem gestaltet sich die Installation etwas umständlich. Zudem wird Mac OS X nicht unterstützt.
5 Merkmale, die auch einige andere NXT-Sprachen besitzen
- Die Programme können auf John Hansen's Enhanced NXT firmware ausgeführt werden.
- Multitasking wird unterstützt.
- Bluetooth von NXT zu NXT und zu PC wird unterstützt (andere Geräte wurden nicht ausprobiert)
- USB wird unterstützt.
- I²C wird unterstützt.
- Viele Third-Party-Sensoren werden unterstützt.
6 IDE's
Bis jetzt steht nur die Eclipse IDE mit dem Plugin CTD zur Verfügung. Durch die Integration von externen Tools in die IDE ist sie in der Lage, Programme für nxtOSEK zu übersetzen.
7 Weblinks
8 Init-Quelle
Entnommen aus der:
Erster Autor: Weavel96 , Alle Autoren: Weavel96 , Howwi, md Tom md, ✓
Hast du einen Löschwunsch oder ein anderes Anliegen? Dann nutze bitte unser Kontaktformular
PlusPedia Impressum
Bitte Beachte:
Sämtliche Aussagen auf dieser Seite sind ohne Gewähr.
Für die Richtigkeit der Aussagen übernimmt die Betreiberin keine Verantwortung.
Nach Kenntnissnahme von Fehlern und Rechtsverstößens ist die Betreiberin selbstverständlich bereit,
diese zu beheben.
Verantwortlich für jede einzelne Aussage ist der jeweilige Erstautor dieser Aussage.
Mit dem Ergänzen und Weiterschreiben eines Artikels durch einen anderen Autor
werden die vorhergehenden Aussagen und Inhalte nicht zu eigenen.
Die Weiternutzung und Glaubhaftigkeit der Inhalte ist selbst gegenzurecherchieren.