/* phat patch! woo -bushing */ #include #include #include #include #include #include #include int main(int argc, char *argv[]) { int fd_mem; unsigned int addr; unsigned short val; volatile unsigned short *flash; printf("Test program...\n"); if (argc<=1) { printf("Usage: %s addr val\n", argv[0]); exit(-1); } if ((fd_mem = open("/dev/mem", O_RDWR |O_SYNC)) < 0) { perror("Can not open /dev/mem"); exit(1); } flash = mmap((void *)0x00000000, 0x20000, PROT_WRITE | PROT_READ, MAP_SHARED, fd_mem, (off_t) (0x00000000)); if (flash == MAP_FAILED) { perror("Error MMAP /dev/mem"); exit(1); } sscanf(argv[1], "%i", &addr); printf("Setting 0x%08x is 0x%04x\n", addr, flash[addr]); munmap((void *) flash, 0x20000); close(fd_mem); return 0; }