2017-12-10 18 views
1

ザイリンクス社利用可能なDMA PCIe IPcoreで作業するためのいくつかのプログラムをリリースした。here。これらのプログラムでは、C2Hを実行するプログラム、または高速処理を行うプログラムがあります。DMAを使用してPCIeと通信する

これは基本的にホスト側でDMAを使用していますか、またはこれらのコードに冗長なものを記述する必要がありますか?次のように例えば、AXI-STモードで読み込み/書き込みを行うコードスニペットは、次のとおりです。

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(); 

}

答えて

1

私は、これは絶対にその完全のPCIe仕様の本質ともザイリンクスのPCIeドライバに頼っていると思いますPG195に記載されている。

関連する問題