Fandom

Software-Wiki

NxtOSEK

869Seiten in
diesem Wiki
Seite hinzufügen
Diskussion0 Teilen

nxtOSEK ist eine Open Source RTOS-Platform für den Lego Mindstorms NXT, in der mit C und C++ programmiert werden kann.

Aufbau Bearbeiten

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.)

Geschichte Bearbeiten

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.

Vorteile zu anderen NXT-Sprachen Bearbeiten

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.

Nachteile zu anderen NXT-Sprachen Bearbeiten

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.

Merkmale, die auch einige andere NXT-Sprachen besitzen Bearbeiten

  • 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.

IDE's Bearbeiten

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.


Weblinks Bearbeiten

[1] [2] [3]

Info Sign  Dieser Wikipedia-Artikel wurde gemäß GFDL bzw. CC-by-sa mit allen Versionen importiert.

Störung durch Adblocker erkannt!


Wikia ist eine gebührenfreie Seite, die sich durch Werbung finanziert. Benutzer, die Adblocker einsetzen, haben eine modifizierte Ansicht der Seite.

Wikia ist nicht verfügbar, wenn du weitere Modifikationen in dem Adblocker-Programm gemacht hast. Wenn du sie entfernst, dann wird die Seite ohne Probleme geladen.

Auch bei Fandom

Zufälliges Wiki