Tom Walsh wrote: > A lot of Flash does this, while the microcode sequencer inside the flash > memory is busy working with the flash array, it cannot be disturbed by > the CPU core reading that same array. Some flash memories are capable > of allowing reading while the sequencer is busy writing / erasing some > other part of the Flash array, but these types of Flash are more of an > oddity than the normal flash you find. > I think the LPC2xxx have a flash that can read from the last block while erasing/programming another block, otherwise the IAP routines had be relocated to RAM before using them. It could also be that the LPC2xxx has more RAM then specified in the datasheet and that the bootcode relocates the IAP routines before jumping to the user program, but this seems more expensive and increases the startup time. > So, to keep your CPU core running (waiting for the flash to become > available again), you copy some code into RAM, then call the Flash erase > / write IAP routines from there. This way, your CPU doesn't find itself > suddenly reading random bytes from the Flash program store. > You don't need any code in RAM to use the IAP routines (it works for me). You can call the IAP from flash, you just have to make sure that all interrupts are disabled. > TomW > Richard.
Message
Re: [lpc2000] Re: LPC2138FBD64 - not possible to run from Flash and use IAP?
2005-10-27 by Richard Duits
Attachments
- No local attachments were found for this message.