在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何創建AXI CDMA Linux用戶空間示例應用

YCqV_FPGA_EETre ? 來源:FPGA開發圈 ? 2020-07-02 15:03 ? 次閱讀

本篇博文將為您演示如何創建 AXI CDMA Linux 用戶空間示例應用。

示例設計將在 Zynq UltraScale+ RFSoC ZCU111 評估板上實現通過 AXI CDMA 把數據從 PS DDR 傳輸至 AXI BRAM。

適用平臺

Vivado 和 PetaLinux 2019.2。

Zynq UltraScale+ RFSoC ZCU111 評估板

啟動模式:JTAG,SD

模塊框圖

Vivado步驟

步驟 1:基于ZCU111 評估版創建一個工程,并根據上圖中的模塊設計完成相應的模塊設計。

步驟 2:按下列設置來配置 AXI CDMA:

步驟 3:成功完成后,選擇“驗證設計 (Validate design)”以驗證設計,并檢查地址編輯器。

步驟4:創建整個模塊設計的頂層文件并生成比特流。

步驟 5:導出硬件設計以獲取 XSA 文件。

PetaLinux步驟

以下步驟用于生成啟動鏡像和 Linux 用戶空間應用。

步驟 1:

使用以下命令和隨附內容 (axicdma.c) 創建 AXI CDMA 用戶空間應用。

vim axicmda.c

步驟 2:

petalinux-create -t project -n bram --template zynqMP

步驟3:

petalinux-config --v --get-hw-description=

步驟4:

在 system-user.dtsi 文件中添加以下更改以禁用 CDMA 驅動并保留內存。

/include/ "system-conf.dtsi"
/ {
#address-cells = <2>;
#size-cells = <2>;
memory {
device_type = "memory";
reg = <0x0 0x0 0x0 0x80000000>, <0x0 0xA0000000 0x0 0x40000>, <0x00000008 0x00000000 0x0 0x80000000>;
};
reserved-memory {
ranges;
reserved {
reg = <0x0 0xa0000000 0x0 0x40000>;
};
};

};
&axi_bram_ctrl_1 {
status = "disabled";
};

&axi_cdma_0 {
status = "disabled";
};

步驟 5:

petalinux-config -c kernel

然后,按如下方式操作:

Kernel hacking --->[ ] Filter access to /dev/mem --> Save & exit

步驟 6:

petalinux-build

步驟 7:

petalinux-package --boot --fsbl images/linux/zynqmp_fsbl.elf --pmufw images/linux/pmufw.elf --fpga images/linux/system.bit --u-boot images/linux/u-boot.elf --force

步驟 8:

將 BOOT.bin 和 image.ub 文件與測試應用二進制文件一起復制到 SD 卡。

步驟 9:

啟動評估板,并運行隨附的應用 (axicmda.c)。

運行設計

要運行設計,請首先連接到 ZCU111 評估板并從 SD 卡啟動鏡像,然后運行二進制應用文件。

控制臺輸出

