main.c
#include <stdio.h> #include <stdlib.h> #include <stdint.h> #include <string.h> #include <fcntl.h> #include <sys/mman.h> #include <unistd.h> #include <time.h> int main(int argc, char **argv) { int fd = open("/dev/mem", O_RDWR); if (fd < 0){ printf("failed to open /dev/mem\n"); return -1; } uint8_t *gpio = mmap(0, 0x10000, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0x1f000000 + 0x200000); printf("gpio table ptr: 0x%x\n", gpio); // gpio-11 = 0x20782c while (1) { printf("0x%x\n", gpio[0x782c] & 1); usleep(500000); } close(fd); return 0; }