Argonne National Laboratory

Experimental Physics and
Industrial Control System

<19941995  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  Index <19941995  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 
<== Date ==> <== Thread ==>

Subject: Logical Naming of Hardware Addresses
From: Andrew Johnson <anj@mail.ast.cam.ac.uk>
Date: Wed, 25 May 1994 13:09:35 BST
Hi,

I will be writing a driver for the VMIC 5578 Reflective Memory card (based on 
and extending Bob Daly's 5576 driver) and am looking into various questions 
about the functionality.  One question which I am looking at is how to allocate 
space within the Reflective Memory for the records which use this device.  My 
current solution may have a more general application than just to the Reflective 
Memory card, and I present it here for comments.

The existing 5576 driver uses a Page Number + Byte Offset addressing scheme, 
which is appropriate given that it only supports Analogue I/O records.  My 
driver will support other record types as well, which will take up differing 
amounts of space in memory.  I am considering whether the addressing scheme 
could/should be changed or enhanced to avoid the difficulties of having to 
calculate the Byte Offset value manually and to ensure that the same addresses 
are used in all the IOCs.

The approach I am suggesting is to have a file on the host which is read at 
initialisation and contains some form of Logical Name to Physical Address 
translation table.  The address itself could be explicitly stated, or implicit 
based on the position within the file and the previously declared names & types. 
The database designer would be able to use a name in place of the address, and 
the driver would do a name lookup at record initialisation time to find the 
physical address.  It should be possible to mix & match names with old-style 
addresses as desired.

I can see advantages in using this scheme for devices other than just the 
Reflective Memory - the physical configuration data is no longer held in the 
database, so it should be possible to separate logical (database) functions from 
physical addresses. I plan to include the name resolution in the driver support 
code for the 5578 driver.  If it could be moved to record support this could be 
even more flexible, but (ignoring the amount of work needed in changing the 
record types) I'm not sure if it is possible to change the device type in this 
way.

Anybody got any comments on this?  Would it work with the existing database 
tools?

  _        _                   _     _
 / \ ___ _| |_ _ ___ _   _    | |___| |_ ___ ___ ___ ___
| - |   | . | ~_| -_| |~| |  _| | . |   |   |_ -| . |   |
|_|_|_|_|___|_| |___|_____| |___|___|_|_|_|_|___|___|_|_|

anj@mail.ast.cam.ac.uk        Royal Greenwich Observatory
Tel +44 223-374823    Fax +44 223-374700    Cambridge, UK




Navigate by Date:
Prev: Re: DEC AXP VME boards winans
Next: Re: Logical Naming of Hardware Addresses watson
Index: <19941995  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 
Navigate by Thread:
Prev: Re: DEC AXP VME boards winans
Next: Re: Logical Naming of Hardware Addresses watson
Index: <19941995  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 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·