summaryrefslogtreecommitdiff
path: root/cmd/sbc_harness/static/Documentation/harness_flash_bin.txt
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/sbc_harness/static/Documentation/harness_flash_bin.txt')
-rw-r--r--cmd/sbc_harness/static/Documentation/harness_flash_bin.txt13
1 files changed, 11 insertions, 2 deletions
diff --git a/cmd/sbc_harness/static/Documentation/harness_flash_bin.txt b/cmd/sbc_harness/static/Documentation/harness_flash_bin.txt
index 982d7e0..115f2ee 100644
--- a/cmd/sbc_harness/static/Documentation/harness_flash_bin.txt
+++ b/cmd/sbc_harness/static/Documentation/harness_flash_bin.txt
@@ -7,6 +7,10 @@ DESCRIPTION
Any number of readers may read the flash contents.
+ Only one writer can have the file open at a time; once the
+ file is closed, the harness reboots into the new firmware.
+ Writes to the top half of the chip will fail.
+
BUGS
- The size of the chip is configured at compile-time. If the
firmware is loaded onto hardware with a larger flash chip
@@ -16,8 +20,13 @@ BUGS
compiled for, then accessing the missing upper part of the
chip will crash.
- - This file is not writable; it aught to be possible to update
- the harness firmware by writing to this file.
+ - When writing to the flash using this file, only half of the
+ chip capacity is usable; the top half and bottom half are
+ mirrors of each-other. This is to avoid the firmware
+ crashing as its program text is overwritten; the firmware is
+ executing out of the bottom half, and writing to the top
+ half; once the file is closed, a minimal in-RAM function
+ copies the top half to the bottom half and reboots.
AUTHOR
Copyright (C) 2025 Luke T. Shumaker <lukeshu@lukeshu.com>