-
Notifications
You must be signed in to change notification settings - Fork 550
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Increase reliability #147
Increase reliability #147
Conversation
The bootloader must be sequnced to allow erasure and commiting the first word and reboot.
Limited code space on the PX4IO requires that we only can chec one state.
@dagar - PX4IO is out of code space with gcc 4.8. lto is not an option, as it causes hard faults I have been building and testing with
please update tools to 7.2.1 |
bl.c
Outdated
@@ -489,7 +518,7 @@ void | |||
bootloader(unsigned timeout) | |||
{ | |||
bl_type = NONE; // The type of the bootloader, whether loading from USB or USART, will be determined by on what port the bootloader recevies its first valid command. | |||
|
|||
volatile uint32_t bl_state = 0; // Must see correct command sequence to erse and reboot (commit first word) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@davids5 typo "erase"
@davids5 I've updated the tools - please rebase and update. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a small typo, otherwise looks good.
* Add State protection The bootloader must be sequnced to allow erasure and commiting the first word and reboot. * Add minimum protection for PX4IO that will fit Limited code space on the PX4IO requires that we only can check one state. * bl:Allow only Valid SN indexes and fix for typo
Added state protection and sanity checking to reduce the probability of random data
N.B. The PX4IO code space was too small to do all the state checking