2017-12-10 5 views
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 드라이버에 의존 생각

답변

1

하는 완전히 PG195에 설명되어 있습니다.

관련 문제