1、參考https://forums.xilinx.com/t5/%E5%B5%8C%E5%85%A5%E5%BC%8F-%E7%A1%AC%E4%BB...
按照官方說明,copy數(shù)據(jù)速率基本為系統(tǒng)ddr的帶寬。
2、工程 生成數(shù)據(jù)大小2048X2048 4MB 也就是一次dma數(shù)據(jù)大小,一次dma數(shù)據(jù)的大小與axi-dma核中buffer lenght registr有關(guān),長度最大26,也就是2^26個(gè)字節(jié),為64MB,工程中加入ila核用來調(diào)試。

3、生成bit后,導(dǎo)出xsa文件。
4、在vitis中應(yīng)用xsa文件,新建a5_zynqmp_fsbl工程,按照官方說明,修改sfsbl_main.c,并編譯,在debug文件夾中可以找到a5_zynqmp_fsbl.elf文件。

5、在petalinux環(huán)境中新建工程,參考以前的博客,直到petalinux-build。
6、修改設(shè)備樹

7、重新petalinux-build。
8、在image/linux文件夾下

9、拷貝出bl31.elf boot.scr image.ub pmufw.elf system.bit system.dtb u-boot.elf 七個(gè)文件,以及vitis中生成的a5_zynqmp_fsbl.elf共8個(gè)文件,到linux_dma_test.
10、在petalinux工程中,build文件夾中拷貝bootgen.bif文件,并修改成如下

11、新建regs.init

12、生成BOOT.BIN,然后一起將BOOT.BIN image.ub和boot.scr復(fù)制到sd卡。

13、測試


14、上電開機(jī),加載axi-dma的驅(qū)動(dòng),將3.0U盤掛在到mnt下

由以上可以看出,pl生成一張4MB的數(shù)據(jù)耗時(shí)43ms,將4MB數(shù)據(jù)由dma讀緩沖區(qū)copy到內(nèi)核緩沖區(qū)耗時(shí)4ms,基本接近ddr的帶寬。整個(gè)鏈路中的帶寬完全受限于U盤的存儲速度。
15、U盤中的圖片,大小128MB,數(shù)據(jù)正確。

審核編輯:符乾江
-
文件
+關(guān)注
關(guān)注
1文章
578瀏覽量
25181 -
編譯
+關(guān)注
關(guān)注
0文章
676瀏覽量
33723
發(fā)布評論請先 登錄
FX3 Socket緩沖區(qū)切換的最大時(shí)間是多少?
在傳輸DMA通道中的所有緩沖區(qū)后,DMA標(biāo)志(就緒和部分)被卡住了是怎么回事?
DMA緩沖區(qū)設(shè)置為48K,如果沒有寫滿48K,數(shù)據(jù)會自動(dòng)被發(fā)送出去嗎?
求助,關(guān)于3014的緩沖區(qū)設(shè)置疑問求解
請問如何在Linux中使用幀緩沖區(qū)更新epdc顯示?
求助,關(guān)于使用glTexDirectVIVMap通過openGL繪制相機(jī)緩沖區(qū)內(nèi)容的AXI總線錯(cuò)誤問題求解
FreeRTOS進(jìn)階使用之流緩沖區(qū):高效處理字節(jié)流的秘密武器
RTOS的流緩沖區(qū)機(jī)制解析

AMD Zen 4處理器悄然禁用循環(huán)緩沖區(qū)
分享一個(gè)嵌入式通用FIFO環(huán)形緩沖區(qū)實(shí)現(xiàn)庫

內(nèi)存緩沖區(qū)和內(nèi)存的關(guān)系
單片機(jī)中的幾種環(huán)形緩沖區(qū)的分析和實(shí)現(xiàn)

評論