Skip to content
Snippets Groups Projects
main_pcie40_dma.c 1004 B
Newer Older
Patrick Robbe's avatar
Patrick Robbe committed
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include "altera_dma_regs.h"
Patrick Robbe's avatar
Patrick Robbe committed

int main (int argc ,char** argv) {
  int res = ecs_open( 0 , 0 ) ;
  if ( -1 == res ) printf("ERROR: Could not open device (BAR 0)\n") ;
  else printf("SUCCESS: Device opened for DMA\n");
  res = ecs_open( 0 , 2 ) ; 
  if ( -1 == res ) printf("ERROR: Could not open device (BAR 2)\n") ;
  else printf("SUCCESS: Device opened for ECS\n");
  // Read DMA
  res = pcie40_b2dmabufferreset( 0 ) ;
  unsigned int * data ; 
  res = pcie40_b2dmapointerread( 0 , &data ) ;
  int i = 0 ;
  if ( res == 0 ) printf( "DMA Error\n" ) ;
  else {
    for (i= 0 ;i < DMASIZE;i++) printf("0X%08x\n",data[i]);
  }
  // 
  res = ecs_close( 0 , 0 ) ;
  if ( -1 == res ) printf("ERROR: Could not close device (BAR 0)\n");
  else printf("SUCCESS: Device closed for DMA\n");
  res = ecs_close( 0 , 2 ) ;
  if ( -1 == res ) printf("ERROR: Could not close device (BAR 2)\n");
  else printf("SUCCESS: Device closed for ECS\n");
Patrick Robbe's avatar
Patrick Robbe committed
  return 0 ;
}