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
<2009>
2010
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
<2009>
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|