我有一个DE10-Nano Cyclone V开发板带有Terasic的1 GB外部DDR3 RAM,我想实现一个驱动程序,它可以管理Linux在ARM Cortex-A9处理器和Cyclone V的FPGA架构上。
使用dma_alloc_coherent
我分配了一定数量的内存并将硬件地址写入到我编程的FPGA模块中。
然后我开始通过SDRAM AXI接口写入一个任意数字到给定的地址,但显然SDRAM AXI从机并没有信号置位信号。
我已经配置了SDRAM AXI接口在325兆赫运行,是256位宽(数据长度),具有32位寻址长度和是一个AXI3从属。 SDRAM接口被配置为的TrustZone感知设备(ARM的TrustZone设置)
我还硬一些其他配置线路与AXI从属,其中我将现在列出:
已启用Cyclone V的SDRAM桥接被阻止
assign axm_m0_arburst = 'd0;
assign axm_m0_arcache = 'd0;
assign axm_m0_arid = 'd0;
assign axm_m0_arlen = 'd0;
assign axm_m0_arlock = 'd0;
assign axm_m0_arprot = 'd0;
assign axm_m0_arsize = 'b101;
assign axm_m0_awburst = 'd0;
assign axm_m0_awcache = 'd0;
assign axm_m0_awid = 'd0;
assign axm_m0_awlen = 'd0;
assign axm_m0_awlock = 'd0;
assign axm_m0_awprot = 'd0;
assign axm_m0_awsize = 'b101;
assign axm_m0_wid = 'd0;
assign axm_m0_wstrb = 'hFFFFFFFF;
当在Linux中查看FPGA桥接驱动程序(/ sys/class/fpga-bridge/br4)时,状态显示为“已启用”。
什么可能是桥梁仍然阻止沟通的原因?
感谢您的帮助。