1、参考https://forums.xilinx.com/t5/%E5%B5%8C%E5%85%A5%E5%BC%8F-%E7%A1%AC%E4%BB...
按照官方说明,copy数据速率基本为系统ddr的带宽。
2、工程 生成数据大小2048X2048 4MB 也就是一次dma数据大小,一次dma数据的大小与axi-dma核中buffer lenght registr有关,长度最大26,也就是2^26个字节,为64MB,工程中加入ila核用来调试。
3、生成bit后,导出xsa文件。
4、在vitis中应用xsa文件,新建a5_zynqmp_fsbl工程,按照官方说明,修改sfsbl_main.c,并编译,在debug文件夹中可以找到a5_zynqmp_fsbl.elf文件。
5、在petalinux环境中新建工程,参考以前的博客,直到petalinux-build。
6、修改设备树
7、重新petalinux-build。
8、在image/linux文件夹下
9、拷贝出bl31.elf boot.scr image.ub pmufw.elf system.bit system.dtb u-boot.elf 七个文件,以及vitis中生成的a5_zynqmp_fsbl.elf共8个文件,到linux_dma_test.
10、在petalinux工程中,build文件夹中拷贝bootgen.bif文件,并修改成如下
11、新建regs.init
12、生成BOOT.BIN,然后一起将BOOT.BIN image.ub和boot.scr复制到sd卡。
13、测试
14、上电开机,加载axi-dma的驱动,将3.0U盘挂在到mnt下
由以上可以看出,pl生成一张4MB的数据耗时43ms,将4MB数据由dma读缓冲区copy到内核缓冲区耗时4ms,基本接近ddr的带宽。整个链路中的带宽完全受限于U盘的存储速度。
15、U盘中的图片,大小128MB,数据正确。
审核编辑:符乾江
-
文件
+关注
关注
1文章
565浏览量
24727 -
编译
+关注
关注
0文章
657浏览量
32852
发布评论请先 登录
相关推荐
评论