la931x_iqplayer repository contains basic application allowing to stream time domain IQ samples with la9310 SOC. It includes VSPA firmware source code. It includes host linux scripts to control VSPA firmware. It also includes host linux library and application example.
- This firmware is using vspa kernels from https://github.com/nxp-qoriq/la931x_vspa_common
- This firmware can be used with LA9310 PCI driver located at https://github.com/nxp-qoriq/la93xx_host_sw
- A default linux integration is provided for imx8mp platforms at https://github.com/nxp-real-time-edge-sw/yocto-real-time-edge/tree/la93xx
- Linux VSPA tool chain is freely availabel when downloading eval version of CodeWarrior for VSPA 10.3.0 or at https://www.nxp.com/lgfiles/sdk/la1224/imx-la9310-sdk-10/cwvspa.vbeta_14_00_781_vspa.linux.tgz
This repository includes following elements:
iqplayer_cwprojsource code, Makefile and CW projects allowing to compile VSPA firmwares supporting usecases 1T1R, 1T, 1R, 1T2R.host-utilslinux user space utilities:- Basic linux shell scripts to start/stop transfers ./iq-replay.sh, ./iq-capture.sh, ./iq-stop.sh
- iq_mon : statistic monitoring showing traffic in various dma/fifos
- iq_trace : dump VSPA trace information used to debug/profile VSPA firmware
- iq_app/lib_iqplayer : Application example, showing how to stream traffic to/from upper stack
set compiler install path default (VSPA_TOOL ?= /opt/VSPA_Tools_vbeta_14_00_781)
make
make install
scp -r install/* root@<targetIP>:/load and start VSPA firmware
./load-la9310.shconfugre RF (optional for axiq loopback or breakout card)
./config_run_rf.sh limetx
./config_run_rf.sh limerxplay (repeat) waveform from file
./iq-replay.sh ./tone_td_3p072Mhz_20ms_4KB1200_2c.bin 1200capture (one time) iq samples into file
./iq-capture.sh ./iqdata.bin 1200capture (repeat) in DDR buffer
./iq-capture-ddr.sh 1200
./iq-stop.sh
bin2mem -f iqdata.bin -a 0x9CC00000 -r 4915200 mount -t hugetlbfs none /dev/hugepages
echo 24 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
dpdk-dfe_app -c "axiq_lb enable"Default examples use 32KB TX FIFO in DDR
./iq-app-tx.sh ./tone_td_3p072Mhz_20ms_4KB1200_2c.bin
./iq-stop.shDefault examples use 128KB RX FIFO in DDR
./iq-app-rx.sh ./iq-data.bin
./iq-stop.sh
kill <iq_streamer PID>