??? 07/01/10 15:13 Read: times |
#177029 - Hogworts..... Responding to: ???'s previous message |
I have deployed boot loaders of the style as shown in the sample linked in the previous example into many projects of shipping products. The boot loader code is programmed to not be able to re-write itself. It is coded as a standalone module. It uses exactly the same interrupt vector switch based on boot bit that you show albeit in your typical, terse and hard to follow style. The program used to "talk" to the loader uses a rigorous protocol that reads out the the "loader" portion of the image and 100% compares it to the "loader" portion of the new image and refuses to proceed is there is not a match. Such program also does not ever try to write over the loader code in the target even though such requests would be rejected by the loader code in the target.
So before spouting off about chance of un-sync risk read the code, ask questions and evaluate it. This is a very robust type solution and it works from known experience in a dozen or more products in all different segments of the MCU usage spectrum. I think we can fully agree though that the loader code should be written in assembler language. Michael Karas |
Topic | Author | Date |
IAP / Dual applications and interrupts | 01/01/70 00:00 | |
Bootloaders Share Interrupts Like This | 01/01/70 00:00 | |
not necessarily a good idea | 01/01/70 00:00 | |
Hogworts..... | 01/01/70 00:00 | |
interesting concept | 01/01/70 00:00 | |
an added note | 01/01/70 00:00 | |
Does the bootloader _have_ to use interrupts? | 01/01/70 00:00 | |
Forwarding of interrupts. | 01/01/70 00:00 | |
And for reliability... | 01/01/70 00:00 | |
Special Hardware Features Also Show up | 01/01/70 00:00 | |
emphasizing another factor | 01/01/70 00:00 | |
Let me comment on that... | 01/01/70 00:00 | |
Yet another consideration with boot loader.![]() | 01/01/70 00:00 |