PineTime SD MCUBoot

From PINE64
Revision as of 16:39, 10 August 2020 by Lupyuen (talk | contribs) (Adding)
Jump to navigation Jump to search

The problem:

- PineTime ships with the MCUBoot Bootloader which boots to the InfiniTime Firmware

- This assumes that the firmware (InfiniTime, Mynewt, Zephyr, ...) has its own Bluetooth LE (BLE) stack and can handle firmware updates (DFU)

- But some firmware (wasp-os, ATCwatch) require Nordic SoftDevice to be installed to support the BLE and DFU functions

- InfiniTime Firmware does not support flashing of SoftDevice as firmware update, because SoftDevice needs to be flashed at address 0x0, which is used by the MCUBoot Bootloader

- How do we allow SoftDevice-based firmware to be flashed to PineTime via DFU?

Two approaches:

- SoftDevice Loader, https://github.com/daniel-thompson/wasp-reloader

- Custom MBR: https://forum.pine64.org/showthread.php?tid=9779&pid=65203#pid65203