Raspberry Pico, Micropython: Frage zum Assembler

Gast #6628423
Lesenswert?

Auf meinem Raspberry Pico ist Micropython rp2-pico-20210202-v1.14.uf2 
installiert. Der Controller (RP2040) des Picos ist ein ARM-M0+.

Nun habe ich erwartet, dass der Inline-Assembler des Micropythons so 
funktioniert, wie hier beschrieben: 
https://docs.micropython.org/en/v1.9.3/pyboard/pyboard/tutorial/assembler.html

Was jedoch nicht der Fall ist. Das erste Minimalbeispiel für zu einer 
Fehlermeldung:
1
MicroPython v1.14 on 2021-02-05; Raspberry Pi Pico with RP2040
2

3
Type "help()" for more information.
4
>>> @micropython.asm_thumb
5
def fun():
6
    movw(r0, 42)
7
Traceback (most recent call last):
8
  File "<stdin>", line 3, in fun
9
SyntaxError: expecting an assembler instruction
10
>>>

Wer hat den Raspberry Inline-Assembler bereist verwendet und kann mir 
sagen wo das Problem lieht?
Gast #6628461
Lesenswert?

Werner schrieb:
> Nun habe ich erwartet, dass der Inline-Assembler des Micropythons so
> funktioniert, wie hier beschrieben:
> https://docs.micropython.org/en/v1.9.3/pyboard/pyboard/tutorial/assembler.html

Warum schaust Du in die ranzalte Doku und nimmst nicht die zu der von 
Dir verwendeten aktuellen Version?

> Wer hat den Raspberry Inline-Assembler bereist verwendet und kann mir
> sagen wo das Problem lieht?

Die Fehlermeldung sagt es: Du musst eine Cortex-M0+ Assemblerinstruktion 
verwenden, wie sollte es auch anders gehen?
Gast #6628539
Lesenswert?

Dr. MCU schrieb:

> Warum schaust Du in die ranzalte Doku und nimmst nicht die zu der von
> Dir verwendeten aktuellen Version?

Du bist ein echtes Schlauchen. Hier die 1.14: 
https://docs.micropython.org/en/latest/pyboard/tutorial/assembler.html

> Die Fehlermeldung sagt es: Du musst eine Cortex-M0+ Assemblerinstruktion
> verwenden, wie sollte es auch anders gehen?

Wie ich schon schrieb, du bist ein echtes Schlauchen. Eine Hilfe bist du 
nicht.


P. S. Bitte nur antworten, wenn man Erfahrung mit dem Micropython 1.14 
Inlineassembler auf einem Raspberry Pi Picos hat und etwas sachliches & 
fachliches zu meinem Problem schreiben kann. Antworten auf dem Niveau 
des Schlauchens (siehe oben) kann ich nicht gebrauchen.
Gast #6628542
Lesenswert?

Werner schrieb:
> Dr. MCU schrieb:
>
>> Warum schaust Du in die ranzalte Doku und nimmst nicht die zu der von
>> Dir verwendeten aktuellen Version?
>
> Du bist ein echtes Schlauchen. Hier die 1.14:
> https://docs.micropython.org/en/latest/pyboard/tutorial/assembler.html

Die kenne ich, aber wieso postest Du so einen uralten Link?

>> Die Fehlermeldung sagt es: Du musst eine Cortex-M0+ Assemblerinstruktion
>> verwenden, wie sollte es auch anders gehen?
>
> Wie ich schon schrieb, du bist ein echtes Schlauchen. Eine Hilfe bist du
> nicht.
>
> P. S. Bitte nur antworten, wenn man Erfahrung mit dem Micropython 1.14
> Inlineassembler auf einem Raspberry Pi Picos hat und etwas sachliches &
> fachliches zu meinem Problem schreiben kann. Antworten auf dem Niveau
> des Schlauchens (siehe oben) kann ich nicht gebrauchen.

Nochmal für Ultra-Doofe:
Mit einem Assembler-Befehl für einen Cortex-M4 wirst Du auf einem 
Cortex-M0+ nix anfangen können.
RTFM!
Vielleicht liest Du einfach erstmal die Doku zum M0+, bevor Du 
sinnbefreit einfach irgendwelche Assembler-Befehle einer der 
mittlerweile in 3-stelliger Anzahl vorhandenen ISAs durchprobierst?


Ansonsten: Dieter Nuhr: ...
Gast #6628688
Lesenswert?

Möglicherweis ist nicht nur der Assembler-Befehl falsch. Wenn du das 
Beispiel von der Webseite kopierst musst du vor dem Einfügen am REPL mit 
Strg-E in den Paste-Mode wechseln. Das fünktioniert bei mir in Thonny 
nicht. Einfaches abtippen geht auch nicht, da krieg ich schon nach dem 
Eintippen von "@micropython.asm_thumb" eine Fehlermeldung. Wenn ich aus 
Thonny die System-Shell starte funktioniert es darin.
Wenn ich die paar Befehle als Script speicher, kann ich auch Thonny 
nutzen:
1
@micropython.asm_thumb
2
def fun():
3
    mov(r0, 42)
4
    
5
print(fun())
1
MicroPython v1.14 on 2021-02-02; Raspberry Pi Pico with RP2040
2

3
Type "help()" for more information.
4
>>> %Run -c $EDITOR_CONTENT
5
42
6
>>>

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren