Thanks I was hoping for thatIt's handled by start.elf and its variants
Good way to get GPIO set quickly before any OS messes them up
Are they set near the start of start.elf, ie quickly after booting <400ms?
Big difference between file sizes of start_cd and start_x
So quickest GPIO setting is done by reading start_cd from SD?
Hmm should be able to use two Pi's to test that now
One Pi has small OS that changes a pin state, the other Pi resets the first and can test how long start.elf takes to boot and change the pin and then how long the OS takes to change it back.
This simple Ultibo OS returns 3000C1EF, a simple GPIO status display.
Basically reading the GPIO as fast as I can to make a logic analyser.
I have set GPIO4 as GPCLK0 and I can see GPIO toggling between 3000C1EF and 3000C1FF.
By changing the clock speed it tests my capture rate, more useful when DMA/SMI reads gets going.
Some pins like the i2c have pullups, not much I can do about them
But a Pi setup as a logic analyser does not need pins set as outputs on boot.
Code: Select all
while True do Begin data:=GPIORead(BCM2835_GPLEV0); ConsoleWindowWriteLn(WindowHandle,'GPIO 0-31 = ' + IntToHex(data, 8)); end;
Very weird thinking about using Pi's as test equipment
With the above code I have a build in logic level detector fast enough to capture i2c etc.
Pi's can have built in test equipment for self diagnostics, which is going to take some more thinking about.
Propeller is the only other one I know that can do this easily.
Hmm Digital Multimeter Hat, had not thought of that one before
Hmm logging Multimeter with bluetooth and wifi, now that could be really useful
Zero's must be the cheapest and most flexible pieces of kit I have these days.
And you guys just keep on improving them