/dev/mem opened.
BRAM Memory mapped at address 0x7fb5339000.
PSDDR Memory mapped at address 0x7fb5192000.
CDMA Memory mapped at address 0x7fb5336000.
Input : value in PSDDR 0 : value in BRAM 1179403647
Input : value in PSDDR 1 : value in BRAM 65794
Input : value in PSDDR 2 : value in BRAM 0
Input : value in PSDDR 3 : value in BRAM 0
Input : value in PSDDR 4 : value in BRAM 11993091
Input : value in PSDDR 5 : value in BRAM 1
Input : value in PSDDR 6 : value in BRAM 13128
Input : value in PSDDR 7 : value in BRAM 0
Input : value in PSDDR 8 : value in BRAM 64
Input : value in PSDDR 9 : value in BRAM 0
Input : value in PSDDR 10 : value in BRAM 44872
Input : value in PSDDR 11 : value in BRAM 0
Input : value in PSDDR 12 : value in BRAM 0
Input : value in PSDDR 13 : value in BRAM 3670080
Input : value in PSDDR 14 : value in BRAM 4194313
Input : value in PSDDR 15 : value in BRAM 1638426
Input : value in PSDDR 16 : value in BRAM 6
Input : value in PSDDR 17 : value in BRAM 4
Input : value in PSDDR 18 : value in BRAM 64
Input : value in PSDDR 19 : value in BRAM 0
Input : value in PSDDR 20 : value in BRAM 64
Input : value in PSDDR 21 : value in BRAM 0
Input : value in PSDDR 22 : value in BRAM 64
Input : value in PSDDR 23 : value in BRAM 0
Input : value in PSDDR 24 : value in BRAM 504
Input : value in PSDDR 25 : value in BRAM 0
Input : value in PSDDR 26 : value in BRAM 504
Input : value in PSDDR 27 : value in BRAM 0
Input : value in PSDDR 28 : value in BRAM 8
Input : value in PSDDR 29 : value in BRAM 0
Input : value in PSDDR 30 : value in BRAM 3
Input : value in PSDDR 31 : value in BRAM 4
Input : value in PSDDR 32 : value in BRAM 568
Input : value in PSDDR 33 : value in BRAM 0
Input : value in PSDDR 34 : value in BRAM 568
Input : value in PSDDR 35 : value in BRAM 0
Input : value in PSDDR 36 : value in BRAM 568
Input : value in PSDDR 37 : value in BRAM 0
Input : value in PSDDR 38 : value in BRAM 27
Input : value in PSDDR 39 : value in BRAM 0
Input : value in PSDDR 40 : value in BRAM 27
Input : value in PSDDR 41 : value in BRAM 0
Input : value in PSDDR 42 : value in BRAM 1
Input : value in PSDDR 43 : value in BRAM 0
Input : value in PSDDR 44 : value in BRAM 1
Input : value in PSDDR 45 : value in BRAM 5
Input : value in PSDDR 46 : value in BRAM 0
Input : value in PSDDR 47 : value in BRAM 0
Input : value in PSDDR 48 : value in BRAM 0
Input : value in PSDDR 49 : value in BRAM 0
Input : value in PSDDR 50 : value in BRAM 0
Input : value in PSDDR 51 : value in BRAM 0
Input : value in PSDDR 52 : value in BRAM 37116
Input : value in PSDDR 53 : value in BRAM 0
Input : value in PSDDR 54 : value in BRAM 37116
Input : value in PSDDR 55 : value in BRAM 0
Input : value in PSDDR 56 : value in BRAM 65536
Input : value in PSDDR 57 : value in BRAM 0
Input : value in PSDDR 58 : value in BRAM 1
Input : value in PSDDR 59 : value in BRAM 6
Input : value in PSDDR 60 : value in BRAM 39544
Input : value in PSDDR 61 : value in BRAM 0
Input : value in PSDDR 62 : value in BRAM 105080
Input : value in PSDDR 63 : value in BRAM 0
Input : value in PSDDR 64 : value in BRAM 105080
Input : value in PSDDR 65 : value in BRAM 0
Input : value in PSDDR 66 : value in BRAM 5072
Input : value in PSDDR 67 : value in BRAM 0
Input : value in PSDDR 68 : value in BRAM 6168
Input : value in PSDDR 69 : value in BRAM 0
Input : value in PSDDR 70 : value in BRAM 65536
Input : value in PSDDR 71 : value in BRAM 0
Input : value in PSDDR 72 : value in BRAM 2
Input : value in PSDDR 73 : value in BRAM 6
Input : value in PSDDR 74 : value in BRAM 39560
Input : value in PSDDR 75 : value in BRAM 0
Input : value in PSDDR 76 : value in BRAM 105096
Input : value in PSDDR 77 : value in BRAM 0
Input : value in PSDDR 78 : value in BRAM 105096
Input : value in PSDDR 79 : value in BRAM 0
Input : value in PSDDR 80 : value in BRAM 512
Input : value in PSDDR 81 : value in BRAM 0
Input : value in PSDDR 82 : value in BRAM 512
Input : value in PSDDR 83 : value in BRAM 0
Input : value in PSDDR 84 : value in BRAM 8
Input : value in PSDDR 85 : value in BRAM 0
Input : value in PSDDR 86 : value in BRAM 4
Input : value in PSDDR 87 : value in BRAM 4
Input : value in PSDDR 88 : value in BRAM 596
Input : value in PSDDR 89 : value in BRAM 0
Input : value in PSDDR 90 : value in BRAM 596
Input : value in PSDDR 91 : value in BRAM 0
Input : value in PSDDR 92 : value in BRAM 596
Input : value in PSDDR 93 : value in BRAM 0
Input : value in PSDDR 94 : value in BRAM 68
Input : value in PSDDR 95 : value in BRAM 0
Input : value in PSDDR 96 : value in BRAM 68
Input : value in PSDDR 97 : value in BRAM 0
Input : value in PSDDR 98 : value in BRAM 4
Input : value in PSDDR 99 : value in BRAM 0
control reg:0x00000000
status reg:0x00000002
all interrupts masked...
control reg:0x00005000
status reg:0x00000002
Writing source address
Source addr reg:0x04000000
status reg:0x00000002
Writing destination address
Dest addr reg:0xa0000000
status reg:0x00000002
Writing transfer length...
DMA transfer is completed
length reg:0x00000190
status reg:0x00001002
Output : value in PSDDR 0 : value in BRAM 0
Output : value in PSDDR 1 : value in BRAM 1
Output : value in PSDDR 2 : value in BRAM 2
Output : value in PSDDR 3 : value in BRAM 3
Output : value in PSDDR 4 : value in BRAM 4
Output : value in PSDDR 5 : value in BRAM 5
Output : value in PSDDR 6 : value in BRAM 6
Output : value in PSDDR 7 : value in BRAM 7
Output : value in PSDDR 8 : value in BRAM 8
Output : value in PSDDR 9 : value in BRAM 9
Output : value in PSDDR 10 : value in BRAM 10
Output : value in PSDDR 11 : value in BRAM 11
Output : value in PSDDR 12 : value in BRAM 12
Output : value in PSDDR 13 : value in BRAM 13
Output : value in PSDDR 14 : value in BRAM 14
Output : value in PSDDR 15 : value in BRAM 15
Output : value in PSDDR 16 : value in BRAM 16
Output : value in PSDDR 17 : value in BRAM 17
Output : value in PSDDR 18 : value in BRAM 18
Output : value in PSDDR 19 : value in BRAM 19
Output : value in PSDDR 20 : value in BRAM 20
Output : value in PSDDR 21 : value in BRAM 21
Output : value in PSDDR 22 : value in BRAM 22
Output : value in PSDDR 23 : value in BRAM 23
Output : value in PSDDR 24 : value in BRAM 24
Output : value in PSDDR 25 : value in BRAM 25
Output : value in PSDDR 26 : value in BRAM 26
Output : value in PSDDR 27 : value in BRAM 27
Output : value in PSDDR 28 : value in BRAM 28
Output : value in PSDDR 29 : value in BRAM 29
Output : value in PSDDR 30 : value in BRAM 30
Output : value in PSDDR 31 : value in BRAM 31
Output : value in PSDDR 32 : value in BRAM 32
Output : value in PSDDR 33 : value in BRAM 33
Output : value in PSDDR 34 : value in BRAM 34
Output : value in PSDDR 35 : value in BRAM 35
Output : value in PSDDR 36 : value in BRAM 36
Output : value in PSDDR 37 : value in BRAM 37
Output : value in PSDDR 38 : value in BRAM 38
Output : value in PSDDR 39 : value in BRAM 39
Output : value in PSDDR 40 : value in BRAM 40
Output : value in PSDDR 41 : value in BRAM 41
Output : value in PSDDR 42 : value in BRAM 42
Output : value in PSDDR 43 : value in BRAM 43
Output : value in PSDDR 44 : value in BRAM 44
Output : value in PSDDR 45 : value in BRAM 45
Output : value in PSDDR 46 : value in BRAM 46
Output : value in PSDDR 47 : value in BRAM 47
Output : value in PSDDR 48 : value in BRAM 48
Output : value in PSDDR 49 : value in BRAM 49
Output : value in PSDDR 50 : value in BRAM 50
Output : value in PSDDR 51 : value in BRAM 51
Output : value in PSDDR 52 : value in BRAM 52
Output : value in PSDDR 53 : value in BRAM 53
Output : value in PSDDR 54 : value in BRAM 54
Output : value in PSDDR 55 : value in BRAM 55
Output : value in PSDDR 56 : value in BRAM 56
Output : value in PSDDR 57 : value in BRAM 57
Output : value in PSDDR 58 : value in BRAM 58
Output : value in PSDDR 59 : value in BRAM 59
Output : value in PSDDR 60 : value in BRAM 60
Output : value in PSDDR 61 : value in BRAM 61
Output : value in PSDDR 62 : value in BRAM 62
Output : value in PSDDR 63 : value in BRAM 63
Output : value in PSDDR 64 : value in BRAM 64
Output : value in PSDDR 65 : value in BRAM 65
Output : value in PSDDR 66 : value in BRAM 66
Output : value in PSDDR 67 : value in BRAM 67
Output : value in PSDDR 68 : value in BRAM 68
Output : value in PSDDR 69 : value in BRAM 69
Output : value in PSDDR 70 : value in BRAM 70
Output : value in PSDDR 71 : value in BRAM 71
Output : value in PSDDR 72 : value in BRAM 72
Output : value in PSDDR 73 : value in BRAM 73
Output : value in PSDDR 74 : value in BRAM 74
Output : value in PSDDR 75 : value in BRAM 75
Output : value in PSDDR 76 : value in BRAM 76
Output : value in PSDDR 77 : value in BRAM 77
Output : value in PSDDR 78 : value in BRAM 78
Output : value in PSDDR 79 : value in BRAM 79
Output : value in PSDDR 80 : value in BRAM 80
Output : value in PSDDR 81 : value in BRAM 81
Output : value in PSDDR 82 : value in BRAM 82
Output : value in PSDDR 83 : value in BRAM 83
Output : value in PSDDR 84 : value in BRAM 84
Output : value in PSDDR 85 : value in BRAM 85
Output : value in PSDDR 86 : value in BRAM 86
Output : value in PSDDR 87 : value in BRAM 87
Output : value in PSDDR 88 : value in BRAM 88
Output : value in PSDDR 89 : value in BRAM 89
Output : value in PSDDR 90 : value in BRAM 90
Output : value in PSDDR 91 : value in BRAM 91
Output : value in PSDDR 92 : value in BRAM 92
Output : value in PSDDR 93 : value in BRAM 93
Output : value in PSDDR 94 : value in BRAM 94
Output : value in PSDDR 95 : value in BRAM 95
Output : value in PSDDR 96 : value in BRAM 96
Output : value in PSDDR 97 : value in BRAM 97
Output : value in PSDDR 98 : value in BRAM 98
Output : value in PSDDR 99 : value in BRAM 99
Transmitted Data successfully
root@cdma_proj:~#

