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.