Subject: |
NI-1014 GPIB and RISC CPUs (PowerPC, SPARC etc). |
From: |
Andrew Johnson <[email protected]> |
To: |
EPICS tech-talk <[email protected]> |
Date: |
Thu, 30 Aug 2001 16:01:48 -0500 |
We have just tracked down a problem in the EPICS code that drives the
National Instruments NI-1014 board when used with a RISC CPU such as the
PowerPC. A struct containing a pointer and a short was used to define a
6-byte DMA chaining table entry which is directly accessed in memory by
the DMA hardware. On RISC CPUs like the PowerPC the size of this
structure is 8 bytes rather than 6 due to CPU alignment rules, thus DMA
chaining on the 1014 card didn't work and the device support would always
timeout. This problem does not occur with 68K-based CPU cards.
There was also a bug in the driver's check for message length. The
maximum length of a GPIB message through the NI-1014 driver is 65534
characters, but the code would only reject requests for exactly 65535
characters (check the integer length argument, not the unsigned short
variable it was copied into...).
New versions of the GPIB support that works with PowerPC hardware will be
in the next release of EPICS 3.13. This support code is unbundled in
EPICS 3.14; the relevent changes will be passed to the maintainer.
- Andrew
--
The world is such a cheerful place when viewed from upside-down
It makes a rise of every fall, a smile of every frown
- Navigate by Date:
- Prev:
Re: alarm handler confusion (and solution) Maren Purves
- Next:
Re: alarm handler confusion (and solution) Janet Anderson
- 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: A gmake problem in R3.13.4 Janet Anderson
- Next:
[no subject] Bob Dalesio
- 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
|