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/MVME2100 OMS58 card does not exist! error |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | 'Ralph Lange' <ralph.lange at gmx.de> |
Cc: | "tech-talk at aps.anl.gov \(tech-talk at aps.anl.gov\)" <tech-talk at aps.anl.gov> |
Date: | Fri, 11 Sep 2020 16:28:19 +0000 |
Hi Michael, Ø
You have to find out their addresses under RTEMS and adapt the arguments to the driver setup call in your st.cmd accordingly. I don’t think that is true, the driver hides that by mapping the VME address (which should be the same on vxWorks and RTEMS) to the CPU address. The current master branch of drvOms58.cc contains this: #ifdef vxWorks status = devRegisterAddress(__FILE__, OMS_ADDRS_TYPE, (size_t) probeAddr, OMS_BRD_SIZE, (volatile void **) &localaddr); Debug(9, "motor_init: devRegisterAddress() status = %d\n", (int) status); if (!RTN_SUCCESS(status)) { errPrintf(status, __FILE__, __LINE__, "Can't register address 0x%x\n", (unsigned int) probeAddr); return(ERROR); } #endif So it uses devLib to map the VME address (from the startup script) to a local CPU address. That should make the startup script OS-independent. But notice that this is in an ifdef for vxWorks. There is a recent pull request to remove that vxWorks dependency. Which version of the code you are running? Mark From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of Ralph Lange via Tech-talk The different VME address spaces are being mapped into the address space of the CPU through different "address windows". While the same jumper setting will have each card at the same location in the VME address space, the mapping into the CPU address space is different between RTEMS and VxWorks. You have to find out their addresses under RTEMS and adapt the arguments to the driver setup call in your st.cmd accordingly. Cheers, |