#include #include #include #include #include #include #include int main() { volatile u_int32_t *gpio; int dev_mem_fd; u_int32_t x; int i; dev_mem_fd = open("/dev/mem", O_RDWR | O_SYNC); if (dev_mem_fd < 0) { perror("open(\"/dev/mem\")"); exit(-1); } gpio = mmap(0, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, dev_mem_fd, 0xc8004000); if (gpio == MAP_FAILED) { perror("mmap"); exit(-1); } x = gpio[0]; printf("value is %.8x\n", x); for (i=0;i<1024*1048576;i++) // gpio[0] = x; x = gpio[2]; munmap((void *)gpio, 4096); return 0; }