Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: EMC flash memory programming

2005-08-07 by catstransport

--- In lpc2000@yahoogroups.com, David Willmore <willmore@o...> wrote:
> > catstransport <remco@u...> wrote:Hi all,
> > I am a newby in writing to external memory. The RAM works. I can write
> > to it. But the flash is a problem. We have combined two 16bit flash to
> > the lpc2292. I have found flash drivers for the 16bit. But I have to
> > write with 32bit. I just don't know how to get it work.
> > 
> > the memory is: 2 x m29w320DB on bcfg0. bcfg0 = 0x2000348f. After I
> > write 0x00AA0AA to flashBase[0x05550555] the whole microcontroller
> > doesn't do anything anymore. Can somebody help me with this problem.
> 
> You need 0x00AA to appear on the 16 bit data bus for each FLASH, right?
> You also need their address likes to read 0x0555?  Yeah, checked the
> data sheet from ST, that's right.  
> 
> Okay, so you you want is flashBase[0x00000555] = 0x00aa00aa
> 
> Keep in mind that your address lines are in parallel to the chips, so
> you don't need to replicate the pattern in the address bits.  The data
> bits are concatinated, so you do need to replicate that data.
> 
> So, you could:
> flashBase[command_addr]= (command_data | (command_data << 16));
> 
> for all of the commands and then:
> flashBase[data_addr] = data_32;
> 
> for the actual data write.
> 
> Does that make sense?  It's always a bit hard to wrap your head
> around the first time, but it's second nature after that. :)
> 
> Cheers,
> David

thanks that is the reaction that I wanted to hear. Tomorrow I will try it.

remco

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.