ts-7000
[Top] [All Lists]

[ts-7000] Re: [ts7400] program crash when writing GPIO data register

To:
Subject: [ts-7000] Re: [ts7400] program crash when writing GPIO data register
From: "mccarl1978" <>
Date: Fri, 07 May 2010 03:13:00 -0000

--- 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/

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU