1
자일링스 사. 이용 가능한 here 인 그것의 DMA PCIe IPcore를 사용을위한 몇몇 프로그램을 풀어 놓았다. 이러한 프로그램을 사용하는 경우 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();
} 나는이 절대적으로의 PCIe 규격의 자연과 또한 자일링스의 PCIe 드라이버에 의존 생각