首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用DMA通信PCIe

用DMA通信PCIe
EN

Stack Overflow用户
提问于 2017-12-10 04:29:43
回答 1查看 532关注 0票数 0

西林克斯公司发布了一些用于使用其DMA PCIe IPcore (可用的这里 )的程序。在这些程序中,有一些程序执行C2H或反之亦然的高速操作。

它基本上是在主机端使用DMA,还是必须在这些代码中写一些多余的东西?例如,在AXI-ST模式下进行写入/读取的代码片段如下所示:

代码语言:javascript
复制
void do_transfers_in_parallel(unsigned index, device_file& h2c, device_file& c2h, 
                       std::array<uint32_t, array_size>& h2c_data, 
                       std::array<uint32_t, array_size>& c2h_data) {

std::cout << "    Initiating H2C_" << index << " transfer of " << h2c_data.size() * sizeof(uint32_t) << " bytes...\n";
std::thread read_thread(&device_file::write, &h2c, (void*)h2c_data.data(), 
                        h2c_data.size() * sizeof(uint32_t));
std::cout << "    Initiating C2H_" << index << " transfer of " << c2h_data.size() * sizeof(uint32_t) << " bytes...\n";
std::thread write_thread(&device_file::read, &c2h, (void*)c2h_data.data(), 
                         c2h_data.size() * sizeof(uint32_t));

write_thread.join();
read_thread.join();

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-11 10:00:01

我认为这完全依赖于PCIe规范的性质,也依赖于Xilinx PCIe驱动程序,它在PG195中得到了充分的描述。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47735869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档