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:
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...
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

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