02-01-2020, 02:45 AM
I'm afraid I'm not at FOSDEM this year so won't be able to join you.
There are already hints in a couple of forum topics but my initial goal for my own PineTime hacking is to glue the back on without any SWD mods. To that end my focus has been bootloader robustness (e.g. how to be able to reprogram a crashed device without requiring a reset button, power SWD or UART). Code is available (https://github.com/daniel-thompson/wasp-bootloader ) and I've shared a pre-release with @Luke is anyone wants to see it on a real device. Basically I've taken the Adafruit nrf52 bootloader and made some modest changes so we can exploit the watchdog for robustness. The bootloader should work for any payload but, with limited flash space, is most practical for code that uses the Nordic Softdevice.
Anyhow... there are challenges w.r.t. bootloaders since, AFAIK, each time we want a payload to adopt a different BT stack (Softdevice, NimBLE, Zephyr), we would need to reprovision the device with a new bootloader if we are to keep flash size dow (and ensure bootloaders can OTA replace themselves with "alien" bootloaders to allow users to swap BT stacks).
I would be interested to see what feedback about bootloaders comes back from a BoF!
There are already hints in a couple of forum topics but my initial goal for my own PineTime hacking is to glue the back on without any SWD mods. To that end my focus has been bootloader robustness (e.g. how to be able to reprogram a crashed device without requiring a reset button, power SWD or UART). Code is available (https://github.com/daniel-thompson/wasp-bootloader ) and I've shared a pre-release with @Luke is anyone wants to see it on a real device. Basically I've taken the Adafruit nrf52 bootloader and made some modest changes so we can exploit the watchdog for robustness. The bootloader should work for any payload but, with limited flash space, is most practical for code that uses the Nordic Softdevice.
Anyhow... there are challenges w.r.t. bootloaders since, AFAIK, each time we want a payload to adopt a different BT stack (Softdevice, NimBLE, Zephyr), we would need to reprovision the device with a new bootloader if we are to keep flash size dow (and ensure bootloaders can OTA replace themselves with "alien" bootloaders to allow users to swap BT stacks).
I would be interested to see what feedback about bootloaders comes back from a BoF!