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 <2022> 2023 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 <2022> 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: RTEMS 5 Cannot Read Event Generator |
From: | "Pietryla, Tony via Tech-talk" <tech-talk at aps.anl.gov> |
To: | "chengsn at ihep.ac.cn" <chengsn at ihep.ac.cn>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Wed, 17 Aug 2022 12:09:05 +0000 |
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. Thanks, Tony On 8/17/22, 4:03 AM, "Tech-talk on behalf of chengsn via Tech-talk" <tech-talk-bounces at aps.anl.gov on behalf of
tech-talk at aps.anl.gov> wrote: 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 (ret = _BSP_clear_hostbridge_errors(0,1); ) The ret is return value of the bspExtMemProbe().
Do you have any suggestions? Thank you! chengsn IHEP |