On Jul 28, 2006, at 1:35 PM, scott wrote: > ptr = MAP_FAILED; // Initialize to bad value > ptr = (int *) mmap(0, 256, PROT_READ|PROT_WRITE, MAP_SHARED, fd, > USER_LOGIC_BASEADDR);
Well, this isn't going to detect an error, since the error code
is returned instead of an address.
>
> if(ptr==MAP_FAILED) {
if ((int)ptr == -1) {
> printf("Err: cannot access address!\n");
> return -1;
> }
>
> .... Any other thoughts?
Your mmap is failing because the size is not modulo PAGE_SIZE.
-- Dan
