11913091 |
1 | #include <stdio.h> |
306e06f7 |
2 | #include <stdlib.h> |
11913091 |
3 | #include <sys/types.h> |
4 | #include <sys/stat.h> |
5 | #include <fcntl.h> |
6 | #include <sys/mman.h> |
dc90c02d |
7 | #include <sys/ioctl.h> |
8 | #include <signal.h> |
11913091 |
9 | |
306e06f7 |
10 | int main(int argc, char *argv[]) |
11913091 |
11 | { |
12 | volatile void *memregs; |
13 | int memdev; |
86418a84 |
14 | int i; |
11913091 |
15 | |
306e06f7 |
16 | printf("hi, home=%s\n", getenv("HOME")); |
17 | |
18 | for (i = 0; i < argc; i++) |
19 | printf("%d \"%s\"\n", i, argv[i]); |
11913091 |
20 | |
21 | memdev = open("/dev/mem", O_RDWR); |
306e06f7 |
22 | if (memdev < 0) { |
23 | perror("open"); |
24 | return 1; |
25 | } |
26 | |
11913091 |
27 | memregs = mmap(NULL, 0x10000, PROT_READ|PROT_WRITE, MAP_SHARED, memdev, 0xc0000000); |
dc90c02d |
28 | ioctl(-1, 0); |
29 | signal(7, SIG_DFL); |
86418a84 |
30 | |
31 | for (i = 0; i < 2; i++) |
32 | printf("%02x %04x %08x\n", ((char *)memregs)[0x2011], |
33 | ((short *)memregs)[0x1198/2], ((int *)memregs)[0xbcdc/4]); |
34 | |
11913091 |
35 | //sleep(1000); |
36 | |
37 | return 0; |
38 | } |
39 | |