ts-7000
[Top] [All Lists]

Re: [ts-7000] PLD registers, still not getting access to memory regs

To:
Subject: Re: [ts-7000] PLD registers, still not getting access to memory regs
From: Curtis Monroe <>
Date: Fri, 1 Sep 2006 12:03:46 -0400
Search previous posts for the use of the "volatile" keyword.

-Curtis.


On September 1, 2006 09:05 am, mattsaintdev wrote:
> Hi,
> posted a similar request a few weeks ago but after help still not 
> getting a handle to the PLD registers of the video card.
> 
> Once problem was that i needed to be SU to do an open on "dev/mem" 
> but still the pointer to "pld_regs=(unsigned char *)mmap(" is 
> returning a -1. Checked page size btw which is 4096.
> 
> I dont have a problem mapping the video buffer though?
> 
> Code below, any suggestions?
> 
> Thanks
> 
> Matt
> 
> 
> 
> 
> #include <unistd.h>
> #include <sys/types.h>
> #include <sys/mman.h>
> #include <stdio.h>
> #include <stdlib.h>
> #include <fcntl.h>
> 
> volatile unsigned char *pld_regs;
> 
> 
> int main(int argc, char **argv)
> {
> 
>    char base7;
>    int mem_handle=open("/dev/mem", O_RDWR | O_SYNC);
>    //
>    // 0x11E0_0000 = PLD Register base address
> 
>    printf("mem handle = %d\n", mem_handle);
> 
>    pld_regs=(unsigned char *)mmap(0, 4096 , PROT_READ|PROT_WRITE, 
> MAP_SHARED, mem_handle, 0x11E00000);
> 
> 
>    if ((int)pld_regs=-1) {
>       printf("MMap failed.\n Page size = %d\n",getpagesize() );
>       exit(1);
>    }
>    //
>    //
>    //
>    //
>    printf("TS-7KV Register settings probe \n");
>    printf("------------------------------ \n\n");
>    printf("BASE+0 Board ID #1 = %X (documented as 0x41)\n", pld_regs
> [0xE0] );
>    printf("BASE+1 Board ID #2 = %X (documented as 0x20)\n", pld_regs
> [0xE1] );
> 
>    base7=pld_regs[0xE7];
>    if (base7 & 0x80) printf("ADC option is installed\n");
>    if (base7 & 0x40) printf("CAN option is installed\n");
>    if (base7 & 0x20) printf("J5 Set\n");
>    if (base7 & 0x10) printf("J4 Set\n");
>    if (base7 & 0x08) printf("J3 Set\n");
>    if (base7 & 0x04) printf("J2 Set\n");
>    if (base7 & 0x02) printf("J1 Set\n");
>    //
>    //
>    return 0;
> }
> 
> 
> 
> 


 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

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