We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello,
I want to write a bit-banging driver for a Raspberry Pi 3 (Cortex A53 with 4 cores).For testing I developed a simple Linux kernel mode driver which toggles a GPIO pin with approx. 1Mhz.In order to get no interference by the Linux kernel I disabled IRQ and FIQ before entering the toggling loop.I have also set CPU speed fix to 1.2Ghz.Then I monitor the GPIO pin with a scope.If I set a pulse-width > 2 us trigger, I see gaps of different length, which sometimes last longer than 5 us (depends on load for the other cores)
On a Rasperry Pi Zero ( ARM1176JZF-S with 1 Core) no such effect occurs. The signal is total clean at 1 MhzSo on the Pi 3 I conclude the delays must be some hardware interference from the other cores.Can anyone explain me how the hardware is causing such long delays?
Thanks,Rainer