HI3559AV100和FPGA 7K690T的PCIE接口调试记录

2023-12-13 10:31:54

1、基本情况

????????HI3559AV100和690t之间使用pcie2.0 x2接口连接,3559作为RC端,690T作为EP端,驱动使用XDMA。系统主要功能是FPGA采集srio接口过来的图像数据,再通过pcie把数据传递给3559,3559再实现图像数据的存储、AI处理、编码输出等。

2、问题及过程

2.1、内核配置RC功能

? ? ? ? 参考海思手册即可,主要是在kernel的menuconfig中打开相应的功能即可。

2.2、LINKUP失败

? ? ? ? 系统启动后,通过lspci不能查看到ep设备,但是FPGA的PCIE状态显示linkup。

? ? ? ? 后偶然发现,对3559软复位后,lspci可以查看到ep了,显示如下:

? ? ? ? 由此判断,可能是RC启动快于EP,需要等待EP的启动。

? ? ? ? 修改代码如下:

????????修改后,多次测试rc可以直接检测到ep。

2.3、XDMA驱动加载失败

????????编译xdma驱动后,加载驱动失败,显示如下:

? ? ? ? 经过尝试发现驱动配置为poll模式可以正常,加载结果如下:

2.4、数据调试过程

? ? ? ? 数据的调试过程需要和FPGA精密配合,最后我这边形成的状态是访问对应的DMA通道设备即可完成和FPGA的PCIE接口数据交互。

2.4.1、RC数据接收测试

? ? ? ? ./dma_from_device -v 1 -d /dev/xdma0_c2h_0 -f output_datafile_4K.bin -s 0x5eec00 -c 10?

? ? ? ? 结果显示如下:

? ? ? ? 由结果得知,实测的RC读速度为500MB/s,而理论的pcie2.0 X2速度为1000MB/s。

2.4.2、RC数据发送测试

? ? ? ? ./dma_to_device -v 1 -d /dev/xdma0_h2c_0 -f data/datafile_32M.bin -s 0x5eec00 -c 10

????????结果显示如下:

????????由结果得知,实测的RC写速度为670MB/s,而理论的pcie2.0 X2速度为1000MB/s。

3、遗留问题

? ? ? ? 3.1、PCIE的中断模式使用失败

? ? ? ? ? ? ? ? 待查

????????3.2、PCIE的实际速度和理论速度有较大差异

? ? ? ? ? ? ? ? 待查

文章来源:https://blog.csdn.net/fzktongyong/article/details/134963814
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。