HI3559AV100和FPGA 7K690T的PCIE接口调试记录
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的实际速度和理论速度有较大差异
? ? ? ? ? ? ? ? 待查
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!