Difference between revisions of "PineTime bootloader improvements"
Jump to navigation
Jump to search
(Add bootloader/application boundaries) |
|||
Line 23: | Line 23: | ||
* OTA : SECONDARY SLOT for MCUBoot. During OTA, this is where the new version of the firmware is stored. | * OTA : SECONDARY SLOT for MCUBoot. During OTA, this is where the new version of the firmware is stored. | ||
* FS : space available for the application firmware. | * FS : space available for the application firmware. | ||
This memory map allows a strong boundary between the bootloader and the application : | |||
* The bootloader is ran by the MCU at reset time and loads its boot logo from the SPI flash | |||
* The bootloader (MCUBoot) swaps images from primary and secondary slots if necessary | |||
* The bootloader starts the watchdog | |||
* The bootloader jumps to 0x8000 to run the application | |||
The application don't know anything about the bootloader except that: | |||
* it must be linked @0x8000 | |||
* it must refresh the watchdog periodically | |||
* it must store the image for OTA at a specific location in the external SPI flash memory | |||
In this configuration, the boot logo is part of the bootloader, not of the application : the same logo will be displayed whatever application firmware will be loaded. | |||
== Changes == | == Changes == | ||
Line 65: | Line 78: | ||
** From InfiniTime to wasp-os : the reloader contains the NRF Bootloader and Softdevice. This bootloader provides the OTA mecanism out of the box. Wasp-os is downloaded when the NRF bootloader is running | ** From InfiniTime to wasp-os : the reloader contains the NRF Bootloader and Softdevice. This bootloader provides the OTA mecanism out of the box. Wasp-os is downloaded when the NRF bootloader is running | ||
** From wasp-os to InfiniTime : the reloader contains the factory image (infinitime-factory). The complete version of InfiniTime will be OTAed when this factory image is running. | ** From wasp-os to InfiniTime : the reloader contains the factory image (infinitime-factory). The complete version of InfiniTime will be OTAed when this factory image is running. | ||
== Discussions == | |||
=== Boot Logo : embedded into the bootloader binary vs stored in the external SPI flash === | |||
=== Fixed vs dynamic memory map === | |||
[[Category:PineTime]] | [[Category:PineTime]] |