EmbeddedRelated.com
Forums

LPC2378 external memory

Started by alexz4lpc January 9, 2007
I am thinking about using LPC2378 in my next project. Even though
silicon has major bugs (like external memory interface one), I am
willing to start desigh with hope that Philips will fix the bugs soon
(my understanding is that it will happen within few month). But I do
have few questions and hope somebody can answer them.

1) External memory represented as two memory blocks by 64K in memory
map. How it should be reflected in startup/linker files?

2) From C coding perspective, will linker automatically handle these
memory locations?

3) Can I execute code from this memory, or it can be used only as data
memory?

4) It seems to me that I can't find asynchronous SRAM in 64Kx8
packaging. One of the solutions will be to use 64Kx16 with high/low
byte select functionality, another is to bite the bullet and use 2
128Kx8 chips. Any suggestions in this department?

5) After I presented both solutions to my hardware buddy, he asked me
about interface timing waveforms. I can't find this kind of
information in LPC2378 documentation. Any help?

Best regards,
Alex

An Engineer's Guide to the LPC2100 Series

5) After I presented both solutions to my hardware buddy, he asked me
> about interface timing waveforms. I can't find this kind of
> information in LPC2378 documentation. Any help?

The Foll Document Does Give the Timing Information. May be helpful to you

http://www.standardics.nxp.com/products/lpc2000/pdf/lpc2378.pdf
Suvidh

--- In l..., "alexz4lpc" wrote:
>
> I am thinking about using LPC2378 in my next project. Even though
> silicon has major bugs (like external memory interface one), I am
> willing to start desigh with hope that Philips will fix the bugs soon
> (my understanding is that it will happen within few month). But I do
> have few questions and hope somebody can answer them.
>
> 1) External memory represented as two memory blocks by 64K in memory
> map. How it should be reflected in startup/linker files?
>
> 2) From C coding perspective, will linker automatically handle these
> memory locations?
>
> 3) Can I execute code from this memory, or it can be used only as data
> memory?
>
> 4) It seems to me that I can't find asynchronous SRAM in 64Kx8
> packaging. One of the solutions will be to use 64Kx16 with high/low
> byte select functionality, another is to bite the bullet and use 2
> 128Kx8 chips. Any suggestions in this department?
>
> 5) After I presented both solutions to my hardware buddy, he asked me
> about interface timing waveforms. I can't find this kind of
> information in LPC2378 documentation. Any help?
>
> Best regards,
> Alex
>
>> External memory
>> How it should be reflected in startup/linker files?

I guess you are planning on using NVRAM? I do not know why you would want
the linker to put code into the SRAM space because it would be gone after
power up. It is easy to list the memory regions in the linker file. But I
am not clear what you have in mind.

>> 2) From C coding perspective, will linker automatically handle these
memory locations?

This is a linker issue not really a source code C issue. Depending on what
you are doing you may have to copy code from Flash/NVRAM to SRAM etc. You
might be able to get init asm file to do this, but it is generally done for
constants that get loaded into data space.. Again not sure what your
details are.

>> 3) Can I execute code from this memory, or it can be used only as data
memory?

You can run code pretty much anywhere.

>> about interface timing waveforms. I can't find this kind of
>> information in LPC2378 documentation. Any help?

It's in the datasheet, but there ain't much there. Read/Write SRAM cycles
and that's about it. Also table listings of timing values. A find the EMC
doc very weak on all these LPC MCUs.

Chris.