summaryrefslogtreecommitdiff
path: root/bootloader/README.md
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2020-05-24 16:36:04 +0200
committerJF <jf@codingfield.com>2020-05-24 16:36:04 +0200
commit331481cd0c6ba804860f7cdbd5110a87ff0160fe (patch)
treeaf1212ec3e3982e24f6109c29d7785e88560e63d /bootloader/README.md
parent3cc76d7673f6a3b8b5253d04b358b440e550fdb4 (diff)
Refactor CMake files to allow building 2 binaries : one standalone and one compatible with mcuboot bootloader (the offset in memory is different).
Add documentation about mcuboot image generation and OTA. Re-enable watchdog
Diffstat (limited to 'bootloader/README.md')
-rw-r--r--bootloader/README.md50
1 files changed, 50 insertions, 0 deletions
diff --git a/bootloader/README.md b/bootloader/README.md
new file mode 100644
index 00000000..facc0500
--- /dev/null
+++ b/bootloader/README.md
@@ -0,0 +1,50 @@
+# Bootloader
+
+## Bootloader binary
+The binary comes from https://github.com/lupyuen/pinetime-rust-mynewt/releases/tag/v4.1.7
+
+It must be flash at address **0x00** in the internal flash memory.
+
+Using OpenOCD:
+
+`
+program mynewt_nosemi.elf_4.1.7.bin 0
+`
+
+## Application firmware image
+Build the binary compatible with the booloader:
+
+`
+make pinetime-mcuboot-app
+`
+
+The binary is located in *<build directory>/src/pinetime-mcuboot-app.bin*.
+
+It must me converted into a MCUBoot image using *imgtool.py* from [MCUBoot](https://github.com/JuulLabs-OSS/mcuboot/tree/master/scripts).
+
+`
+imgtool.py create --align 4 --version 1.0.0 --header-size 32 --slot-size 475136 --pad-header <build directory>/src/pinetime-mcuboot-app.bin image.bin
+`
+
+The image must be then flashed at address **0x8000** in the internal flash memory.
+
+Using OpenOCD:
+
+`
+program image.bin 0x8000
+`
+
+## OTA and DFU
+Pack the image into a .zip file for the NRF DFU protocol:
+
+`
+adafruit-nrfutil dfu genpkg --dev-type 0x0052 --application image.bin dfu.zip
+`
+
+Use NRFConnect or dfu.py to upload the zip file to the device:
+
+`
+sudo dfu.py -z /home/jf/nrf52/bootloader/dfu.zip -a <pinetime MAC address> --legacy
+`
+
+**TODO** : dfu.py \ No newline at end of file