Rusty Arm

Sie haben wahrscheinlich gehört, dass Rost eine Systemprogrammiersprache ist, die ein ganz folgendes Wachstum wächst. Es sammelt sich, um schnell wie C zu sein, hat jedoch Funktionen wie garantierte Speicher- und Fadensicherheit, Generika, und es verhindert Segmentfehler. klingt nach der Sache für ein eingebettetes System, oder? [Jorge Aparicio] war frustriert, weil seine CPU der Wahl, ein STM32-Arm-Cortex-M hatte keine native Unterstützung für Rost.

Anscheinend können Sie C-Funktionen einfach in ein Rostprogramm binden, aber das war nicht das, was er danach war. So errichtete er, um reine Rostprogramme aufzubauen, die auf die Hardware des Geräts zugreifen konnten, und er dokumentierte den Aufwand.

Die Post zeigt Ihnen nicht nur die Tools, die Sie benötigen, und die Software-Versionen, jedoch mit Openocd, [Jorge], jedoch sogar ein Debugging ausführen. Die Technik scheint auch ziemlich anwendbar zu sein, da er sagt, dass er auf sechs verschiedenen Controllern von drei verschiedenen Anbietern mit keinem Problem gemacht hat. Sie müssen das Projekt konfigurieren, indem Sie einige Werte in einer Vorlage ändern.

Obwohl es kein Rost-Tutorial ist, folgt mit [Jorge’s] -Kodex, und seine Erklärungen geben Ihnen eine ziemlich gute Vorstellung davon, wie rost sich aussieht. Er zeigt auch ein sauberes Werkzeug, ein GDB-Dashboard. Um die API in den speziellen Speicherregionen des Arms zu erstellen, verwendet [Jorge] ein Werkzeug namens svd2rust, um die SVD-Dateien des Anbieters zu verarbeiten. Diese werden typischerweise für die JTAG-Programmierung und -tests verwendet, so dass wir dachten, dass dies ein neuer Weg war, um automatisch Unterstützung für den Prozessor aufzubauen.

Viele Sprachen, die Sicherheitsfunktionen anbieten, neigen dazu, den Fettcode zu kompilieren. [Jorge] zeigt ein blinkendes LED-Beispiel und zerlegen Sie es und es sieht etwa 127 Bytes sehr kompakt aus. Dann abstrahte er die Timer-Register ab und der Code ist praktisch genau die gleiche Größe, wenn er kompiliert ist.

Wir haben den Rust kurz hinterher gezogen. Wir haben auch in letzter Zeit Rust auf einigen WLAN-Getrieben gesehen.

Back to top