diff options
author | JF <jf@codingfield.com> | 2020-05-24 16:36:04 +0200 |
---|---|---|
committer | JF <jf@codingfield.com> | 2020-05-24 16:36:04 +0200 |
commit | 331481cd0c6ba804860f7cdbd5110a87ff0160fe (patch) | |
tree | af1212ec3e3982e24f6109c29d7785e88560e63d /bootloader/README.md | |
parent | 3cc76d7673f6a3b8b5253d04b358b440e550fdb4 (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.md | 50 |
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 |