You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I want to share an attempt at an onboard PIO debugger for the RP2 Pico.
Basically I answered my own question whether it is possible to read out the PIO registers including the RX and TX FIFOs in a non-destructive manner.
Answer: It is.
Although the readout is destructive in that it modifies the RX_FIFO and the ISR register at least, these and other registers may be written back again so that in the end the PIO has the same state as before.
At least this is what I hope to have achieved.
If you find that this is not the case, please tell here.
The PIO has to be inactive of course, to not interfere in it's operation.
I have a very simple demonstration appended.
Feedback would be nice, of course.
Other data, like the PC for example, may be read out from the RP2s PIO configuration and operation registers in a more direct manner.
A complete debugger should be able to do more of course: E.g. display the PIO program in a meaningful way (practically this would require sort of a PIO disassembler) and go at least single step through the instructions.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
I want to share an attempt at an onboard PIO debugger for the RP2 Pico.
Basically I answered my own question whether it is possible to read out the PIO registers including the RX and TX FIFOs in a non-destructive manner.
Answer: It is.
Although the readout is destructive in that it modifies the RX_FIFO and the ISR register at least, these and other registers may be written back again so that in the end the PIO has the same state as before.
At least this is what I hope to have achieved.
If you find that this is not the case, please tell here.
The PIO has to be inactive of course, to not interfere in it's operation.
I have a very simple demonstration appended.
Feedback would be nice, of course.
Other data, like the PC for example, may be read out from the RP2s PIO configuration and operation registers in a more direct manner.
A complete debugger should be able to do more of course: E.g. display the PIO program in a meaningful way (practically this would require sort of a PIO disassembler) and go at least single step through the instructions.
Beta Was this translation helpful? Give feedback.
All reactions