--------------------------------------------------------------------------------- 징크 리눅스 pl330 DMA 출처 - http://www.wiki.xilinx.com/Zynq+Linux+pl330+DMA --------------------------------------------------------------------------------- 징크-7000 제품군 프로세서 블럭은 커스텀 하드웨어 주변 장치 및 외부 메모리 사이의 처리랼을 향상하는데 사용할 수 있는 PL330 DMA 컨트롤러 8개 채널을 포함한다. 자일링스는 자체적으로 PL330 DMA 컨트롤러를 사용하기 위해 리눅스 드라이버를 제공하지만 당신의 응용프로그램을 사용하기 위해서는 당신이 만드는 응용프로그램을 구성하기 위한 커스텀 소프트웨어 드라이버를 만들어야 한다. 이 페이지는 리눅스 사용자 영역과 자일링스 AXI Streaming FIFO와 비슷한 FIFO 기반의 AXI 인터페이스간의 DMA기반의 전송을 설명하는 드라이버 예제를 제공한다. PL330 DMA Driver의 사용 리눅스 PL330 DMA API는 ISA DMA API를 참조했으며, 디바이스와 메모리 간의 DMA 전송을 수행한다. 이때 메모리 영역은 고정된 주소를 갖는다. 소스와 destination bust size, bust length, 보호 제어등 과 같은 DMA transaction 의 다양한 파라미터를 구성하는 것은 드라이버에 의해 제공되는 외부 기능을 통해 전달된다. 드라이버는 PL330 DMA 프로그램을 구성하고, 프로그램을 실행하기 위한 PL330자체로 제어를 전달한다. 당신은 target 디바이스와 DMA 전송의 목표 영역을 위해 AXI 버스 transaction 구성을 세울 필요가 있다. 당신은 pl330_client_data 구성과 set_p...