Yahoo Groups archive

Lpc2000

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

Message

Re: LPC2214 and 16 bit flash

2005-12-12 by Ken Wada

--- In lpc2000@yahoogroups.com, "smoutpatrick" <sonpat@b...> wrote:
>
> --- In lpc2000@yahoogroups.com, "Ken Wada" <kwada@a...> wrote:
> 
> Ken,
> 
> thanks for the feedback. Regarding topic 5°, any differences in 
> vector setup between using internal flash and external flash (did 
use > the 2106 before)?
2106? The 2106 does not support an external address or data bus.

Anyway...to answer your question. Yes, there are differences in 
setting up interrupts between using internal vs. external flash. In my 
case, I setup the system such that there really are no differences at 
all. This is because; in my system, I copy the vectors, (code) into 
internal RAM, and execute from all the ISR's from the internal RAM. In 
this way, I only need to deal with how to get the system to properly 
vector into internal RAM for execution.

Getting code to execute from internal RAM is not a problem with most 
compiler toolchains. Basically, for the Keil, I use the ERAM 
directive. This allows me to place the code into RAM on startup. The 
Keil toolchain basically takes care of the details here.

Ken Wada

> 
> Patrick
> 
> >
> > Byte accesses on these 16-bit FLASH devices are not a problem! 
From 
> > what I can tell, you are most likely using an Intel 16-bit wide 
> > StrataFlash, or one of those Micron 16-bit wide, (very much like 
> the 
> > Intel NOR-StrataFlash).
> > 
> > The issues are:
> > 1.  You can do all reads as a 16-bit device, (just configure your 
> > BCFGn register properly for 16-bit bus
> > 2.  To write bytes to this device, you just read the 16-bit value, 
> > modify the upper, or lower byte, and write the value back.
> > 3.  From what I can tell, the only real reason you need to write 
to 
> > this device is to download the code...in this case, you do not 
need 
> to 
> > concern yourself with byte accesses at all! Just do everything 
> using 
> > unsigned short data types.
> > 4.  If your BCFGn register is properly configured, your code will 
> run 
> > just fine from the external FLASH device....provided you burned it 
> > properly.
> > 5.  Don't forget to make sure your interrupt vectors are setup 
> > properly, otherwise nothing will work. This is one of the small 
> > caveats on using external FLASH for the LPC devices.
> > 
> > Ken Wada
> > 
> > --- In lpc2000@yahoogroups.com, "smoutpatrick" <sonpat@b...> 
wrote:
> > >
> > > 
> > > --- In lpc2000@yahoogroups.com, Tom Walsh <tom@o...> wrote:
> > > >
> > > > smoutpatrick wrote:
> > > > 
> > > > >Hi,
> > > > >
> > > > >What would be the consequences if my hardware design based on 
> the 
> > > > >LPC2214 uses 16 bit flash devices that only supports 16 bit 
> > > accesses?
> > > > >Can I write bytes in the flash using the __packed type 
> modifier?
> > > > >
> > > > >Thanks for the feedback,
> > > > >
> > > > >  
> > > > >
> > > > That would be solely dependant on your Flash. Look to your 
> > > datasheet on 
> > > > the Flash device.
> > > > 
> > > > TomW
> > > > 
> > > > -- 
> > > > Tom Walsh - WN3L - Embedded Systems Consultant
> > > > http://openhardware.net, http://cyberiansoftware.com
> > > > "Windows? No thanks, I have work to do..."
> > > > ----------------------------------------------------
> > > >
> > > Tom,
> > > 
> > > what should i look for in the datasheet?
> > > The datasheet tells me that no byte access is supported (see 
> > original 
> > > posting).
> > > My guess is that the compiler might help me but I'm not sure.
> > > 
> > > Patrick
> > >
> >
>

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.