Forums

Problems with Olimex LPC2478 board with 32 bit SDRAM

Started by Mike Harrison May 7, 2009
I'm trying to enable 32bit SDRAM on my Olimex LPC2478 board

I'm using the IAR USB_Host example code, which I've modified to load a sequence of BMP files from a
USB stick and play them back by changing the LCD start address- this works fine with the default 16
bit SDRAM config.

In 32 bit mode, I get quite a lot of single-pixel errors ( maybe a few hundred pixels per frame),
which appear to be write errors as they stay in the same place during playback.
While the data is being written to SDRAM, I also see occasional horizontal glitches on the LCD that
do not subsequently appear during playback so I assume these are a LCD DMA issue while SDRAM is
being accessed heavily by the write process. (I'm not seeing LCD FIFO underrun interrupts)

The changes I've done are :
Set bit 14 of EMCDYNAMICCFG0
set up PINSEL7 to enable D16..31
set up PINSEL5 to enable DQMOUT2/3

Is there anything else that needs changing to switch from 16 to 32 bit SDRAM?
Might some of the LCDC setup need changing?

Both SDRAM chips are fitted, although some pictures I've seen of the board only show one chip fitted
so I'm wondering if there is a maybe hardware issue with this board ?

An Engineer's Guide to the LPC2100 Series

Hi Mike,

> so I'm wondering if there is a maybe hardware issue with this board ?
>
No. At least with my board :-)

You can compare your correction of memory driver with Olimex fix patch from Olimex site. I use this patch, it works.

Regards
Vladimir

On Thu, 07 May 2009 12:34:07 -0000, you wrote:

>Hi Mike,
>
>> so I'm wondering if there is a maybe hardware issue with this board ?
>>
>No. At least with my board :-)
>
>You can compare your correction of memory driver with Olimex fix patch from Olimex site. I use this patch, it works.

Thanks - looked at the version of the IAR demo on the Olimex board page, and it appears to have been
due to differences the JEDEC SDRAM initialisation sequence, although I don't quite understand why
this only affected 32-bit mode...
Working OK now.

>Regards
>Vladimir
>