??? 03/24/09 19:16 Read: times |
#163821 - Back to boot loader concept again Responding to: ???'s previous message |
Do you know the operation of a boot loader?
Have you looked at solutions where you reserve room for two full applications in the flash, to allow the full download of a new binary before switching? Your magic code in a high-address sector will not work unless you have code that jumps to this address after a reboot. That code can't be your normal live program since your live program will be - unless very specifically designed - broken if the unit is reset while parts of the flash has been updated. But if you do write a boot loader that jumps to this high address, then you can move this high-address code into the boot loader. The boot loader will then own your reset vector and form a mini-application capable of reprogramming the rest of the flash. Depending on the design, the boot loader may have support to perform communication, i.e. receive the new firmware from RS232, or it may just look in the flash if there is a second valid copy available and then just perform the required book-keeping to make this new application the current one. |
Topic | Author | Date |
IAP on NXP P89V51RC2 | 01/01/70 00:00 | |
Is the code located above 0x2000? | 01/01/70 00:00 | |
It didn't start from 0x2000h | 01/01/70 00:00 | |
This is the Linker's job | 01/01/70 00:00 | |
Linker works. But Erase and Program could work only half way | 01/01/70 00:00 | |
Boot loader | 01/01/70 00:00 | |
sawing the branch you are sitting on... | 01/01/70 00:00 | |
Parts of a live application can be replaced with care | 01/01/70 00:00 | |
Update Prgram using IAP | 01/01/70 00:00 | |
Back to boot loader concept again | 01/01/70 00:00 | |
About Locate Function in C code | 01/01/70 00:00 | |
It worked finally![]() | 01/01/70 00:00 |