我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1284|回复: 3

[移动软件开发] 如何创建AXI CDMA Linux用户空间示例应用

[复制链接]
  • TA的每日心情

    2024-10-6 20:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    479

    主题

    247

    回帖

    1392

    积分

    二级逆天

    积分
    1392

    终身成就奖特殊贡献奖

    发表于 2020-9-30 09:18:28 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×
    [paragraph]
    示例设计将在 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 1179403647Input : value in PSDDR 1 : value in BRAM 65794Input : value in PSDDR 2 : value in BRAM 0Input : value in PSDDR 3 : value in BRAM 0Input : value in PSDDR 4 : value in BRAM 11993091Input : value in PSDDR 5 : value in BRAM 1Input : value in PSDDR 6 : value in BRAM 13128Input : value in PSDDR 7 : value in BRAM 0Input : value in PSDDR 8 : value in BRAM 64Input : value in PSDDR 9 : value in BRAM 0Input : value in PSDDR 10 : value in BRAM 44872Input : value in PSDDR 11 : value in BRAM 0Input : value in PSDDR 12 : value in BRAM 0Input : value in PSDDR 13 : value in BRAM 3670080Input : value in PSDDR 14 : value in BRAM 4194313Input : value in PSDDR 15 : value in BRAM 1638426Input : value in PSDDR 16 : value in BRAM 6Input : value in PSDDR 17 : value in BRAM 4Input : value in PSDDR 18 : value in BRAM 64Input : value in PSDDR 19 : value in BRAM 0Input : value in PSDDR 20 : value in BRAM 64Input : value in PSDDR 21 : value in BRAM 0Input : value in PSDDR 22 : value in BRAM 64Input : value in PSDDR 23 : value in BRAM 0Input : value in PSDDR 24 : value in BRAM 504Input : value in PSDDR 25 : value in BRAM 0Input : value in PSDDR 26 : value in BRAM 504Input : value in PSDDR 27 : value in BRAM 0Input : value in PSDDR 28 : value in BRAM 8Input : value in PSDDR 29 : value in BRAM 0Input : value in PSDDR 30 : value in BRAM 3Input : value in PSDDR 31 : value in BRAM 4Input : value in PSDDR 32 : value in BRAM 568Input : value in PSDDR 33 : value in BRAM 0Input : value in PSDDR 34 : value in BRAM 568Input : value in PSDDR 35 : value in BRAM 0Input : value in PSDDR 36 : value in BRAM 568Input : value in PSDDR 37 : value in BRAM 0Input : value in PSDDR 38 : value in BRAM 27Input : value in PSDDR 39 : value in BRAM 0Input : value in PSDDR 40 : value in BRAM 27Input : value in PSDDR 41 : value in BRAM 0Input : value in PSDDR 42 : value in BRAM 1Input : value in PSDDR 43 : value in BRAM 0Input : value in PSDDR 44 : value in BRAM 1Input : value in PSDDR 45 : value in BRAM 5Input : value in PSDDR 46 : value in BRAM 0Input : value in PSDDR 47 : value in BRAM 0Input : value in PSDDR 48 : value in BRAM 0Input : value in PSDDR 49 : value in BRAM 0Input : value in PSDDR 50 : value in BRAM 0Input : value in PSDDR 51 : value in BRAM 0Input : value in PSDDR 52 : value in BRAM 37116Input : value in PSDDR 53 : value in BRAM 0Input : value in PSDDR 54 : value in BRAM 37116Input : value in PSDDR 55 : value in BRAM 0Input : value in PSDDR 56 : value in BRAM 65536Input : value in PSDDR 57 : value in BRAM 0Input : value in PSDDR 58 : value in BRAM 1Input : value in PSDDR 59 : value in BRAM 6Input : value in PSDDR 60 : value in BRAM 39544Input : value in PSDDR 61 : value in BRAM 0Input : value in PSDDR 62 : value in BRAM 105080Input : value in PSDDR 63 : value in BRAM 0Input : value in PSDDR 64 : value in BRAM 105080Input : value in PSDDR 65 : value in BRAM 0Input : value in PSDDR 66 : value in BRAM 5072Input : value in PSDDR 67 : value in BRAM 0Input : value in PSDDR 68 : value in BRAM 6168Input : value in PSDDR 69 : value in BRAM 0Input : value in PSDDR 70 : value in BRAM 65536Input : value in PSDDR 71 : value in BRAM 0Input : value in PSDDR 72 : value in BRAM 2Input : value in PSDDR 73 : value in BRAM 6Input : value in PSDDR 74 : value in BRAM 39560Input : value in PSDDR 75 : value in BRAM 0Input : value in PSDDR 76 : value in BRAM 105096Input : value in PSDDR 77 : value in BRAM 0Input : value in PSDDR 78 : value in BRAM 105096Input : value in PSDDR 79 : value in BRAM 0Input : value in PSDDR 80 : value in BRAM 512Input : value in PSDDR 81 : value in BRAM 0Input : value in PSDDR 82 : value in BRAM 512Input : value in PSDDR 83 : value in BRAM 0Input : value in PSDDR 84 : value in BRAM 8Input : value in PSDDR 85 : value in BRAM 0Input : value in PSDDR 86 : value in BRAM 4Input : value in PSDDR 87 : value in BRAM 4Input : value in PSDDR 88 : value in BRAM 596Input : value in PSDDR 89 : value in BRAM 0Input : value in PSDDR 90 : value in BRAM 596Input : value in PSDDR 91 : value in BRAM 0Input : value in PSDDR 92 : value in BRAM 596Input : value in PSDDR 93 : value in BRAM 0Input : value in PSDDR 94 : value in BRAM 68Input : value in PSDDR 95 : value in BRAM 0Input : value in PSDDR 96 : value in BRAM 68Input : value in PSDDR 97 : value in BRAM 0Input : value in PSDDR 98 : value in BRAM 4Input : value in PSDDR 99 : value in BRAM 0control reg:0x00000000status reg:0x00000002all interrupts masked...control reg:0x00005000status reg:0x00000002Writing source addressSource addr reg:0x04000000status reg:0x00000002Writing destination addressDest addr reg:0xa0000000status reg:0x00000002Writing transfer length...DMA transfer is completedlength reg:0x00000190status reg:0x00001002Output : value in PSDDR 0 : value in BRAM 0Output : value in PSDDR 1 : value in BRAM 1Output : value in PSDDR 2 : value in BRAM 2Output : value in PSDDR 3 : value in BRAM 3Output : value in PSDDR 4 : value in BRAM 4Output : value in PSDDR 5 : value in BRAM 5Output : value in PSDDR 6 : value in BRAM 6Output : value in PSDDR 7 : value in BRAM 7Output : value in PSDDR 8 : value in BRAM 8Output : value in PSDDR 9 : value in BRAM 9Output : value in PSDDR 10 : value in BRAM 10Output : value in PSDDR 11 : value in BRAM 11Output : value in PSDDR 12 : value in BRAM 12Output : value in PSDDR 13 : value in BRAM 13Output : value in PSDDR 14 : value in BRAM 14Output : value in PSDDR 15 : value in BRAM 15Output : value in PSDDR 16 : value in BRAM 16Output : value in PSDDR 17 : value in BRAM 17Output : value in PSDDR 18 : value in BRAM 18Output : value in PSDDR 19 : value in BRAM 19Output : value in PSDDR 20 : value in BRAM 20Output : value in PSDDR 21 : value in BRAM 21Output : value in PSDDR 22 : value in BRAM 22Output : value in PSDDR 23 : value in BRAM 23Output : value in PSDDR 24 : value in BRAM 24Output : value in PSDDR 25 : value in BRAM 25Output : value in PSDDR 26 : value in BRAM 26Output : value in PSDDR 27 : value in BRAM 27Output : value in PSDDR 28 : value in BRAM 28Output : value in PSDDR 29 : value in BRAM 29Output : value in PSDDR 30 : value in BRAM 30Output : value in PSDDR 31 : value in BRAM 31Output : value in PSDDR 32 : value in BRAM 32Output : value in PSDDR 33 : value in BRAM 33Output : value in PSDDR 34 : value in BRAM 34Output : value in PSDDR 35 : value in BRAM 35Output : value in PSDDR 36 : value in BRAM 36Output : value in PSDDR 37 : value in BRAM 37Output : value in PSDDR 38 : value in BRAM 38Output : value in PSDDR 39 : value in BRAM 39Output : value in PSDDR 40 : value in BRAM 40Output : value in PSDDR 41 : value in BRAM 41Output : value in PSDDR 42 : value in BRAM 42Output : value in PSDDR 43 : value in BRAM 43Output : value in PSDDR 44 : value in BRAM 44Output : value in PSDDR 45 : value in BRAM 45Output : value in PSDDR 46 : value in BRAM 46Output : value in PSDDR 47 : value in BRAM 47Output : value in PSDDR 48 : value in BRAM 48Output : value in PSDDR 49 : value in BRAM 49Output : value in PSDDR 50 : value in BRAM 50Output : value in PSDDR 51 : value in BRAM 51Output : value in PSDDR 52 : value in BRAM 52Output : value in PSDDR 53 : value in BRAM 53Output : value in PSDDR 54 : value in BRAM 54Output : value in PSDDR 55 : value in BRAM 55Output : value in PSDDR 56 : value in BRAM 56Output : value in PSDDR 57 : value in BRAM 57Output : value in PSDDR 58 : value in BRAM 58Output : value in PSDDR 59 : value in BRAM 59Output : value in PSDDR 60 : value in BRAM 60Output : value in PSDDR 61 : value in BRAM 61Output : value in PSDDR 62 : value in BRAM 62Output : value in PSDDR 63 : value in BRAM 63Output : value in PSDDR 64 : value in BRAM 64Output : value in PSDDR 65 : value in BRAM 65Output : value in PSDDR 66 : value in BRAM 66Output : value in PSDDR 67 : value in BRAM 67Output : value in PSDDR 68 : value in BRAM 68Output : value in PSDDR 69 : value in BRAM 69Output : value in PSDDR 70 : value in BRAM 70Output : value in PSDDR 71 : value in BRAM 71Output : value in PSDDR 72 : value in BRAM 72Output : value in PSDDR 73 : value in BRAM 73Output : value in PSDDR 74 : value in BRAM 74Output : value in PSDDR 75 : value in BRAM 75Output : value in PSDDR 76 : value in BRAM 76Output : value in PSDDR 77 : value in BRAM 77Output : value in PSDDR 78 : value in BRAM 78Output : value in PSDDR 79 : value in BRAM 79Output : value in PSDDR 80 : value in BRAM 80Output : value in PSDDR 81 : value in BRAM 81Output : value in PSDDR 82 : value in BRAM 82Output : value in PSDDR 83 : value in BRAM 83Output : value in PSDDR 84 : value in BRAM 84Output : value in PSDDR 85 : value in BRAM 85Output : value in PSDDR 86 : value in BRAM 86Output : value in PSDDR 87 : value in BRAM 87Output : value in PSDDR 88 : value in BRAM 88Output : value in PSDDR 89 : value in BRAM 89Output : value in PSDDR 90 : value in BRAM 90Output : value in PSDDR 91 : value in BRAM 91Output : value in PSDDR 92 : value in BRAM 92Output : value in PSDDR 93 : value in BRAM 93Output : value in PSDDR 94 : value in BRAM 94Output : value in PSDDR 95 : value in BRAM 95Output : value in PSDDR 96 : value in BRAM 96Output : value in PSDDR 97 : value in BRAM 97Output : value in PSDDR 98 : value in BRAM 98Output : value in PSDDR 99 : value in BRAM 99Transmitted Data successfullyroot@cdma_proj:~#
    输出截屏

    回复

    使用道具 举报

  • TA的每日心情
    开心
    前天 08:51
  • 签到天数: 54 天

    [LV.5]常住居民I

    2

    主题

    1万

    回帖

    2万

    积分

    三级逆天

    积分
    20559

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2020-9-30 09:29:45 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情

    10 小时前
  • 签到天数: 167 天

    [LV.7]常住居民III

    7

    主题

    5276

    回帖

    4508

    积分

    二级逆天

    积分
    4508

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    发表于 2020-9-30 09:45:13 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    6218

    回帖

    8731

    积分

    二级逆天

    积分
    8731

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2020-10-3 08:56:06 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    每日签到,有金币领取。


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    ( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

    平平安安
    TOP
    快速回复 返回顶部 返回列表