Difference between revisions of "PineTime bootloader improvements"
Jump to navigation
Jump to search
(Created page with "== Introduction == This pages describes the improvements I propose to make to the bootloader and OTA to make the whole process more reliable. My goals are: * KISS : Keep It...") |
|||
Line 22: | Line 22: | ||
The user can also request to restore this factory image if necessary (using the button?). | The user can also request to restore this factory image if necessary (using the button?). | ||
== Bootloader assets == | === Bootloader assets === | ||
Graphics can be compressed using a simple RLE encoding. RLE encoding on 1 bits (2 colors images) is very efficient (115200KB -> 1-5KB). | Graphics can be compressed using a simple RLE encoding. RLE encoding on 1 bits (2 colors images) is very efficient (115200KB -> 1-5KB). | ||
Line 31: | Line 31: | ||
- Do not have to worry about the dynamic size of the logo (the binary size of the graphics will vary with the content when they are RLE encoded). | - Do not have to worry about the dynamic size of the logo (the binary size of the graphics will vary with the content when they are RLE encoded). | ||
== Bootloader == | === Bootloader === | ||
* Display the bootloader version on the screen and expose the version to the application firmware | * Display the bootloader version on the screen and expose the version to the application firmware | ||
* Provide a way to revert the firmware to the last working version AND to the factory firmware | * Provide a way to revert the firmware to the last working version AND to the factory firmware | ||
Line 37: | Line 37: | ||
* Test as much as possible | * Test as much as possible | ||
== Upgrade & Reloader == | === Upgrade & Reloader === | ||
The reloader is a tool that allows to upgrade the current version of the bootloader AND to switch from MCUBoot to NRF and vice versa. | The reloader is a tool that allows to upgrade the current version of the bootloader AND to switch from MCUBoot to NRF and vice versa. | ||
=== How does it work ? === | ==== How does it work ? ==== | ||
* Upgrade | * Upgrade | ||
** The reloader is first OTAed like any firmware upgrade. | ** The reloader is first OTAed like any firmware upgrade. |