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 2025 | 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 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Does EPICS support MVME3100 under Linux? |
From: | "Johnson, Andrew N. via Tech-talk" <tech-talk at aps.anl.gov> |
To: | "Dmitry Yu. Bolkhovityanov" <D.Yu.Bolkhovityanov at inp.nsk.su> |
Cc: | EPICS tech-talk <tech-talk at aps.anl.gov> |
Date: | Fri, 15 Oct 2021 16:40:22 +0000 |
Hi Dmitry,
On Oct 15, 2021, at 2:40 AM, Dmitry Yu. Bolkhovityanov via Tech-talk <tech-talk at aps.anl.gov> wrote:
The EPICS devLib API can be used on Linux if you have a suitable implementation of the target-specific support for it (a
struct devLibVME object with pointers to the necessary routines). However there certainly isn’t one included with EPICS for Linux on the MVME3100 board, and I’m not sure if anyone else in the community has ever developed one.
In general Linux won’t have good support for VME interrupts because the IOC runs as a regular process in user space and no matter how the associated kernel driver signals the arrival of an interrupt to user-space it will not be fast.
RTEMS isn’t mandatory, but it might be the easiest way to control VME I/O devices from that board.
Not personally. Be aware that most existing EPICS drivers for VME I/O cards have been written for big-endian CPUs (m68k and/or PowerPC) and might need changes to work on little-endian CPUs (Intel/AMD) to swap the byte order when accessing registers
on other VME cards. Some VME interfaces perform byte-swapping automatically though, so it may depend on the specific CPU board whether you need to do that or not.
- Andrew
--
Complexity comes for free, simplicity you have to work for.
|