Post Go back to editing

Access TX/RX DMA Addresses from BOOT.bin in PackRF

I used both MATLAB R2020b and Vivado 2018.3 to generate BOOT.bin from my customized transceiver for my PackRF. In Set Target Interface (Section 1.3) of the HDL Workflow Advisor in Simulink, I set the following:

* ch1_tx_dma_i as IP Data 0 IN [0:15]

ch1_tx_dma_q as IP Data 1 IN [0:15]

* ch2_tx_dma_i as IP Data 2 IN [0:15]

* ch2_tx_dma_q as IP Data 3 IN [0:15]

* ch1_rx_dma_i as IP Data 0 OUT [0:15]

* ch1_rx_dma_q as IP Data 1 OUT [0:15]

* ch2_rx_dma_i as IP Data 2 OUT [0:15]

* ch2_rx_dma_q as IP Data 3 OUT [0:15]

When I turn on PackRF with customized BOOT.bin, what will be the locations and addresses of these IQ DMAs?

Parents Reply
  • I checked the Vivado address table and the AXI4 offset address is 0x43C00000. As above, I use TiggerCapture (x"104") to test register writing. I use the follow code to do the register read/write.

    volatile int *addr = (volatile int *)0x43C00104;
    *addr = 0x1;  // write the register

    Instead I got segmentation fault. What is the right way to read/write registers?