輸出截屏

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11354

    瀏覽量

    210635
  • 編輯器
    +關注

    關注

    1

    文章

    807

    瀏覽量

    31328

原文標題:開發者分享 | 有關 Zynq UltraScale+ RFSoC 的 AXI CDMA Linux 用戶空間示例

文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ZYNQ基礎---AXI DMA使用

    通道,從ddr讀出數據通道和向ddr寫入數據通道。其IP結構的兩邊分別對應著用于訪問內存的AXI總線和用于用戶
    的頭像 發表于 01-06 11:13 ?645次閱讀
    ZYNQ基礎---<b class='flag-5'>AXI</b> DMA使用

    禁止使用root用戶通過ssh遠程登錄Linux

    1、背景描述 出于安全考慮,需要禁止使用root用戶通過ssh遠程登錄Linux 禁用root用戶遠程登錄后,需要提供一個權限用戶用于ssh遠程登錄 2、
    的頭像 發表于 12-21 16:25 ?549次閱讀
    禁止使用root<b class='flag-5'>用戶</b>通過ssh遠程登錄<b class='flag-5'>Linux</b>

    Linux中的用戶創建

    Linux中的用戶創建 用戶的類型 超級管理用戶: 權限最高的用戶(uid:0) #uid:是
    的頭像 發表于 12-20 14:24 ?351次閱讀
    <b class='flag-5'>Linux</b>中的<b class='flag-5'>用戶</b>與<b class='flag-5'>創建</b>

    Linux用戶管理終極指南:從基礎到進階

    登陸系統,只不過Linux支持多個用戶同時登陸。 F:難道Windows就不算多用戶操作系統嗎? Q:其實不是,在Windows系統中可以創建多個
    的頭像 發表于 12-04 11:42 ?299次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>用戶</b>管理終極指南:從基礎到進階

    LP5891-Q1示例代碼用戶指南

    電子發燒友網站提供《LP5891-Q1示例代碼用戶指南.pdf》資料免費下載
    發表于 11-12 14:08 ?1次下載
    LP5891-Q1<b class='flag-5'>示例</b>代碼<b class='flag-5'>用戶</b>指南

    Linux用戶管理詳解

    用戶分為普通用戶和超級用戶,超級用戶在Windows系統中為Administrator在Linux系統中為root。登陸
    的頭像 發表于 11-01 09:48 ?238次閱讀

    Linux用戶身份與進程權限詳解

    在學習 Linux 系統權限相關的主題時,我們首先關注的基本都是文件的 ugo 權限。ugo 權限信息是文件的屬性,它指明了用戶與文件之間的關系。但是真正操作文件的卻是進程,也就是說用戶所擁有的文件
    的頭像 發表于 10-23 11:41 ?439次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>用戶</b>身份與進程權限詳解

    使用XDC工具創建TMS320DM6446音頻編碼示例

    電子發燒友網站提供《使用XDC工具創建TMS320DM6446音頻編碼示例.pdf》資料免費下載
    發表于 10-15 09:18 ?0次下載
    使用XDC工具<b class='flag-5'>創建</b>TMS320DM6446音頻編碼<b class='flag-5'>示例</b>

    linux驅動程序運行在什么空間

    Linux 驅動程序是操作系統的一部分,負責管理硬件設備與操作系統之間的交互。驅動程序運行在內核空間(Kernel Space),這是操作系統的核心部分,與用戶空間(User Spac
    的頭像 發表于 08-30 14:37 ?547次閱讀

    SoC設計中總線協議AXI4與AXI3的主要區別詳解

    AXI4和AXI3是高級擴展接口(Advanced eXtensible Interface)的兩個不同版本,它們都是用于SoC(System on Chip)設計中的總線協議,用于處理器和其它外設之間的高速數據傳輸。
    的頭像 發表于 05-10 11:29 ?7466次閱讀
    SoC設計中總線協議<b class='flag-5'>AXI</b>4與<b class='flag-5'>AXI</b>3的主要區別詳解

    Linux添加磁盤創建分區、掛載

    Linux添加磁盤創建分區、掛載
    發表于 04-20 17:49 ?565次閱讀
    <b class='flag-5'>Linux</b>添加磁盤<b class='flag-5'>創建</b>分區、掛載

    FPGA通過AXI總線讀寫DDR3實現方式

    AXI總線由一些核心組成,包括AXI主處理器接口(AXI4)、AXI處理器到協處理器接口(AXI4-Lite)、
    發表于 04-18 11:41 ?1391次閱讀

    PCIe-AXI-Cont用戶手冊

    Transaction layer的所有功能特性,不僅內置DMA控制器,而且具備AXI4用戶接口,提供一個高性能,易于使用,可定制化的PCIe-AXI互連解決方案,同時適用于ASIC和FPGA。
    發表于 02-22 09:15 ?3次下載

    PCIe控制器(FPGA或ASIC),PCIe-AXI-Controller

    Transaction Layer的所有功能特性,不僅內置DMA控制器,而且具備AXI4用戶接口,提供一個高性能,易于使用,可定制化的PCIe-AXI互連解決方案,同時適用于ASIC和FPGA。
    的頭像 發表于 02-21 15:15 ?1048次閱讀
    PCIe控制器(FPGA或ASIC),PCIe-<b class='flag-5'>AXI</b>-Controller

    AMBA總線之AXI設計的關鍵問題講解

    首先我們看一下針對AXI接口的IP設計,在介紹之前我們先回顧一下AXI所具有的一些feature。
    的頭像 發表于 02-20 17:12 ?2062次閱讀
    AMBA總線之<b class='flag-5'>AXI</b>設計的關鍵問題講解
    主站蜘蛛池模板: 丁香婷婷在线 | 欧美激情亚洲精品日韩1区2区 | 宅男在线看片 | 天天色天天综合 | 欧美午夜影院 | 4虎最新地址 | 亚洲 欧美 91 | 色无五月 | a在线观看网站 | 在线视频一本 | 色五月在线视频 | 嘿嘿嘿视频在线观看网站 | 狼人射综合 | 日日夜夜精品 | 91福利视频网 | 亚洲午夜在线观看 | 毛片网站网址 | 亚洲成人网在线 | yy6080理aa级伦大片一级 | 五月天婷婷网亚洲综合在线 | 国产伦精品一区二区三区免 | 999久久久国产精品 999久久久免费精品国产牛牛 | 丁香六月激情婷婷 | 成 人 黄 色视频免费播放 | 久久天天躁狠狠躁夜夜免费观看 | 色接久久 | 日本女人啪啪 | 真人实干一级毛片aa免费 | 久久久久九九精品影院 | 亚州一级 | 99久久99久久久99精品齐 | 6080午夜 | 欧美高清在线播放 | 宅男lu66国产在线播放 | 欧美国产一区二区二区 | 在线www天堂资源网 在线播放 你懂的 | 中文字幕一区二区三区精品 | 天堂成人网 | 国产盗摄女子私密保健视频 | bt天堂资源种子在线 | 丁香花在线影院观看在线播放 |