Gibt es FreeRTOS interpretierte Sprachbibliotheken?

8

Ich arbeite für eine Firma, die Firmware für mehrere Geräte mit FreeRTOS erstellt hat. In letzter Zeit hat unsere Nachfrage nach neuen Funktionen die Arbeitsleistung unserer Firmware-Ingenieure übertroffen, aber wir können es uns auch nicht leisten, jemanden neu einzustellen. Um auch nur kleine Änderungen vornehmen zu können, müssen Firmware-Mitarbeiter auf sehr niedrigem Niveau Änderungen vornehmen.

Ich habe nach einem interpretierten Sprachprojekt für FreeRTOS gesucht, das uns neue Funktionen auf einer höheren Ebene implementieren lässt. Im Idealfall möchte ich die Dinge schließlich bekommen, so dass die Geräte mit dem Schreiben von Treibern näher an generische Computer herankommen, als dass wir jedes Feature selbst implementieren müssen.

Gibt es FreeRTOS-Projekte, die Java, Python oder ähnlichen Bytecode interpretieren?

Ich habe auf Google geschaut, aber da ich selbst kein Firmware-Entwickler bin, bin ich mir nicht sicher, ob ich nach den richtigen Keywords suche.

Danke allen

    
Great Turtle 06.04.2010, 19:47
quelle

4 Antworten

6

Ich denke nicht, dass das RTOS oder sogar das Betriebssystem hier eine Rolle spielt, wenn der Code portabel ist. Abhängig von Ihrer Eingabe & amp; Ausgabeschema, müssen Sie wahrscheinlich ein wenig portieren.

In Bezug auf einbettbare Skriptsprachen sind die beiden, die ich kenne, LUA und PAWN .

Ich denke, es gibt Versionen von Python & amp; andere solche Sprachen werden auf eingebettete Systeme portiert, aber sie sind eher die Embedded-Linux-Variante. Abhängig von Ihrer Plattform (keine Ahnung, ob es eine kleine MCU mit 8K ROM oder ein Embedded-PC ist) könnte das eine Option sein.

    
Dan 07.04.2010, 01:16
quelle
2

Es gibt keine interpretierten Sprachen, die "gemacht" werden, um FreeRTOS oder irgendeine andere Mikrocontroller-Threading-Bibliothek zu verwenden (in der e2e-Community auch als "RTOS" bezeichnet).

Sprachen, die ich aus erster Hand in eingebetteten Systemen verwende, die (a) in C geschrieben sind und (b) klein genug sind, um in einen Mikrocontroller eingebettet zu werden, beinhalten:

  • LUA (passend für fast alles, sogar einige PICs)
  • Python (passend für die meisten ARM-Architekturen, mit mehr als 1 MB RAM)

Ich habe keine Erfahrung aus erster Hand damit, aber Ruby ist möglicherweise so einfach einzubetten wie Python.

    
Warren P 21.06.2010 18:36
quelle
1

Anstatt nach FreeRTOS-spezifischen Interpretern zu suchen, sollten Sie versuchen, nach Interpretern für Ihren speziellen Mikrocontroller oder Mikrocontroller im Allgemeinen zu suchen. Es könnte möglich sein, sie mit FreeRTOS zu verbinden oder den Interpreter zu einer Aufgabe zu machen.

Es scheint jemand zu sein, der versucht, sich für Lua auf FreeRTOS (pic32) zu entscheiden. .

    
XTL 03.04.2012 11:09
quelle
0

Ich schätze, Ihre Frage läuft letztlich darauf hinaus, Wege zu finden, um das Abstraktionsniveau über die Low-Level-RTOS-Mechanismen zu erhöhen. Während es vielleicht stimmt, dass interpretierte Sprachen auf einer etwas höheren Abstraktionsebene arbeiten als C, können Sie viel besser als das tun, indem Sie Methoden anwenden, die auf ereignisgesteuerten Frameworks und State-Machines basieren. Solche ereignisgesteuerten Frameworks gibt es seit Jahrzehnten und haben sich in unzähligen eingebetteten Systemen in allen möglichen Bereichen bewährt. Heutzutage enthält praktisch jedes Modellierungswerkzeug für eingebettete Systeme, die zur Codegenerierung fähig sind (z. B. Rational-Rose RT, Rhapsody usw.) eine Variante eines solchen Zustands-Maschinen-Frameworks.

Aber ereignisgesteuerte State-Machine-Frameworks können auch ohne große Tools verwendet werden. Die QP-State-Machine-Frameworks (state-machine.com) zum Beispiel machen alles, was ein konventionelles RTOS kann, nur effizienter, und vieles, was ein RTOS nicht kann.

Wenn Sie das moderne ereignisgesteuerte Programmierparadigma mit Zustandsautomaten verwenden, werden sich Ihre Probleme ändern. Sie werden nicht länger mit 15 Ebenen von verschachtelten if-else-Anweisungen kämpfen, und Sie werden aufhören, sich um Semaphore oder andere solche Low-Level-RTOS-Mechanismen zu sorgen. Stattdessen werden Sie auf einer höheren Abstraktionsebene über Zustandsautomaten und Ereignisse, die zwischen ihnen ausgetauscht werden, denken. Nachdem Sie diesen Quantensprung erlebt haben, werden Sie nie mehr zum rohen RTOS und dem Spaghetti-Code zurückkehren wollen.

Miro Samek, Staats-Maschine.com

    
Miro Samek 08.04.2010 20:22
quelle