EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  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  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: re: "A32 RegisterAddress error" about Hytec8401
From: "liuping" <[email protected]>
To: <[email protected]>
Date: Mon, 22 Jun 2009 11:42:00 +0800
Yes, it is the first time to use a card that responds in the VME A32 space
for me. My VME CPU is mvme5500. I find out some information about
VME_A32_MSTR_BUS and VME_A32_MSTR_SIZE in the files config.h and mv5500A.h .

The information showed below was taken from mv5500A.h:
/* VME A32 outbound (master)  - note ...MSTR_SIZE defined in "config.h" */

#define VME_A32_MSTR_LOCAL      ((VME_A24_MSTR_LOCAL - VME_A32_MSTR_SIZE)
&\				  0xfff00000)

#define VME_A32_MSTR_BUS	0x08000000

/* VME A32 Inbound (slave) mapping for node 0 only - maps all of DRAM */

#define VME_A32_SLV_BUS		VME_A32_MSTR_BUS
#define VME_A32_SLV_LOCAL	LOCAL_MEM_LOCAL_ADRS
#define VME_A32_SLV_SIZE  (((ULONG)sysPhysMemTop()) -
(LOCAL_MEM_LOCAL_ADRS))

#define VME_MEM_LOCAL_START	VME_A32_MSTR_LOCAL
#define VME_MEM_LOCAL_SIZE	(VME_MEM_LOCAL_END - VME_MEM_LOCAL_START)

The information showed below was taken from config.h:
/** VME Memory Mapping size Definitions  - note:  See "mv5500A.h" for
commentary
 * regarding PCI-VME and VME-PCI mappings. */

#define VME_A32_MSTR_SIZE       0x08000000      /* 128 MB */
#define VME_A24_MSTR_SIZE       0x01000000      /* 16 MB */
#define VME_A16_MSTR_SIZE	0x00010000	/* 64k */

Is there anything wrong?
By the way, without the experience of building vxWorks, setting up EPICS
base and writing any device' driver, how can I do deeply to understand the
working mechanism of EPICS? My biggest aim is to learn how to write driver
codes for new hardware, even I know it is a very difficult road for a
beginner.

Best wishes,

LIU Ping 
-------------------------------------------------------------------------
From: Andrew Johnson [mailto:[email protected]] 
Send: 2009年6月16日 22:28
to: [email protected]
to: Michael Abbott; liuping
subject: Re: "A32 RegisterAddress error" about Hytec8401

Hi Liu Ping,

On Tuesday 16 June 2009 03:39:57 Michael Abbott wrote:
> However, the problem is nothing to do with the 8401...

I agree with Michael, this is not a problem with the 8401 driver and it may 
not be one with the 8002 driver either.

Is this the first time you have tried to use a card that responds in the VME

A32 space?  If so I would guess that the problem is that your vxWorks BSP 
needs to be configured to map the relevent portion of VME A32 space into the

CPU's memory map.  The error message is occurring because the driver is 
asking the vxWorks BSP to give it the CPU address corresponding to a 
particular VME A32 address, but the BSP is replying that there is no such
CPU 
address because the BSP is not configuring the VME Bridge chip with any A32 
Master windows that cover that range.

Read the target.txt file in your target/config/<bsp> directory, it should 
document the window mappings.  Look for the VME_A32_MSTR_BUS and 
VME_A32_MSTR_SIZE variables; you may be able to just modify them and rebuild

the BSP, but don't just make the window as large as possible because that
can 
significantly slow down the startup of the vxWorks image at boot time and 
also use up memory in MMU page tables.

I can't give you any specific advice because I don't know what VME CPU board

you are using, and I only know about a limited number of BSPs anyway.

- Andrew
-- 
The best FOSS code is written to be read by other humans -- Harold Welte



Replies:
RE: "A32 RegisterAddress error" about Hytec8401 Rees, NP (Nick)
References:
Re: "A32 RegisterAddress error" about Hytec8401 Andrew Johnson

Navigate by Date:
Prev: Re: A problem about edm ??
Next: RE: "A32 RegisterAddress error" about Hytec8401 Rees, NP (Nick)
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: "A32 RegisterAddress error" about Hytec8401 Dirk Zimoch
Next: RE: "A32 RegisterAddress error" about Hytec8401 Rees, NP (Nick)
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 31 Jan 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·