On Thu, 28 Sep 2006, ntouchar wrote:
>
> I've had the O_SYNC flag : fd = open("/dev/mem", O_RDWR | O_SYNC ),
> but nothing change, the io stay at high level like if the io is in
> input mode neverthelesss, if I read the direction register is really
> in output mode ( PBDDR : 255, PEDDR : 255, PCDDR : 255, PDDDR : 255).
>
>
> --- In "Matt Godbolt" <> wrote:
> >
> >
> > > This is my test program :
> > >
> > > int main(int argc, char ** argv)
> > > {
> > > volatile unsigned int * PBDR, *PBDDR, *PEDDR, *PEDR,
^^^^^^^^^^^^
try using volatile unsigned char *
> > > *PFDDR,*PFDR,*PCDDR,*PCDR;
> > >
> > > unsigned char * start;
> > >
> > > int fd = open("/dev/mem", O_RDWR);
> > > start = mmap(0, getpagesize(), PROT_READ|PROT_WRITE,
> > > MAP_SHARED, fd,0x80840000);
> >
> > Part of your issue might be that you're opening /dev/mem without the
> > O_SYNC flag. This means the kernel is at liberty to give you a
> > pointer to cached memory, which might (at a push!) cause the kind of
> > issues you're experiencing. Worth giving it a go with O_RDWR|O_STAT
> > anyway!
> >
>
>
>
>
>
>
>
>
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/
|