[Date Prev][Date Next][Date Index]

problems w/ 2532A BI/BO board and tornado/mv2700




I'm having a bit of a problem getting the driver support for a VMIC 2532A 
digital i/o board working w/ tornado 2.02 + an mvme2700 cpu. It worked fine 
w/ a mv162 and vxworks 5.2. Essentially what happens is that 
sysBusToLocalAdrs returns w/ no error, and returns the correct address (I 
think), but then vxMemProbe doesn't find the card at the expected address. 
I'd guess it has to do w/ some VME memory mapping issue that I don't 
understand. I have the following:

unsigned long *vmi2532a_addr;
.....
         if ((status = sysBusToLocalAdrs(VME_AM_SUP_SHORT_IO,(char *) 
bi_addrs[VMI2532A_BI],
(char **) &vmi2532a_addr)) != OK){
            printf('Addressing error in vmi2532a driver\n');
            return ERROR;
         }
.....
         if (vxMemProbe((char *) vmi2532a_addr,READ,sizeof(unsigned 
long),(char *) &pval) == OK) {
           printf('Found VMIVME 2532A at address %x\n',vmi2532a_addr);
           ...
          }
          else{
           printf('No VMIVME 2532A card at address %x\n',vmi2532a_addr);
          }
.....

The call to sysBusToLocalAdrs seems to go ok, as I don't get the error msg 
and it doesn't return. However, the call to vxMemProbe apparently returns 
an error, and the 'else' block executes. The output of the second printf 
shows that vmi2532_addr has a value I think should be correct, namely 
fbffa000 (card's jumpers => a000).

I'd appreciate any help.
thanks
dale

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Dale L. Brewe     PNC-CAT/U. of Washington
  ph: 630 252 0582         fax: 630 252 0580
  Mail:
  Argonne National Laboratory
  Bldg 435E sector 20
  9700 S. Cass Ave.
  Argonne, IL 60439
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~