Skip to content

Instantly share code, notes, and snippets.

What would you like to do?

What is a Bootloader?

Think of your Android phone or iPhone... Once in a while the firmware on your phone needs to be updated to support new features or to fix security vulnerabilities.

The phone downloads the new firmware over WiFi or 4G. Then it restarts to install the new firmware.

Remember that firmware is just a program... A program can't possibly overwrite itself while it's running!

We solve this problem by introducing a second program... the Bootloader. When you power on your phone, the first thing it runs is the Bootloader. When the Bootloader finds a new version of the firmware that's stored on the phone, it overwrites the old firmware with the new one. Then it starts the new firmware.

PineTime and other IoT gadgets support firmware upgrades the same way... Through the Bootloader. Although it's not done yet, PineTime's Bootloader will also be able to roll back a firmware upgrade if the firmware fails.

More details on PineTime's proposed Bootloader

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment