Skip to content

Latest commit

 

History

History
26 lines (15 loc) · 2.08 KB

about-software.md

File metadata and controls

26 lines (15 loc) · 2.08 KB

Firmware, InfiniTime, Bootloader, Recovery firmware, OTA, DFU... What is it?

You may have already encountered these words by reading the announcement, release notes, or the wiki guide and you may find them confusing if you're not familiar with the project.

A firmware is software running on the embedded hardware of a device.

InfiniTime has three distinct firmwares:

  • InfiniTime is the operating system.
  • The bootloader is responsible for safely applying firmware updates and runs before booting into InfiniTime.
  • The recovery firmware is a special application firmware than can be loaded by the bootloader on user request. This firmware can be useful in case of serious issue, when the main application firmware cannot perform an OTA update correctly.

OTA (Over The Air) refers to updating of the firmware over BLE (Bluetooth Low Energy). This is a functionality that allows the user to update the firmware on their device wirelessly.

DFU (Device Firmware Update) is the file format and protocol used to send the update of the firmware to the watch over-the-air. InfiniTime implements the (legacy) DFU protocol from Nordic Semiconductor (NRF).

Bootloader

Most of the time, the bootloader just runs without your intervention (updating and loading the firmware).

However, you can use the bootloader to rollback to the previous firmware, or load the recovery firmware using the push button:

  • Press and hold the button until the pine cone is drawn in blue to force the rollback of the previous version of the firmware, even if you've already validated the current one.
  • Press and hold the button until the pine cone is drawn in red to load the recovery firmware. This recovery firmware only provides BLE connectivity and OTA functionality.

More info about the bootloader in its project page.