当前位置: 首页 > article >正文

PS linux 基础篇1-AXI_DMA

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • 一、AXI DMA ip核
  • 二、BD工程
  • 三、PS linux工程
    • 1.使用开源的xilinx_axidma-master工程验证驱动
    • 2.按照其他的开源进行就行,没什么写的了


前言

PL与PS之间快速的接口,本文为LOOP回环测试


一、AXI DMA ip核

MM2S = memory mapped to stream(DMA到stream接口)
S2MM = stream to memory mapped(stream到DMA接口)

接口
1.AXIS_MM2S:axi_stream接口(DMA向外设写数据)
2.AXIS_S2MM:axi_stream接口(DMA从外设读数据)
3.AXI_MM2S:axi_full接口(从DDR读数据)
4.AXI_S2MM:axi_full接口(向DDR写数据)

二、BD工程

在这里插入图片描述

可以由上图看出stream接口为回环(只是中间过了个FIFO)

在这里插入图片描述
在这里插入图片描述

三、PS linux工程

1.使用开源的xilinx_axidma-master工程验证驱动

1.改config_template.mk文件名为config.mk
并改内容如下:
其中KBUILD_DIR为petalinux-config -c kernel编译后的内核文件目录(目录中文件如下截图所示)
注意:一定要安装arm-linux-gnueabihf-环境
在这里插入图片描述
在这里插入图片描述

2.按照其他的开源进行就行,没什么写的了

注意:如果要使用大于2路的dma
1.改设备树

/include/ "system-conf.dtsi"
/ {
};&amba_pl {axidma_chrdev: axidma_chrdev@0 {compatible = "xlnx,axidma-chrdev";dmas = <&axi_dma_0 0 &axi_dma_0 1 &axi_dma_1 0 &axi_dma_1 1 &axi_dma_2 0 &axi_dma_2 1 &axi_dma_3 0 &axi_dma_3 1 >;dma-names = "tx_channel", "rx_channel", "tx_channel1", "rx_channel1", "tx_channel2", "rx_channel2", "tx_channel3", "rx_channel3";};
};&axi_dma_0 {dma-channel@40400000 {xlnx,device-id = <0x0>;};dma-channel@40400030 {xlnx,device-id = <0x1>;};
};&axi_dma_1 {dma-channel@40410000 {xlnx,device-id = <0x2>;};dma-channel@40410030 {xlnx,device-id = <0x3>;};
};&axi_dma_2 {dma-channel@40420000 {xlnx,device-id = <0x4>;};dma-channel@40420030 {xlnx,device-id = <0x5>;};
};&axi_dma_3 {dma-channel@40430000 {xlnx,device-id = <0x6>;};dma-channel@40400030 {xlnx,device-id = <0x7>;};
};

2.改开开源文件的axidma_of.c里面的91行 ">2"改大

在这里插入图片描述

http://www.lryc.cn/news/2391953.html

相关文章:

  • AI大模型学习三十、ubuntu安装comfyui,安装插件,修改返回405 bug,值得一看喔
  • 11高可用与容错
  • 百度之星2024 初赛第一场 补给
  • Collection集合遍历的三种方法
  • Taro on Harmony C-API 版本正式开源
  • 知识隔离的视觉-语言-动作模型:训练更快、运行更快、泛化更好
  • [ARM][架构] 02.AArch32 程序状态
  • Dockerfile正确写法之现代容器化构建的最佳实践
  • React---day4
  • ArkUI(方舟UI框架)介绍
  • 【Bug】定时任务中 Jpa Save 方法失效
  • 英语科研词汇现象及语言演变探讨
  • C# 打印PDF的常用方法
  • 若依微服务的定制化服务
  • Axios 如何通过配置实现通过接口请求下载文件
  • 小表驱动大表更快吗,不是
  • 20250529-C#知识:运算符重载
  • 【HW系列】—目录扫描、口令爆破、远程RCE流量特征
  • 如何在WordPress网站中添加相册/画廊
  • 【NLP基础知识系列课程-Tokenizer的前世今生第一课】Tokenizer 是什么?为什么重要?
  • Codeforces Round 1025 (Div. 2)
  • Ubuntu20.04操作系统ssh开启oot账户登录
  • 类欧几里得算法(floor_sum)
  • 每日Prompt:卵石拼画
  • 湖北理元理律师事务所观察:债务优化如何成为民生安全网
  • AI时代新词-机器学习即服务(MLaaS)
  • 设计模式简述(二十)规格模式
  • 符合Python风格的对象(覆盖类属性)
  • 题目 3314: 蓝桥杯2025年第十六届省赛真题-魔法科考试
  • Java八股-Java优缺点,跨平台,jdk、jre、jvm关系,解释和编译