This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: AEB-1 RAM extendable?
- To: jskov at redhat dot com
- Subject: RE: [ECOS] AEB-1 RAM extendable?
- From: Andreas dot Karlsson at combitechsystems dot com
- Date: Thu, 19 Oct 2000 08:48:43 +0200
- Cc: ecos-discuss at sourceware dot cygnus dot com
Hi,
I got this answer on my question on how to expand the RAM on AEB-1. So now
there is hope again for my master thesis :)
Anyway what do I have to change in the eCos sources when doing this
expansion?
brgds
Andreas
>-----Original Message-----
>From: Neil Puthuff [mailto:neil@ghs.com]
>Sent: Monday, April 05, 1999 1:45 PM
>To: ARM Evaluation Board - List Server
>Subject: [aeb] EASY 1MB RAM expansion for the AEB-1
>
>
>Hi all,
>
>I have a (somewhat) easy way to give your AEB-1 board an additional
>512K x 16 of SRAM.
>
>Components needed:
>----------------------------------------------------------------
>(2) 512K x 8 SRAM, select a speed that is reasonable for your
> needs and budget.
> I ordered from Digi-Key ( http://www.digikey.com ) the Toshiba
> TC554001FL-70, which is slow at 70nS, but only costs $17.60 each.
>
>(as needed) Wire and solder.
>
>
>Installation:
>----------------------------------------------------------------
>These 2 RAM chips are to be mounted piggy-back style on top of
>the two SRAM
>IC's that are already on the AEB-1. All of the leads of the new RAM IC's
>(with the exception of pins 1, 2, 22, and 30) are to be soldered to the
>corresponding pins of the SRAM IC's they are mounted on.
>
>OK, there is one part of this that is a little scary: you will need to
>flatten the S-curved leads of the SOIC RAM package so they're straight and
>can reach the pins of the IC below. Also, you will need a steady hand to
>solder the pins. Avoid coffee.
>
>This will connect all of the Data bus (D0--D15), most of the Address bus
>(A1--A16), plus /OE, /WR, Power and GND.
>This leaves only 8 wires that need to be manually connected to
>complete the
>expansion. Here is a list of the connections to be made:
>Signal From To
>---------------------------------------------------------------
>Address A17 JP1 pin 26 pin 2 of added RAM chips
>Address A18 JP1 pin 27 pin 30 of added RAM chips
>Address A19 JP1 pin 28 pin 1 of added RAM chips
>Chip Select 2 JP2 pin 23 pin 22 of added RAM on U4
>Chip Select 3 JP2 pin 24 pin 22 of added RAM on U3
>
>total of 8 wire segments.
>use 30 ga. wire, and glue the wires to the board to avoid breakage.
>
>
>Memory Configuration and testing:
>-------------------------------------------------------------------
>The memory interface logic in the Sharp LH77790 must be
>configured for this
>new memory. It is also a good idea to test the memory to be sure that all
>connections are OK (I had several solder connections that didn't quite
>connect).
>
>
>Here is a small code sample that does this:
>-------------------------------------------------------------------
>#defineXMSTART 0x20000
>#define XMSTOP 0x120000
>#define SEED 0xC0FFEE42 /* don't set this to 0x0000 !! */
> int count;
> int test;
>
> *START3 = XMSTART; /* defined in 'lh77790.h' */
> *STOP3 = XMSTOP;
> *SDR3 = 0x7C08; /* set for maximum wait */
> *BCR3 = 0xF090;
>
> /* and now for a (ahem) quick memory test ....
> * This test will write a pseudorandom sequence into all of
> * the expanded memory, and then go back and make sure that
> * the sequence is correct.
> */
> test = SEED;
> for(count = XMSTART; count < XMSTOP ; count += 4) {
> *((volatile int *) (count)) = test;
> if(test)
> test = ((test << 1) + (((test & 0x80000000) >>
>31)^((test & 0x10000000)
>>> 28)));
> else
> test = SEED;
>#ifdef EMA_SHOW
> if(!(count % 0x10000))
> printf("Count = %X (write pattern)\n",count);
>#endif
> }
>
> /* check the pattern we just wrote */
> test = SEED;
> for(count = XMSTART; count < XMSTOP ; count += 4) {
> if(*((volatile int *) (count)) != test) {
> printf("memory error! Pattern = %X at location %X
>\n",test, count);
> count = XMSTOP;
> break;
> }
> if(test)
> test = ((test << 1) + (((test & 0x80000000) >>
>31)^((test & 0x10000000)
>>> 28)));
> else
> test = SEED;
>
>#ifdef EMA_SHOW
> if(!(count % 0x10000))
> printf("Count = %X (read pattern)\n",count);
>#endif
> }
>
>- - - - - - - - - - - - - - - - - - - - -
>Neil Puthuff, Field Applications Engineer neil@ghs.com
>Green Hills Software http://www.ghs.com
>
> -----Original Message-----
From: Jesper Skov [mailto:jskov@redhat.com]
Sent: den 18 oktober 2000 16:26
To: Karlsson Andre
> as
Cc: ecos-discuss@sourceware.cygnus.com
Subject: Re: [ECOS] AEB-1 RAM extendable?
>>>>> "Andreas"
> == Andreas Karlsson <Andreas.Karlsson@combitechsystems.com> writes:
>
> Andreas> If this is impossible which evaluation board can you
> Andreas> recommend with bigger RAM-memory?
>
> AFAIK the AEB-2 should have more memory, but I don't know the details
> - and there's no eCos support for it (yet - I think that's one of the
> boards I have in the board stack somewhere).
>
> Anyway, as a short-term resolution, I suggest you have a look at the
> Linux synthetic target, or one of the simulators. That'll keep you
> hacking until you've found replacement hardware [and you'll probably
> find the development to be smoother and faster, btw].
>
> Jesper
>