Vorschläge für die am besten geeignete (am besten) Sprache für die Programmierung eines Embedded Systems? [geschlossen]

StackOverflow https://stackoverflow.com/questions/649197

  •  19-08-2019
  •  | 
  •  

Frage

Ich bin auf der Suche an ein Gerät zu tun eingebettete Codierung für das ungefähr 20 MHz ist, hat 6mb ram, mit einem ARM32-Prozessor. Kann jemand zur Programmierung eines Embedded-Systems die besten / am besten geeignete Sprache vorschlagen? Ich erwäge:

  • Lua
  • TinyPy
  • C
  • Java ME
  • C #
  • hat jemand vorgeschlagen JavaScript

Irgendwelche Vorschläge? Dank

Bearbeiten - sieht aus wie C und Lua sind die Gewinner. Prost alle!

Bearbeiten - Echtzeit ist kein Problem, seine mehr die begrenzte ram / cpu Diktieren Dinge

.
War es hilfreich?

Lösung

Ich habe verwendet Lua auf einem ARM-Prozessor OMAP . Lua enge Integration mit C zum Metall ermöglicht gehen, wann immer Sie brauchen, und seine geringe Größe macht es für eine breite Palette von Plattformen geeignet. Ich entwickelte die Benutzeroberfläche für meine Firmware in Lua auf meinem Mac und brachte es dann ohne Änderungen an der Embedded-Plattform über.

Während der OMAP-Prozessor war bullig genug andere Sprachen wie Java oder Python zu laufen, ich wusste nicht, was ich Hardware-Targeting wurde, als ich den Code gestartet. Lua war eine sichere Wette.

Andere Tipps

Wenn Sie das Gerät nach oben von Grund auf neu zu bringen oder direkt mit Nicht-Standard-Peripheriegeräte Schnittstelle, C ist wirklich der einzige Weg zu gehen.

Wenn Sie bereits ein eingebettetes O bekommen oder Port man ohne Schwierigkeiten, könnten Sie mehr Flexibilität in dem Hinzufügen eines der Skript-y Sprachen. C # indiskutabel ist, wenn Sie auf WinCE sind, und dann werden Sie auf .NET Micro beschränkt werden.

Darüber hinaus, „bester“ hat wenig Sinn, ohne zu beschreiben, was Ihr Gerät werden wird verwendet. Einige Sprachen haben eine bessere Unterstützung für bestimmte Aufgaben als andere.

C ist wahrscheinlich die beste Wahl für eine solche begrenzte CPU-Ressourcen.

Ich würde versucht sein, mit geradem C zu gehen, aber dann habe ich schon seit fast 30 Jahren zu schreiben C. Lua und TinyPy scheinen zu neuen, experimentell, zu mir; Embedded-Geräte müssen sehr robust sein.

Java ME hat gute Punkte. Ich weiß nicht, über C # in einer eingebetteten Welt.

Es ist wichtig, festzulegen, was dieses Gerät erwarten zu tun. Ist es eine Art von Steuerungsanwendung? Hat es Algorithmen zu implementieren? Was ist Gleitkommaunterstützung? GUIs? Ist die Leistung kritisch? Planen Sie ein Betriebssystem auf mit?

Die Beantwortung dieser Fragen ist eine entscheidende Voraussetzung eine Programmiersprache zu sammeln.

Das heißt, eingebettete Systeme zuverlässig sein, also würde ich für einige getestete Lösung gehen. C ist wahrscheinlich die solideste und am besten unterstützte Option für ARM-Chips, aber YMMV je nach Ihren spezifischen Bedürfnissen.

C ist sicherlich die am häufigsten verwendete Sprache in eingebetteten Systemen. Es scheint auch, die am meisten gesprochen über die Sprache im allgemeinen http://www.langpop.com/

Edit: hmm. Ich habe gerade bemerkt, dass die ‚eingebettet‘ scheinen Sie zu beschreiben, ist nicht etwa eine Automatisierungs Sprache zu einer Anwendung hinzufügen, aber eine Anwendung in eine Embedded-Plattform zu drücken. Wie andere vorschlagen, wenn Sie es wirklich brauchen, integrierbare Sprachen überspringen und Ihre Anwendung programmieren in C gibt es fast keine Laufzeitaufwand für das, außer dem, was Sie tatsächlich nutzen.

In keiner bestimmten Reihenfolge, Lua, JavaScript und TCL sind alle recht gut Einbettung geeignet. Lua war für mich die einfachste einzubetten. Javascript könnte die schnellste sein. Alle drei haben eine gutes Handling für nicht vertrauenswürdigen Code, aber TCL ist sehr robust, zum Beispiel, nicht vertrauenswürdiger Code nicht vertrauenswürdigen Code ausführen kann (wenn er vertrauenswürdig ist, dass viel zu tun).

Wenn Sie einen RTOS zur Verfügung haben, die eine Vielzahl von alternativen Sprachen, C oder C ++ unterstützt (je nach Compiler-Kette) ist der Weg zu gehen.

Ihre Entscheidung ist höchstwahrscheinlich durch die Werkzeuge für diesen Prozessor verfügbar bestimmt werden.

C ist bei weitem die meisten unterstützten Sprache für Embedded-Prozessoren, so kann man nicht viel falsch mit, dass gehen, und es wird eine gute Erfahrung sein, wenn Sie Software für andere Chips in Zukunft schreiben.

C ++ wird immer beliebter für eingebettete Systeme. Darüber hinaus kommt es auf Ihre Prioritäten (time to market, Ressourcenverbrauch, Geschwindigkeit), und die Qualität der Werkzeuge, die Sie verwenden.

C die beste

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top