Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 4770

Bare metal, Assembly language • Bare metal toggle GPIO weird timing

$
0
0
Getting started with bare metal on π4, observed something very odd in that the time to switch GPIO does not (in my hands) seem symmetric i.e. longer off than on when it should be straight toggle:

Code:

.text.global mainmain:    ldr x1, =0xfe200000    mov w0, #0x40000    str w0, [x1, #0x08]    mov w0, #0x4000000up:    str w0, [x1, #0x1c]    b dndn:    str w0, [x1, #0x28]    b up
Gives

Image

There's something here I really don't understand... I can't think of any reason why this would be observed unless there are some odd things going on with memory channels and str (but then, it would be much quicker than the huge spaces here) or something which I missed in the documentation about clock domains between the ARM and GPIO peripheral.

Am aware that the GPFSEL2 set-up is untidy, I am only setting GPIO26 to output and not touching others...

Statistics: Posted by graeme-winter — Thu Dec 05, 2024 6:24 am — Replies 4 — Views 44



Viewing all articles
Browse latest Browse all 4770

Trending Articles