This page contains just notes from the development. It is not a guide for compilation (yet). 

Loopback test


This page contains just notes from the development. It is not a guide for compilation (yet). 

petalinux commands:

petalinux-create --type project --template zynq --name loopback_test.petalinux
cd loopback_test.petalinux/
petalinux-config --get-hw-description=~/dma/loopback_test/loopback_test.sdk/
# → Subsystem AUTO Hardware Settings → Ethernet Settings
echo "IMAGE_INSTALL_append = \" iperf3 \"" >>project-spec/meta-user/recipes-core/images/petalinux-image.bbappend
petalinux-config -c rootfs
petalinux-config -c kernel
petalinux-build -x distclean && petalinux-build -v && petalinux-package --boot --fsbl images/linux/zynq_fsbl.elf --fpga images/linux/system.bit --uboot --force

U-boot arguments (interactive):

setenv bootargs cma=256M
boot

cma=256 parameter in petalinux:

petalinux-config
# DTG Settings → Kernel Bootargs → unset generate boot args automatically
# DTG Settings → Kernel Bootargs → set user set kernel bootargs to "console=ttyPS0,115200 earlyprintk cma=256M"

proxy app:

petalinux-create -t apps --name xldas --enable

modified axi dma driver:

petalinux-create -t modules -n axidmachar --enable
petalinux-config -c kernel #takes a while to start
#unset → _D_evice Drivers → _D_MA Engine support → Xilinx AXI DMAS Engine

Add to device tree file /project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi - raping the axi-dma device tree entries. No further changes to the device tree is needed, as this driver replaces the xilinx dma ("xlnx,axi-dma-1.00.a"). That is actually the reason why the xilinx dma core has to be disabled.

taskset: 

petalinux-config -c busybox
# enable: Miscellaneous Utilities ─> taskset

playing with buffer sizes:

setenv bootargs cma=256M axidmachar.bufsize_rd=4096 axidmachar.bufcount_rd=60000

TCP benchmarking with dd:

for i in 1k 2k 4k 8k 16k 32k 64k 128k 256k 512k 1024k 2M 4M 8M ; do taskset 2 ./dd if=/dev/axidmard of=/dev/null bs=$i count=1G iflag=count_bytes ; done



  • No labels