EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RAMIX RM139 memory board and PowerPC
From: Pedro Gigoux <[email protected]>
To: Tech-Talk <[email protected]>
Date: Fri, 27 Apr 2001 17:36:22 -0500
Hi,

We have a Ramix RM139m memory board working with an mv167 CPU and we now
want to use it with a PowerPC. Has anyone tried this before?

Attached to this message are the modifications made to all/usrConfing.c
and mv167/sysLib.c to make the RAMIX board work with the mv167. Any
suggestions on how to get it done with the PowerPC will be appreciated.

Thank you,

Pedro Gigoux
Gemini Observatory
-- all/usrConfig.c modifications

#define SHORTIO     0xffff0000
#define RM139SHORT  (SHORTIO + 0x0100)

void usrInit 
    (
    int startType
    )

    {
#if	(CPU_FAMILY == SPARC)
    excWindowInit ();				/* SPARC window management */
#endif

    int index;
    unsigned short *target;

    /*
      Initialization values for RAMIX RM139 Memory board - KJR
    */
    int rm139Config[7][2] = 
    {{(RM139SHORT + 0x00), 0x0040}, /* R0  VME Low        */
     {(RM139SHORT + 0x02), 0x00C0}, /* R1  VME High       */
     {(RM139SHORT + 0x04), 0x3b39}, /* R2  A24 Add. Mod.  */
     {(RM139SHORT + 0x06), 0x38},   /* R3  A24/D64 Mod.   */
     {(RM139SHORT + 0x08), 0x0b0d}, /* R4  A32 Add. Mod.  */
     {(RM139SHORT + 0x0a), 0x08},   /* R5  A32/D64 Mod.   */
     {(RM139SHORT + 0x16), 0x00}};  /* R11 Parity Control */

    /* 
       Initialize RM139 memory board with 64 MB of memory.
       This code based on an example from the RM139 User's Manual - KJR
    */

    for(index = 0;index < 7;index++)
      {
	target = (unsigned short *) rm139Config[index][0];
	*target = rm139Config[index][1];
      }

    ....
}

void usrRoot
    (
    char *	pMemPoolStart,		/* start of system memory partition */
    unsigned	memPoolSize		/* initial size of mem pool */
    )
    {
    int  ix;

    /* Initialize the memory pool before initializing any other package.
     * The memory associated with the root task will be reclaimed at the
     * completion of its activities.
     */

#ifdef INCLUDE_MEM_MGR_FULL
    memInit (pMemPoolStart, memPoolSize);	/* initialize memory pool */
#else
    memPartLibInit (pMemPoolStart, memPoolSize);/* initialize memory pool */
#endif /* INCLUDE_MEM_MGR_FULL */

#ifdef	INCLUDE_SHOW_ROUTINES 
    memShowInit ();				/* initialize memShow routine */
#endif	/* INCLUDE_SHOW_ROUTINES */

#if	defined(INCLUDE_MMU_BASIC) || defined(INCLUDE_MMU_FULL)
    usrMmuInit ();				/* initialize the mmu */
#endif	/* defined(INCLUDE_MMU_BASIC) || defined(INCLUDE_MMU_FULL) */


    /* Define RAMIX memory board to system - kjr */
    memAddToPool((char *)0x4000000, 0x8000000); 
    
    ...
}
-- mv167/sysLib.c modifications

PHYS_MEM_DESC sysPhysMemDesc [] =
    {
    /* adrs and length parameters must be page-aligned (multiples of 0x2000) */

    /* ram */
    {
    (void *) LOCAL_MEM_LOCAL_ADRS,
    (void *) LOCAL_MEM_LOCAL_ADRS,
    0x1000000,				/* 16 Mbytes (adjust if necessary) */
    VM_STATE_MASK_VALID	| VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE,
    VM_STATE_VALID	| VM_STATE_WRITABLE	 | VM_STATE_CACHEABLE
    },

    /* vme  64 Mbytes - RAMIX board */
    {  
    (void *) 0x4000000,  
    (void *) 0x4000000,  
    0x8000000,				  
    VM_STATE_MASK_VALID	| VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE,  
    VM_STATE_VALID	| VM_STATE_WRITABLE	 | VM_STATE_CACHEABLE_NOT  
    },  
 
    ...
}

Navigate by Date:
Prev: Re: devVXStats and task crash Marty Kraimer
Next: Re: dbCaLink and broadcast messages Kevin Tsubota
Index: 1994  1995  1996  1997  1998  1999  2000  <20012002  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: dbCaLink and broadcast messages Kevin Tsubota
Next: EPICS Meeting next week Kay-Uwe Kasemir
Index: 1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
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 ·