EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024 
<== Date ==> <== Thread ==>

Subject: RTEMS 5 Cannot Read Event Generator
From: chengsn via Tech-talk <tech-talk at aps.anl.gov>
To: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Wed, 17 Aug 2022 17:03:43 +0800 (GMT+08:00)

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


Replies:
Re: RTEMS 5 Cannot Read Event Generator Pietryla, Tony via Tech-talk
Re: RTEMS 5 Cannot Read Event Generator Andrew Johnson via Tech-talk
Re: RTEMS 5 Cannot Read Event Generator Hamadyk, Paul (DLSLtd, RAL, LSCI) via Tech-talk

Navigate by Date:
Prev: Re: PVs in galil-3-6 Mark Rivers via Tech-talk
Next: Re: RTEMS 5 Cannot Read Event Generator Pietryla, Tony via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024 
Navigate by Thread:
Prev: Re: Stream error when drive motro Mark Rivers via Tech-talk
Next: Re: RTEMS 5 Cannot Read Event Generator Pietryla, Tony via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024