From dddca33d2f359e04906f160b4aa53b2691ebcdbe Mon Sep 17 00:00:00 2001
From: Riku Isokoski <riksu9000@gmail.com>
Date: Fri, 10 Feb 2023 10:09:01 +0200
Subject: [PATCH] files-needed-by-factory: Move to separate document

These are instructions for maintainers, and should be in a separate
document.
---
 README.md                      |  1 +
 doc/buildAndProgram.md         | 38 ----------------------------------
 doc/files-needed-by-factory.md | 37 +++++++++++++++++++++++++++++++++
 3 files changed, 38 insertions(+), 38 deletions(-)
 create mode 100644 doc/files-needed-by-factory.md

diff --git a/README.md b/README.md
index 7b8ddde1..b4a9cb65 100644
--- a/README.md
+++ b/README.md
@@ -64,6 +64,7 @@ Fast open-source firmware for the [PineTime smartwatch](https://www.pine64.org/p
 - [Versioning](doc/versioning.md)
 - [Project branches](doc/branches.md)
 - [Files included in the release notes](doc/filesInReleaseNotes.md)
+- [Files needed by the factory](doc/files-needed-by-factory.md)
 
 ## Licenses
 
diff --git a/doc/buildAndProgram.md b/doc/buildAndProgram.md
index 78bea1b4..260ae8c5 100644
--- a/doc/buildAndProgram.md
+++ b/doc/buildAndProgram.md
@@ -89,41 +89,3 @@ Binary files are generated into the folder `src`:
 - **pinetime-mcuboot-ap-dfu** : DFU file of the firmware
 
 The same files are generated for **pinetime-recovery** and **pinetime-recoveryloader**
-
-### How to generate files needed by the factory
-
-These files are needed by the Pine64 factory to flash InfiniTime as the default firmware on the PineTimes.
-
-Two files are needed: an **HEX (.hex)** file that contains the content of the internal flash memory (bootloader + InfiniTime) and a **binary (.bin)** file that contains the content of the external flash memory (recovery firmware).
-
-#### merged-internal.hex
-
-First, convert the bootloader to hex:
-
-```
-<ARM TOOLCHAIN>/bin/arm-none-eabi-objcopy -I binary -O ihex ./bootloader.bin ./bootloader.hex
-```
-
-where `bootloader.bin` is the [last stable version](https://github.com/JF002/pinetime-mcuboot-bootloader/releases) of the [bootloader](https://github.com/JF002/pinetime-mcuboot-bootloader).
-
-Then, convert the MCUBoot image of InfiniTime:
-
-```
-<ARM TOOLCHAIN>/bin/arm-none-eabi-objcopy -I binary -O ihex --change-addresses 0x8000 ./pinetime-mcuboot-app-image-1.6.0.bin ./pinetime-mcuboot-app-image-1.6.0.hex
-```
-
-where `pinetime-mcuboot-app-image-1.6.0.bin` is [the bin of the last MCUBoot image](https://github.com/InfiniTimeOrg/InfiniTime/releases) of [InfiniTime](https://github.com/InfiniTimeOrg/InfiniTime).
-
-Pay attention to the parameter `--change-addresses 0x8000`. It's needed to ensure the image will be flashed at the offset expected by the bootloader (0x8000).
-
-Finally, merge them together with **mergehex**:
-
-```
-/opt/mergehex/mergehex -m ./bootloader.hex ./pinetime-mcuboot-app-image-1.6.0.hex  -o merged-internal.hex
-```
-
-This file must be flashed at offset **0x00** of the internal memory of the NRF52832.
-
-#### spinor.bin
-
-This file is the MCUBoot image of the last stable version of the recovery firmware. It must be flashed at offset **0x00** of the external SPINOR flash memory.
diff --git a/doc/files-needed-by-factory.md b/doc/files-needed-by-factory.md
new file mode 100644
index 00000000..f99a29b6
--- /dev/null
+++ b/doc/files-needed-by-factory.md
@@ -0,0 +1,37 @@
+# How to generate files needed by the factory
+
+These files are needed by the Pine64 factory to flash InfiniTime as the default firmware on the PineTimes.
+
+Two files are needed: an **HEX (.hex)** file that contains the content of the internal flash memory (bootloader + InfiniTime) and a **binary (.bin)** file that contains the content of the external flash memory (recovery firmware).
+
+#### merged-internal.hex
+
+First, convert the bootloader to hex:
+
+```
+<ARM TOOLCHAIN>/bin/arm-none-eabi-objcopy -I binary -O ihex ./bootloader.bin ./bootloader.hex
+```
+
+where `bootloader.bin` is the [last stable version](https://github.com/JF002/pinetime-mcuboot-bootloader/releases) of the [bootloader](https://github.com/JF002/pinetime-mcuboot-bootloader).
+
+Then, convert the MCUBoot image of InfiniTime:
+
+```
+<ARM TOOLCHAIN>/bin/arm-none-eabi-objcopy -I binary -O ihex --change-addresses 0x8000 ./pinetime-mcuboot-app-image-1.6.0.bin ./pinetime-mcuboot-app-image-1.6.0.hex
+```
+
+where `pinetime-mcuboot-app-image-1.6.0.bin` is [the bin of the last MCUBoot image](https://github.com/InfiniTimeOrg/InfiniTime/releases) of [InfiniTime](https://github.com/InfiniTimeOrg/InfiniTime).
+
+Pay attention to the parameter `--change-addresses 0x8000`. It's needed to ensure the image will be flashed at the offset expected by the bootloader (0x8000).
+
+Finally, merge them together with **mergehex**:
+
+```
+/opt/mergehex/mergehex -m ./bootloader.hex ./pinetime-mcuboot-app-image-1.6.0.hex  -o merged-internal.hex
+```
+
+This file must be flashed at offset **0x00** of the internal memory of the NRF52832.
+
+#### spinor.bin
+
+This file is the MCUBoot image of the last stable version of the recovery firmware. It must be flashed at offset **0x00** of the external SPINOR flash memory.