nn-usb-fpga/Examples/ADC/Test-QT-src/jz47xx_mmap.cpp

40 lines
674 B
C++

/*
* JZ47xx GPIO lines
*
* Written 2010 by Andres Calderon andres.calderon@emqbit.com
*/
#include <stdio.h>
#include <sys/mman.h>
#include <fcntl.h>
#include <stdlib.h>
#include <termios.h>
#include <unistd.h>
#include <jz47xx_mmap.h>
unsigned int *
jz_mmap (off_t address)
{
int fd;
unsigned int *pio;
if ((fd = open ("/dev/mem", O_RDWR | O_SYNC)) == -1)
{
fprintf (stderr, "Cannot open /dev/mem.\n");
return 0;
}
pio = (unsigned int *) mmap (0, getpagesize (), PROT_READ | PROT_WRITE, MAP_SHARED, fd, address);
if (pio == (unsigned int *) -1)
{
fprintf (stderr, "Cannot mmap.\n");
return 0;
}
return pio;
}