rendered paste bodygs@gs:~$ cat ide.c
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <sys/types.h>
#include <time.h>
#include <unistd.h>
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;
}