mirror of
https://github.com/InfiniTimeOrg/InfiniTime.git
synced 2024-12-25 10:41:42 +03:00
21 lines
763 B
Plaintext
21 lines
763 B
Plaintext
@startuml
|
|
|
|
MCU -> Bootloader: reset
|
|
activate Bootloader
|
|
Bootloader -> Bootloader: Recover? (no)
|
|
Bootloader -> Bootloader: New version? (yes)
|
|
Bootloader -> Bootloader: Swap firmwares
|
|
note left: Copy current firmware from primary to secondary\nand copy the new firmware from secondary to primary
|
|
Bootloader -> Application: Jump to primary slot
|
|
deactivate Bootloader
|
|
|
|
|
|
activate Application
|
|
note right: This is the new version of the firmware
|
|
Application -> Application: Write the valid bit in flash memory
|
|
note right: The application should provide a way to\ncheck that it is running correctly\n(selftest, user confirmation,...)\nbefore setting the valid bit.
|
|
Application -> Application: Normal operations...
|
|
Application -> MCU: Reset
|
|
deactivate Application
|
|
|
|
@enduml |