#include #include #include #include int main() { int fd,i; unsigned char * mem1, *mem2; const int size = 2 * 1024 * 1024; unsigned long addrphys = 254 * 1024 * 1024; mlockall(MCL_CURRENT| MCL_FUTURE); if ((fd = open("/dev/mem", 02) ) < 0) { printf("can't open /dev/mem \n"); exit (-1); } mem1 = (unsigned char *) mmap((void *)0,size ,PROT_READ | PROT_WRITE,MAP_SHARED , fd, addrphys); if (mem1) memset(mem1,0, size-1); printf("%d",(int) mem1); if (mem1) { for (i=0; i < (size-1); i++) { printf("%x ", *(mem1 +i)); } printf("\n\r"); } munmap((void *)mem1,size ); close(fd); }