The message 'assertion fd != -1' means that the open of /dev/mem failed. This
is probably because you are not root. The fact that your prompt is $ instead
of # is an indication that this is probably the case.
--- In "vidhyaverma88" <> wrote:
>
> I am using ts7800 board I am usind SD card for booting ,when I run below
> adc code I got the error:
>
> :~$ ./adc
> adc: adc.c:13: main: Assertion `fd != -1' failed.
> Aborted
>
> how to remove this error.
>
> CODE:
> #include<unistd.h>
> #include<sys/types.h>
> #include<sys/mman.h>
> #include<stdio.h>
> #include<fcntl.h>
> #include<assert.h>
> int main(int argc, char **argv)
> {
> volatile unsigned short * complete;
> volatile unsigned char * lsb, * msb, * control;
> int res;
> int fd = open("/dev/mem", O_RDWR);
> assert(fd != -1);
> lsb = control = (unsigned char *)mmap(0, getpagesize(),
> PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0x10c00000);
> msb = lsb + 1;
> complete = (unsigned short *)mmap(0, getpagesize(),
> PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0x10800000);
> *control = 0x41;
> while ((*complete & 0x80) != 0);
> res = *lsb;
> res |= *msb << 8;
> printf("result: %d\n", res);
> close(fd);
> return 0;
> }
>
------------------------------------
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/
|