Bootloader power on sequence

  • Sequence
    • RAM: Is a command set?
      • Yes(App): Boot App
      • Yes(BL): Force Bootload
      • No: Unset
    • Flash:
      • Load RSV + MSP + ?
      • If good_app(rsv/msp) + good_settings(rsv/msp) + !force bootload
        • Yes => If Boot App:
          • Boot App Immediate
          • No: Unset
        • No => Force Bootload
    • Power on Clocks
    • Buttons: Both pressed?
      • No: If Unset => Set command, reboot
      • Yes => Force Bootload
    • If Boot App: Boot
    • If Bootload: Continue
    • Start I2C, run boot machine