Table of Contents
Several PIO optimizations has been implemented. Main idea of PIO control has been taken from pico_debug.
To monitor the progress between the several versions, PulseView has been used. LA probe was sigrok-pico.
The plots above were taken at SWCLK=15MHz. Absolute time of the four command sequences shrunk from ~25us to 18us. Not bad.
Nevertheless there are still gaps which may give more optimization opportunities. Switching times between read / write and the gap between two commands are candidates. Note that moving code into RAM did not really help (and optimization is still a non/slow-working mystery).