Both sides previous revisionPrevious revisionNext revision | Previous revision |
en:pfw:assemblers_pio-assembler [2024-09-03 14:28] – [UART control code] willem | en:pfw:assemblers_pio-assembler [2024-09-03 17:15] (current) – [PIO (dis)assembler-v2 for RP2040] willem |
---|
{{pfw:banner.png}} | {{pfw:banner.png}} |
====== PIO (dis)assembler for RP2040 ====== | ====== PIO (dis)assembler v2 for RP2040 ====== |
| |
===== The idea: ===== | ===== The idea: ===== |
===== Implementation ===== | ===== Implementation ===== |
| |
The example code asumes a 32-bit machine that has 32-bit compile actions. | Note that; this is version-2 of the PIO (dis)assembler.\\ |
It is also asumed that the code runs in RAM as noForth T on the RP2040 does. | This version is more flexible and is prepared for more than two PIO's. |
| The sample code assumes a 32-bit machine with 32-bit compile operations. |
| It is also assumed that the code runs in RAM as noForth t on the RP2040 does. |
All PIO fuctionality can be used, and a PIO-module ''%%EXPORT%%'' function is provided. | All PIO fuctionality can be used, and a PIO-module ''%%EXPORT%%'' function is provided. |
The PIO-assembler is (de)activated by the words ''%%{PIO%%'' and ''%%PIO}%%''. | The PIO-assembler is (de)activated by the words ''%%{PIO%%'' and ''%%PIO}%%''. |
| |
✦ Labels | ✦ Labels |
one two one> two> | one two three one> two> three> |
| |
✦ PIO directives | ✦ PIO directives |
| |
✦ PIO external tools (mini-PIO.f) | ✦ PIO external tools (mini-PIO.f) |
tx-depth rx-depth >txf rxf> set-pio | tx-depth rx-depth >txf rxf> =pio |
sm-on exec freq clock-div sync | sm-on exec freq clock-div sync |
restart | restart |
| |
✦ PIO disassembler & state machine data | ✦ PIO disassembler & state machine data |
mpsee psee .fifo .sm | psee psee0 psee1 .fifo .sm |
| |
</code> | </code> |
<code></code> | <code></code> |
| File name | Purpose | in Dropbox (external link) | | | File name | Purpose | in Dropbox (external link) | |
| [[https://www.dropbox.com/s/edo8rk339awuerz/PIO%20assembler%20docs.pdf?dl=1|PIO-assembler docs.pdf]] | Documentation | [[https://www.dropbox.com/s/edo8rk339awuerz/PIO%20assembler%20docs.pdf?dl=0|PIO-assembler documentation]] | | | [[https://www.dropbox.com/scl/fi/25hezdcio6971car2faw9/PIO-assembler-docs-v2.pdf?rlkey=okdirdo122bkdbx1qiasdyp4h&st=cbx41i33&dl=1|PIO-assembler docs.pdf]] | Documentation | [[https://www.dropbox.com/scl/fi/25hezdcio6971car2faw9/PIO-assembler-docs-v2.pdf?rlkey=okdirdo122bkdbx1qiasdyp4h&st=cbx41i33&dl=0|PIO-assembler v2 documentation]] | |
| [[https://www.dropbox.com/s/l39qwo088l6i8sm/PIO%20assembler%20overview.pdf?dl=1|PIO assembler overview.pdf]] | Documentation | [[https://www.dropbox.com/s/l39qwo088l6i8sm/PIO%20assembler%20overview.pdf?dl=0|PIO-assembler overview]] | | | [[https://www.dropbox.com/s/l39qwo088l6i8sm/PIO%20assembler%20overview.pdf?dl=1|PIO assembler overview.pdf]] | Documentation | [[https://www.dropbox.com/s/l39qwo088l6i8sm/PIO%20assembler%20overview.pdf?dl=0|PIO-assembler overview]] | |
| [[https://www.dropbox.com/s/65e148ce9lckt0j/PIO-assembler-v2%20uni.f?dl=1| PIO-assembler-v2 uni.f]] | PIO-assembler | [[https://www.dropbox.com/s/boi1znyduiegdlu/PIO-assembler-v2.f?dl=0|noForth PIO assembler]] | | | [[https://www.dropbox.com/scl/fi/w00pkp4vdhn5qmwb1nkmq/PIO-assembler-v2-uni.f?rlkey=qr8xei0qf4poaolipzex46kt4&st=6wdw0clv&dl=1| PIO-assembler-v2 uni.f]] | PIO-assembler | [[https://www.dropbox.com/scl/fi/n52hmvfl7enxgk9v4ev5z/PIO-assembler-v2.f?rlkey=hccw62tk5t2co77ilff965whz&st=a028y87t&dl=0|noForth PIO assembler]] | |
| [[https://www.dropbox.com/s/3kvf637vuy4ymhd/PIO-disassembler-v2%20uni.f?dl=0| PIO-disassembler-v2 uni.f]] | PIO-disassembler | [[https://www.dropbox.com/s/rhilv9gr6b6vsx9/PIO-disassembler-v2.f?dl=0|noForth PIO disassembler]] | | | [[https://www.dropbox.com/scl/fi/7uwoqf7r9rwvrbrghx4og/PIO-disassembler-v2-uni.f?rlkey=itvzx2ju741j215psvkdlgpry&st=ach5064j&dl=1| PIO-disassembler-v2 uni.f]] | PIO-disassembler | [[https://www.dropbox.com/scl/fi/1lidcikde1duv4l7h7yjh/PIO-disassembler-v2.f?rlkey=j89n9vwvh0dkyc3pjmat9ravi&st=rclei4kl&dl=0|noForth PIO disassembler]] | |
| | [[https://www.dropbox.com/scl/fi/ou0s48ydvpa26gzmdbggm/mini-PIO-v2-uni.f?rlkey=zdycjab1m2qeubjy6dt94k8ea&st=3wh7jzca&dl=1| mini-PIO-v2 uni.f ]] | Mini PIO controller | [[https://www.dropbox.com/scl/fi/koj1e31zdwrzpfjgp3731/mini-PIO-v2.f?rlkey=36xg7et588iqdvjj92dxwdfl7&st=28ngllfl&dl=0|noForth minimal PIO controller]] | |
| [[https://www.dropbox.com/scl/fi/ou0s48ydvpa26gzmdbggm/mini-PIO-v2-uni.f?rlkey=zdycjab1m2qeubjy6dt94k8ea&st=3wh7jzca&dl=0 | mini-PIO tool set | ]] | |
| |
[[https://www.dropbox.com/scl/fi/ou0s48ydvpa26gzmdbggm/mini-PIO-v2-uni.f?rlkey=zdycjab1m2qeubjy6dt94k8ea&st=ikpt9qew&dl=0|noForth minimal PIO controller]] | | |
| |
[[en:pfw:welcome|Back to PFW page]] | [[en:pfw:welcome|Back to PFW page]] |