lpcxpresso boot loader

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

lpcxpresso boot loader

984 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by John09 on Sat Apr 07 18:37:42 MST 2012
Hi

I have the boot loader install and running on the lpcxpresso, and would like to know how to store more than one application no more than two and have a boot loader decide which bin application to run. What is the best way to do this with out any performance loss.

A person I has told me that repeatedly flashing the device can degrade the flash memory, is this true?

He also said will be a performance penalty by running code from RAM is this true?.

what other option do I have and what would be the best way you would suggest to do this.

thanks.
0 Kudos
Reply
4 Replies

971 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by ahp on Tue Jul 03 03:12:13 MST 2012
With the help of replies to my post I have found solution to the boot switch application, and have posted it on the Thread previously mentioned, so you may find that interesting as well.
0 Kudos
Reply

971 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by graynomad on Mon Jul 02 14:58:06 MST 2012

Quote:
So there is no real limit,

And I've seen tests in the Atmel world that got way more writes than spec'd, maybe even 1M.
0 Kudos
Reply

971 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Rob65 on Mon Jul 02 13:30:46 MST 2012
The thread that Anders refers to can be found here.

And regarding flash degradation: 100,000 write cycles is a lot.

Remember that your flash is also written each time you download a new image for debugging. If you do this 20 times a day, 5 days a week, 40 weeks per year then it still takes 25 years for the flash to wear out :eek:

So there is no real limit, except when using it to constantly update data in flash.

Rob
0 Kudos
Reply

971 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by ahp on Mon Jul 02 01:27:00 MST 2012
Hi,

I am working on something similar and have just posted a thread with the title "Replace application at runtime with IAP and boot switch".

I can answer a few of your questions:

1. The Flash has a limited number of writes (Clear+Program). In LPC it is 100000. A Flash write is performed by clearing the entire sector and then writing the data. Only the data which results in a bit change from 1 -> 0 causes wear (so if you are writing 0xFF it does not deteriorate that part of the Flash). You can also write the sector in multiple writes after a clear over a period of time. Wear Leveling may be used to improve Flash life expectancy, but I have never found it necesarry. After all, 100000 writes means you can update your program once a day for almost 274 years before the Flash has reached its limit.

2. LPC executes directly from Flash (reading do not degrade the Flash like writes do), so the execution is never from RAM. RAM is only used for the stack and any buffers and local variables you may allocate.

I hope this helps, and if you have found a solution for the main question I will greatly appreciate a note, as I have been struggling with the same issue for a while.
0 Kudos
Reply