User Tools

Site Tools


en:pfw:assemblers_pio-assembler

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:pfw:assemblers_pio-assembler [2024-09-03 14:28] – [UART control code] willemen:pfw:assemblers_pio-assembler [2025-06-27 17:05] (current) – [UART control code] willem
Line 1: Line 1:
 {{pfw:banner.png}} {{pfw:banner.png}}
-====== PIO (dis)assembler for RP2040 ======+====== PIO (dis)assembler v2 for RP2040 ======
  
 ===== The idea: ===== ===== The idea: =====
Line 13: Line 13:
 ===== 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 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 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}%%''
Line 53: Line 55:
          
 ✦ Labels ✦ Labels
-    one         two         one>        two>+    one         two         three      one>        two>        three>
  
 ✦ PIO directives ✦ PIO directives
Line 64: Line 66:
  
 ✦ 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-opc    set-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>
Line 111: Line 113:
 <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/mt5sqha0t4dftlykc97mh/PIO-assembler-docs-v2-.07a.pdf?rlkey=06l0o0e0689bxs7bjrbv1kn1t&dl=1|PIO-assembler-docs-v2.pdf]] | Documentation | [[https://www.dropbox.com/scl/fi/mt5sqha0t4dftlykc97mh/PIO-assembler-docs-v2-.07a.pdf?rlkey=06l0o0e0689bxs7bjrbv1kn1t&dl=0|PIO-assembler-docs-v2.pdf]] |
 | [[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/it6tk3w7xcyg2sruxm1os/PIO-assembler-v2-uni.f?rlkey=fndqwpzza13rihgh5ljg1dukp&dl=1| PIO-assembler-v2-uni.f]] | PIO-assembler | [[https://www.dropbox.com/scl/fi/qvgs5izy9p282dnd7ly6a/PIO-assembler-v2-bare.f?rlkey=nzj2tv2ogldy6jr3rpi4f5pwu&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/jbfq12a8bmyprexhrccf9/PIO-disassembler-v2-uni.f?rlkey=c1yuzdlnpvfi9ind7xehpu0pt&dl=1| PIO-disassembler-v2 uni.f]] | PIO-disassembler | [[https://www.dropbox.com/scl/fi/wwd433x9c0sa4yaeh14f3/PIO-disassembler-v2.f?rlkey=a9ljrqtpmsdgfwdza5lhbhaz0&dl=0|noForth PIO disassembler]] | 
- +| [[https://www.dropbox.com/scl/fi/1sdlbm4rngkwlbnwoe0wc/mini-PIO-v2-uni.f?rlkey=r44w0c15dj2nx48abren9r8t6&dl=1| mini-PIO-v2 uni.f ]] | Mini PIO controller | [[https://www.dropbox.com/scl/fi/0c1epchqkc9ie3nf4dxv9/mini-PIO-v2.f?rlkey=4b2y0hs94094gvtt32kb1cx85&dl=0|noForth minimal PIO controller]] |
-| [[https://www.dropbox.com/scl/fi/ou0s48ydvpa26gzmdbggm/mini-PIO-v2-uni.f?rlkey=zdycjab1m2qeubjy6dt94k8ea&st=3wh7jzca&dl=| 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]]
en/pfw/assemblers_pio-assembler.1725366493.txt.gz · Last modified: 2024-09-03 14:28 by willem