gs@gs:~$ cat ide.c #include #include #include #include #include #include #include int main() { volatile u_int8_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, 0x51000000); if (gpio == MAP_FAILED) { perror("mmap"); exit(-1); } printf("Print Dumping IDE regs as bytes\n", x); for (i=0;i<64;i++) { x = gpio[i]; printf("Reg[%.8x] value is %.8x\n", i, x); } munmap((void *)gpio, 4096); return 0; }