This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: External SRAM on EB40a


Andrew Lunn <andrew.lunn@ascom.ch> writes:

> On Tue, Jul 01, 2003 at 02:01:26PM +0200, Ketil Harald Ruud wrote:
> > 
> > I have an AT91EB40A evaluation board equipped with external SRAM (SAMSUNG
> > k6r4008v1c, (512Kx8bits)x2).
> > 
> > Redboot is loaded to upper half of flash at address 0x01100000. (Redboot can
> > also run from on-chip SRAM.)
> > 
> > Can anybody tell me what kind of modification that are required to access
> > the external RAM? When I try to load the hello-world application to external
> > RAM, Redboot keeeps telling me that there is no RAM at address 0x2000000 and
> > refuses to load.
> > I have used "configtool" to generate the ecos application.
> 
> You can force redboot to load even though it thinks there is no memory
> there. It should ask you this.
> 
> You can also disable CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS so that it
> does not even check.
> 
> Redboot is not so good with discontinuous memory. It assumes RAM is
> all in one block when performing checks. So disabling the check is
> probably a good move anyway.
> 
> Does the SRAM need any initialization? I could not see anything in the
> EB40a to do the initialization? Even if you do tell redboot to
> continue it might still fail because the MMU thinks there is no memory
> there and throws an bus error. (Im assuming the EBA40a actually has a
> MMU. I know nothing about this HW!).
> 

There is already code that initializes the CSR2 register to map RAM at
0x02000000. This should cater for boards with the SRAM chips
installed. So the likelihood is that once RedBoot is persuaded not to
moan, the RAM should just work.

Of course you also need to configure eCos to run in the new
RAM. Modify the RAM .ldi and .h files to move the application up to
0x02000000. Make sure the fixed vectors stay at 0x20. Take a look at
the RAM .ldi file for the EB42 for an example of how to do this. In
fact, just copy the EB42 files and you should be fine.

-- 
Nick Garnett                    eCos Kernel Architect
http://www.ecoscentric.com/     The eCos and RedBoot experts


-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]