#include #include #include #include #include #include #include #include #include #include int main(int argc, char *argv[]) { size_t len; int fd, i; void *ptr; uint32_t *val; if (argc != 3) { fprintf(stderr, "usage: %s \n", argv[0]); return -1; } len = atoi(argv[2]); fd = open(argv[1], O_RDONLY); if (fd == -1) { fprintf(stderr, "open failed: %s\n", strerror(errno)); return errno; } ptr = mmap(NULL, len, PROT_READ, MAP_SHARED, fd, 0); if (ptr == MAP_FAILED) { fprintf(stderr, "mmap failed: %s\n", strerror(errno)); return errno; } val = ptr; len = len / sizeof(uint32_t); for (i = 0; i < len; i += 4) { printf("%08x: 0x%08x 0x%08x 0x%08x 0x%08x\n", i * 4, val[i], val[i+1], val[i+2], val[i+3]); } munmap(ptr, len); /* ignore any errors, we don't care */ close(fd); return 0; }