--- In "yuezhu92" <> wrote:
> int fd = open("/dev/mem", O_RDWR|O_SYNC);
>
> char* page1 = (char *)mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd,
> 0x12c00000);
>
> page1[3] = 0xff; //error! program crash
>
You should add some error checking code to check the return values of the
'open' and 'mmap' calls, to see which one is failing. And then you can check
the value of a variable called 'errno' to get more information on why a call is
failing. You can use 'perror' for this. For example:
int fd = open("/dev/mem", O_RDWR|O_SYNC);
if(fd == -1)
{
perror("MyFunction (open)");
return; //exit(-1);
}
char* page1 = (char *)mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd,
0x12c00000);
if(page1 == (char *) MAP_FAILED)
{
perror("MyFunction (mmap)");
return; //exit(-1);
}
page1[3] = 0xff; //error! program crash
Cheers
Phil
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|