Dear Mark,
> A Linux driver from a vendor would typically be started once when
Linux is booted.
Let me rephrase this, if what I understand is right.
Before doing anything, the card driver should be implemented or
supported by the vender (xxx.ko) then should be installed once when the
system startup.
. when system boot, the BIOS sees the PCI cards, it assigns the PCI card
address.
. insmod xxx.ko should be called once during system boot (this might not
be correct, maybe just only once then don't have to be called
anymore)???
. EPICS asyn driver call open/read/write/ioctl/close to access that
card, maybe different port for different card is better
My I right?
Thanks!
Jenny.
-----Original Message-----
From: Mark Rivers [mailto:[email protected]]
Sent: Thursday, October 04, 2007 7:41 PM
To: Jenny Chen; [email protected]
Subject: RE: Using Asyn driver or modifying devLib (or related programs)
of EPICSbase for any knid of cPCI cards
Hi Jenny,
> This is my problem I think. How to link one asyn driver for any card?
Or one driver for one card? Is there any example I can refer?
One asyn port driver per card, or one driver for all cards of a given
type, is an implementation decision. But typically one would use one
asyn port driver per card, and use the asyn "address" parameter to refer
to subaddresses on that card. For example, with a particular ADC card
model, there would be one asyn port driver per card, and the asyn
address would select which ADC (for example 0 to 15) to read. An
example of an asyn driver for a register-based ADC can be found at:
http://cars.uchicago.edu/software/epics/ip330.html
> Another question, Should we have to install all drivers before
startup EPICS at every boot
> (or EPICS init function does that) (the linux version is later then
2.6)?
That depends what type of driver you are talking about. The asyn driver
is typically started by a device-specific command that you write and
call from your EPICS startup script. A Linux driver from a vendor would
typically be started once when Linux is booted.
Mark
________________________________
From: Jenny Chen [mailto:[email protected]]
Sent: Wed 10/3/2007 9:47 PM
To: [email protected]; Mark Rivers
Subject: RE: Using Asyn driver or modifying devLib (or related programs)
of EPICSbase for any knid of cPCI cards
Dear Mark,
>- Using asyn driver. You can use asyn to write your driver whether or
not it uses register access, calls to a >vendor library, or some other
mechanism. In this context asyn is just a standardized interface
between EPICS >device support and your driver. This means that once you
write an asyn driver you should be able to use the >asyn device support
for standard records (ai, ao, bi, bo, etc.), and you don't need to write
your own device >support.
This is my problem I think. How to link one asyn driver for any card? Or
one driver for one card? Is there any example I can refer? Another
question, Should we have to install all drivers before startup EPICS at
every boot (or EPICS init function does that) (the linux version is
later then 2.6)?
Jenny
- Replies:
- RE: Using Asyn driver or modifying devLib (or related programs) of EPICSbase for any knid of cPCI cards Mark Rivers
- RE: Using Asyn driver or modifying devLib (or related programs) of EPICSbase for any knid of cPCI cards Emmanuel Mayssat
- References:
- RE: Using Asyn driver or modifying devLib (or related programs) of EPICSbase for any knid of cPCI cards Mark Rivers
- Navigate by Date:
- Prev:
Re: Strict Monotonic Breaktable checks Eric Norum
- Next:
asyn Array interrupts Heinrich du Toit
- 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
- Navigate by Thread:
- Prev:
RE: Using Asyn driver or modifying devLib (or related programs) of EPICSbase for any knid of cPCI cards Mark Rivers
- Next:
RE: Using Asyn driver or modifying devLib (or related programs) of EPICSbase for any knid of cPCI cards Mark Rivers
- 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
|