2013-01-08 3 views
1

PCIe를 통한 자일링스 FPGA와 PC 간의 DMA 연결을 위해 노력 중이다. 그러나 FPGA에서 컴퓨터로의 DMA 전송은 작동하지 않습니다. I는 칩 스코프를 통해 FPGA의 PCIe 의해 전송 된 패키지를 내리게 :FPGA PCIe DMA 쓰기가 CPU RAM을 변경하지 않음

(헤더) 0x6000_0002,0x0600_01FF (주소) 0x0000_0000,0x3740_0000 (데이터)를 메모리 어드레스 0x3740_0000에 0x1,0x2 작성해야 0x0000_0001,0x0000_0002

, 그러나 쓰기는 일어나지 않았다. 반면에 같은 주소에서 읽은 것은 완벽하게 작동했습니다. 32 비트와 64 비트 주소를 모두 시도했지만 성공할 수는 없습니다. 내가 작업하고있는 컴퓨터는 AMD 64 비트 머신입니다. 내가 놓친 게 무엇입니까?

+0

http://electronics.stackexchange.com/ – Marty

+0

에서 질문하는 것이 더 좋을 수도 있습니다. http://stackoverflow.com/questions/14217311/pcie-interrupt-routing – FarhadA

답변

1

64 비트 애드 트리 모드와 2의 길이로 작성하려고합니다. 32 비트 애드라이저로 길이를 1로 변경하십시오 (1 바이트의 DW를 쓰려면 0x0F로 설정하는 것을 잊어 버리십시오.). trn_tdst_rdy_n 무대 위에서 높이 올라간다. 프로그램에 해당 메모리를 할당 했습니까? 그리고 어떤 프로그램을 사용 했습니까? 성공적인 읽기 작업은 당신이 FPGA 측면에서 안전하다는 것을 의미하기 때문에 귀하의 문제는 메모리 관리와 관련이 있다고 생각합니다.

관련 문제