Yahoo Groups archive

Lpc2000

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

Message

Re: Olimex LPC-H2294 Intel Flash

2005-05-25 by richard_tuffin

> >The  Olimex LPC-H2294 board has an Intel Flash (TE28F320C3BD70) with
> >32 Mbits arranged as 2MBx16bits. The board uses the chip at external
> >memory bank 0 with memory map 0x80008000 through 0x80200000.
> >According to the  TE28F320C3BD70 datasheet each memory address
> >corresponds to one word (16 bits), my problem is that the LPC2294
> >doesn't let me write16 bit words at consecutive addresses, ex:
> >*0x80008000=0x0ff1 ,* 0x80008001=0x0ff2, *0x80008002=0x0ff3 etc.
> >but forces the use of 16bit pointer so I have to use
> >*0x80008000=0x0ff1 ,* 0x80008002=0x0ff2, *0x80008004=0x0ff3 each uses
> >only 2Mbytes of the 4Mbyes that the TE28F320C3BD70 has.

> >I don't know if I made myself clear, but can someone please give me
> >some advice on how can I use the total 4Mbtes of the TE28F320C3BD70 

The LPC2294 is byte addressing, therefore 0x80008000 = 0x0ff1 sets
0x80008001 to 0x0f (the high byte).
Addressing 16bit pointers to odd locations would give you unaligned
transfers, which aren't supported in the ARM7.

If you look at the Olimex schematic A1 from the processor is connected
to A0 of the flash, so each _even_ address accesses a 16 bit word.
So you are accessing all the memory, it just extends twice as far as
you think it does...

Richard Tuffin

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.