Vik*_*Puš 7 linux arm fpga xilinx zynq
我正在寻找一种方法,将我用C语言编写的软件应用程序中的一些数据发送到Zynq的AXI-Stream接口.就像是
open(/dev/axistream);
send_data(data);
Run Code Online (Sandbox Code Playgroud)
我在Arm部分运行Linux,现在我想将它连接到可编程逻辑部分.
小智 6
在zynq设备上,Cortex-A9处理器和FPGA之间的通信使用AXI协议完成.有三种类型的端口可用于FPGA和CPU之间的通信(Zynq TRM):
从您的问题,我会理解,在您的情况下,CPU是通信的主人.您将需要使用通用axi主端口.您无法将AXI4流接口连接到AXI互连.您需要将AXI4 Streaming转换为AXI.根据您的性能需求,AXI DMA IP内核(AXI DMA IP内核)可能是一个很好的解决方案.
如果要使用"open(/ dev /)"从软件的角度进行通信,则需要Linux设备驱动程序.如果您使用DMA核心,您的通信通常如下所示:
您的DMA内核的寄存器集将被内存映射,并可通过您自己的Linux设备驱动程序访问.出于调试目的,我建议使用mmap访问寄存器并快速验证硬件的操作.一旦你去了linux内核设备驱动程序,我建议你阅读这本书: Linux设备驱动程序3版本
归档时间: |
|
查看次数: |
5924 次 |
最近记录: |