Difference between revisions of "PineTime SD MCUBoot"

From PINE64
Jump to navigation Jump to search
(Created)
(Adding)
Line 1: Line 1:
 +
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:
 
Two approaches:
  
- SoftDevice Loader
+
- SoftDevice Loader, https://github.com/daniel-thompson/wasp-reloader
  
 
- Custom MBR: https://forum.pine64.org/showthread.php?tid=9779&pid=65203#pid65203
 
- Custom MBR: https://forum.pine64.org/showthread.php?tid=9779&pid=65203#pid65203

Revision as of 16:39, 10 August 2020

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