Forum: Compiler & IDEs MicroPython-Frage


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Crazy Harry (crazy_h)


Lesenswert?

Hallo,

ich trau mich ja fast nicht fragen, möchte aber vorweg sagen, daß ich 
von MicroPython bisher nur 0.x% kenne .... Wie und in was werden Treiber 
für MicroPython geschrieben? Ja ich habe gegoogled, aber nichts für mich 
verständliches gefunden.
Die Antwort auf diese Frage ist für mich entscheidend, ob ich versuche 
ein Projekt auf MicroPython zu portieren. Konkret benötige ich ein 
3-Kanal SPI (3 Bytes werden Taktsynchron auf 3 Pins ausgegeben, also 
MOSI0-2, SCK, und /CS. Lesen ist nicht notwendig) und einen allgemeinen 
Grafiktreiber, der im RAM arbeitet und per Refresh ans Display 
übertragen wird und div. Zeichenoperationen (Quadrat, Kreis, 
Zeichenausgabe, einzelne Pixel setzten) unterstützt.
Außer jemand kennt einen Pascal-Compiler für den Raspberry Pi Pico 🙂?

Gruss
Harry

von Norbert (der_norbert)


Lesenswert?

Crazy Harry schrieb:
> Wie und in was werden Treiber
> für MicroPython geschrieben?

Viele Möglichkeiten!
Ohne Micropython selbst übersetzen zu müssen:
* Ebenfalls in Python (sehr oft ausreichend)
* in Python Native (schneller)
* in Python Viper (sauschnell)
* in eingebettetem Arm Assembler

oder:
* Mit C-Modulen und mit Micropython übersetzt und gelinkt.
(Fast immer unnötig)

Für deine Aufgabe geht's mit Bordmitteln.
Spezial-SPI über PIO (Bis in den MHz Bereich)
Display-Funktionen mit Viper Code und Übertragung mit DMA (schneller als 
dein Display es kann).

Hatte ich sauschnell erwähnt?

von Harald K. (kirnbichler)


Lesenswert?

Crazy Harry schrieb:
> Außer jemand kennt einen Pascal-Compiler für den Raspberry Pi Pico 🙂?

Der hier kennt schon mal die im RP2040 verwendeten Cortex-M0+-Kerne
https://www.mikroe.com/mikropascal-arm

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Norbert schrieb:
> Spezial-SPI über PIO

Warum nicht die QSPI-Einheit nutzen, welche viele Mikrocontroller genau 
dafür haben?

von Norbert (der_norbert)


Lesenswert?

Niklas G. schrieb:
> Warum nicht die QSPI-Einheit nutzen, welche viele Mikrocontroller genau
> dafür haben?

Da hängt gerne schon das QSPI-Flash mitsamt Programmcode dran.
Vielleicht könnte man's mit dran basteln. Aber warum? Eine zweistellige 
Anzahl von Megahertzen über PIO sollte doch reichen.

von Crazy Harry (crazy_h)


Lesenswert?

Danke dann weiss ich jetzt, nach was ich googlen muß.

Hab noch was anderes gefunden .... 
https://wiki.freepascal.org/ARM_Embedded_Tutorial_-_Installing_Lazarus_and_Free_Pascal

von Harald K. (kirnbichler)


Lesenswert?

Crazy Harry schrieb:
> Hab noch was anderes gefunden ....
> 
https://wiki.freepascal.org/ARM_Embedded_Tutorial_-_Installing_Lazarus_and_Free_Pascal

Na dann, viel Erfolg damit. Da wird ja der Pico (rp2040) explizit 
erwähnt.

Kannst ja berichten, wenn Du das ganze zum Laufen gebracht hat, das 
könnte hier auch den einen oder anderen Freund anderer Sprachen als C 
erfreuen.

von Norbert (der_norbert)


Lesenswert?

Habe mal kurz reingeschaut, da ich in früheren Zeiten auch gerne mal 
verschiedene Dinge in Pascal programmiert hatte.

Das ist jetzt nicht als Kritik zu verstehen!

Das Ganze sieht auf den ersten Blick so aus, als wenn einige Teile des 
PICO-SDK mehr oder weniger 1:1 übernommen und mit ein wenig 
Pascal-Zuckerguss überzogen wurden.

Was ich allerdings nicht finden konnte:
Eine Dokumentation der spezifischen Pi Pico Module.
(Nicht nur die paar Examples…)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.