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: "Rees, NP (Nick)" <[email protected]>
To: "liuping" <[email protected]>, <[email protected]>
Date: Mon, 22 Jun 2009 09:34:39 +0100
LIU Ping,

We use a lot of Hytec on our 5500's and have the fololowing changes in mv5500A.h and config.h:

#define VME_A32_MSTR_BUS        0x00800000  /* This is in mv5500A.h */

#define VME_A32_MSTR_BUS      0x00800000 /* This is in config.h */

I hope this helps

Cheers,

Nick Rees
Principal Software Engineer           Phone: +44 (0)1235-778430
Diamond Light Source                  Fax:   +44 (0)1235-446713 

> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] On Behalf Of liuping
> Sent: 22 June 2009 04:42
> To: [email protected]
> Subject: re: "A32 RegisterAddress error" about Hytec8401
> 
> 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
> 
> 
> 
-- 
Scanned by iCritical.

References:
Re: "A32 RegisterAddress error" about Hytec8401 Andrew Johnson
re: "A32 RegisterAddress error" about Hytec8401 liuping

Navigate by Date:
Prev: re: "A32 RegisterAddress error" about Hytec8401 liuping
Next: RE: MVME 5500 GOURNAY Jean-Francois
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 liuping
Next: re: "A32 RegisterAddress error" about Hytec8401 liuping
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 ·