Micropython schneller machen: Unterschied zwischen den Versionen

Aus Micropython Referenz
Zur Navigation springen Zur Suche springen
Peter (Diskussion | Beiträge)
Peter (Diskussion | Beiträge)
Zeile 16: Zeile 16:
Z.Zt. ist nur der Arm-Port des Inline Assemblers realisiert. An denen für den ESP32 (xtensia) und ESP32-C3 (RiscV) wird noch gearbeitet.<br>
Z.Zt. ist nur der Arm-Port des Inline Assemblers realisiert. An denen für den ESP32 (xtensia) und ESP32-C3 (RiscV) wird noch gearbeitet.<br>
Eine Befehlsreferenz wird von Xtensia leider nicht veröffentlicht. So wird es wohl nicht möglich sein Assemblercode für die ESP32 und ESP32-S* Controller zu schreiben.<br>
Eine Befehlsreferenz wird von Xtensia leider nicht veröffentlicht. So wird es wohl nicht möglich sein Assemblercode für die ESP32 und ESP32-S* Controller zu schreiben.<br>
RiscV ist Open Source.<br>
RiscV (ESP32-C*) ist Open Source.<br>
Die offizielle Dokumentation befindet sich unter: https://docs.micropython.org/en/latest/pyboard/tutorial/assembler.html
Die offizielle Dokumentation befindet sich unter: https://docs.micropython.org/en/latest/pyboard/tutorial/assembler.html



Version vom 3. August 2024, 12:41 Uhr

In Micropython gibt es 2 Dekoratoren, die aus dem Micropythoncode Maschinencode erzeugen. Damit lassen sich Funktionen beschleunigen.
https://docs.micropython.org/en/latest/develop/compiler.html
https://docs.micropython.org/en/latest/reference/speed_python.html

Native

https://docs.micropython.org/en/latest/develop/natmod.html

Viper

https://docs.micropython.org/en/latest/reference/speed_python.html

Inline Assembler

Inline Assembler ermöglicht es Funktionen direkt in Assembler zu schreiben. Damit hat man alle Möglichkeiten in der Hand sehr schnelle Funktionen in Micropython zu realisieren.
Z.Zt. ist nur der Arm-Port des Inline Assemblers realisiert. An denen für den ESP32 (xtensia) und ESP32-C3 (RiscV) wird noch gearbeitet.
Eine Befehlsreferenz wird von Xtensia leider nicht veröffentlicht. So wird es wohl nicht möglich sein Assemblercode für die ESP32 und ESP32-S* Controller zu schreiben.
RiscV (ESP32-C*) ist Open Source.
Die offizielle Dokumentation befindet sich unter: https://docs.micropython.org/en/latest/pyboard/tutorial/assembler.html

ARM Inline Assembler

RiscV Inline Assembler

Xtensia Inline Assembler

Links

https://docs.micropython.org/en/latest/pyboard/tutorial/assembler.html