最近突然需要实现用dma与fpga沟通,
但由于一直以来都没有碰有关driver的东西,
而且有时间压力,
所以一直都是在网络上瞎找资料。
(因为真的没有按部就班的从基础学起,
所以可能会有非常严重的概念错误,
请各位见谅。)
想请问一些观念问题或有没有推荐的书?
1.
像是使用持续性(coherent)的DMA是在挂载driver时就将配置buffer的部分写在driver中了;
那如果是streaming这种,既然是每次动作时重新map,那是不是配置buffer的部分就是直接写在软件动作里?
2.
(这问题不知道会不会错版)
fpga的部分等软件分配完buffer后,将总线地址传给fpga。
照着TLP格式来放入此地址,并将TLP丢给RQ/RC通道,
就会自动判定成DMA请求并执行吗?
(因为部分原因,所以pcie ip的部分没有使用官方含有dma的ip,而是使用最基础的Ultrasc
目前只是要将fpga内的资料在软件请求时,透过dma写入主机。
但因为相关概念真的非常不足,
也没有人可以询问,所以可能很多观念有严重错误,烦请大家不吝指教。