Chengsn,
I don’t know what version of EVG you have, but I know the EVM300 uses VME64 geographical addressing. Make sure your EgConfigure() statement matches the VME slot that the card is installed in. Also, not that this device requires a VME64x
crate.
Hello all,
I try to running the mrfEventSystem driver with EPICS 7 on RTEMS 5. After modifying part of the code, the driver can read the EVR(EVent Reciever) Card, and it works well. But when I run the driver and use the EVG(EVent Generator),
I get this error: EgConfigure: Unable to read Event Generator Card 0 (slot 3) at VME/A24 address 0x1800000.
In st.cmd file, the configuration for the EVG is
EgConfigure(0, 3, 0x1800000). When I change the OS from RTEMS to vxWorks(on MVME6100 and MVME5500), the driver can read the EVG.
Here is the hardware I am using:
EVG: VME-EVG-230.
EVR: VME-EVG-230-RF.
Single board computer: MVME6100 and MVME5500.
The software:
mrfEventSystem Driver Version: MRF Series 200 Event System Software Release V2-4.
EPICS Version: 7.0.6.1
RTEMS Version: 5
I also compared the difference between the return value of EVG and EVR in the process of calling the function devReadProbe()(devReadProbe(sizeof(epicsUInt16), pEg, &Junk) and devReadProbe(sizeof(epicsUInt16), pEr, &Junk)).The source
of the difference in the return value of devReadProbe() is that the return value of the RTEMS function _BSP_clear_hostbridge_errors() is different. The function as follows:
unsigned long
_BSP_clear_hostbridge_errors(int enableMCP, int quiet)
{
unsigned long
rval;
/* MCP is not connected */
if ( enableMCP )
return -1;
rval = (clear_hose_errors(0, quiet) & PCI_ERR_BITS)>>8;
rval |= clear_hose_errors(BSP_pci_hose1_bus_base, quiet) & PCI_ERR_BITS;
/* Tsi148 doesn't propagate VME bus errors to PCI status reg. */
if ( _BSP_clear_vmebridge_errors )
rval |= _BSP_clear_vmebridge_errors(quiet)<<16;
return rval;
}
(ret = _BSP_clear_hostbridge_errors(0,1); )
The ret is return value of the bspExtMemProbe().
The value of ret: EVR returns 0; EVG returns 0x88FD0000 (in vxWorks and RTEMS,
sizeof(long) = 8).
Do you have any suggestions?
Thank you!
chengsn
IHEP