dektronics / printalyzer-timer

F-Stop enlarging timer and print exposure meter
24 stars 6 forks source link

Implement a bootloader #9

Closed dkonigsberg closed 3 years ago

dkonigsberg commented 3 years ago

There should be a relatively compact bootloader that sits underneath the main device firmware. The purpose of this bootloader is to manage firmware upgrades, startup failure recovery scenarios, and to otherwise quickly start the main device firmware.

Since this bootloader is not intended to be user-upgradable, it should be based on a very stripped-down fork of the platform and library code from the main firmware. This should most likely include:

As part of this, the main firmware should be reconfigured to go into a part of flash above what gets reserved for the bootloader.

It may take some experimentation to get this right, but it is an absolute requirement before the device can be considered usable from someone who isn't willing or able to plug an ST-Link programmer into it.