Assembly aufschreiben Stm32 Cubeide32

Persönliche Seite #7661492
Lesenswert?

z.B. so:

1
void tft_write_bus(uint8_t high_byte,uint8_t low_byte)
2
{
3
  GPIOA->BSRR = 0x00FF0000 | low_byte;
4
  GPIOA->BSRR = 0x00FF0000 | high_byte;
5
}

daraus macht der Compiler:

1
f04f 4390   mov.w  r3, #1207959552  @ 0x48000000
2
f441 017f   orr.w  r1, r1, #16711680  @ 0xff0000
3
f440 007f   orr.w  r0, r0, #16711680  @ 0xff0000
4
6199        str  r1, [r3, #24]
5
6198        str  r0, [r3, #24]
6
4770        bx  lr

Das geht in Assembler auch nicht besser. Allerdings kann man durch Inlining den Aufwand für das wiederholte Laden der Register-Adresse einsparen.

Ein Problem dürfte aber sein dass die IO-Ports bei den hohen Prozessortakten sowieso nicht mitkommen und man das Beschreiben eher künstlich verlangsamen muss.

OP #7661508
Lesenswert?

Norbert schrieb:

Niklas G. schrieb:

Norbert schrieb:

Einer findet sich immer…

Zum sinnlosen Nörgeln? Es gibt sogar Leute die machen Kreuzworträtsel wenn ihnen langweilig ist.

Nee Jung', das ist ja wohl sehr offensichtlich eine Lernaufgabe. Denkst du das auf diese Art und Weise auch nur irgend etwas gelernt wird?

Eben…

Aber schönen Dank für deinen Kommentar

Vielen vielen Danke Niklas G

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