summaryrefslogtreecommitdiff
path: root/cmd/sbc_harness/static
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/sbc_harness/static')
-rw-r--r--cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS.md29
l---------cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/agpl-3.0.txt1
l---------cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/newlib.txt1
l---------cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/pico-sdk.bsd3.txt1
l---------cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/printf.mit.txt1
l---------cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/tinyusb.mit.txt1
-rw-r--r--cmd/sbc_harness/static/Documentation/harness_flash_bin.txt33
-rw-r--r--cmd/sbc_harness/static/Documentation/harness_rom_bin.txt41
-rw-r--r--cmd/sbc_harness/static/Documentation/harness_uptime_txt.txt17
9 files changed, 125 insertions, 0 deletions
diff --git a/cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS.md b/cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS.md
new file mode 100644
index 0000000..b3fc12e
--- /dev/null
+++ b/cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS.md
@@ -0,0 +1,29 @@
+<!--
+ Documentation/YOUR_RIGHTS_AND_OBLIGATIONS.md - Overview of your
+ rights and obligations with regard to the SBC-Harness firmware
+
+ Copyright (C) 2025 Luke T. Shumaker <lukeshu@lukeshu.com>
+ SPDX-License-Identifier: AGPL-3.0-or-later
+-->
+
+The firmware running on the SBC-Harness is Free Software -- if you
+have access to this file, then you have the freedom to use, study,
+share, and improve the firmware; as long as you follow a few
+conditions that basically amount to "paying it forward".
+
+The precise terms of your rights and obligations are given in the
+files in the `YOUR_RIGHTS_AND_OBLIGATIONS/` directory. You must obey
+each of the files in that directory when distributing
+verbatim-or-modified copies of the firmware:
+
+ - `agpl-3.0.txt`: The firmware is as-a-whole licensed to you under
+ the terms of the GNU Affero General Public License (GNU AGPL) as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version. This is the main
+ document that protects your rights and defines your obligations.
+
+ - other files: The firmware makes use of other code that is under
+ various other licenses. When taken with the AGPL, they amount to
+ requiring that you pass along the copyright and license text in
+ those files when you distribute verbatim-or-modified copies of the
+ firmware.
diff --git a/cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/agpl-3.0.txt b/cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/agpl-3.0.txt
new file mode 120000
index 0000000..8a9b6f3
--- /dev/null
+++ b/cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/agpl-3.0.txt
@@ -0,0 +1 @@
+../../../../../COPYING.txt \ No newline at end of file
diff --git a/cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/newlib.txt b/cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/newlib.txt
new file mode 120000
index 0000000..5c5939c
--- /dev/null
+++ b/cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/newlib.txt
@@ -0,0 +1 @@
+../../../../../3rd-party/COPYING.newlib.txt \ No newline at end of file
diff --git a/cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/pico-sdk.bsd3.txt b/cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/pico-sdk.bsd3.txt
new file mode 120000
index 0000000..52c4374
--- /dev/null
+++ b/cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/pico-sdk.bsd3.txt
@@ -0,0 +1 @@
+../../../../../3rd-party/pico-sdk/LICENSE.TXT \ No newline at end of file
diff --git a/cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/printf.mit.txt b/cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/printf.mit.txt
new file mode 120000
index 0000000..5a6e342
--- /dev/null
+++ b/cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/printf.mit.txt
@@ -0,0 +1 @@
+../../../../../3rd-party/pico-sdk/src/rp2_common/pico_printf/LICENSE \ No newline at end of file
diff --git a/cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/tinyusb.mit.txt b/cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/tinyusb.mit.txt
new file mode 120000
index 0000000..22a67cf
--- /dev/null
+++ b/cmd/sbc_harness/static/Documentation/YOUR_RIGHTS_AND_OBLIGATIONS/tinyusb.mit.txt
@@ -0,0 +1 @@
+../../../../../3rd-party/pico-sdk/lib/tinyusb/LICENSE \ No newline at end of file
diff --git a/cmd/sbc_harness/static/Documentation/harness_flash_bin.txt b/cmd/sbc_harness/static/Documentation/harness_flash_bin.txt
new file mode 100644
index 0000000..115f2ee
--- /dev/null
+++ b/cmd/sbc_harness/static/Documentation/harness_flash_bin.txt
@@ -0,0 +1,33 @@
+NAME
+ /harness/flash.bin
+
+DESCRIPTION
+ Access to the flash storage chip (where the harness firmware
+ is stored).
+
+ 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
+ than it was compiled for, then the upper part of the chip
+ will not be accessible with this file. If the firmware is
+ loaded onto hardware with a smaller flash chip than it was
+ compiled for, then accessing the missing upper part of the
+ chip will crash.
+
+ - 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>
+ SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/cmd/sbc_harness/static/Documentation/harness_rom_bin.txt b/cmd/sbc_harness/static/Documentation/harness_rom_bin.txt
new file mode 100644
index 0000000..63fd0a3
--- /dev/null
+++ b/cmd/sbc_harness/static/Documentation/harness_rom_bin.txt
@@ -0,0 +1,41 @@
+NAME
+ /harness/rom.bin
+
+DESCRIPTION
+ Read access to the RP2040 CPU's ROM. This contains code that
+ initializes the chip to load the main firmware from the
+ external flash chip, provides a failsafe USB-programmable
+ mode, and provides a few functions that the main firmware can
+ call to.
+
+BUGS
+ This ROM is programmed into the chip at the factory; revising
+ it means issuing a new revison of the RP2040 CPU. So while
+ the source code to the ROM is freely available to be used,
+ studied, and shared; one cannot install modified versions onto
+ the CPU.
+
+HISTORY
+ - RP2040 B0 : chips manufactured before September 2020 or so
+ - RP2040 B1 : chips manufactured after September 2020 or so
+ - Released to the public January 2021; chance whether you get
+ a B0 or a B1 chip.
+ - RP2040 B2 : released September 2021
+
+ Printed on the physical CPU is a label that indicates which
+ revision it is. For example:
+
+ RP2-B2 21/24
+
+ indicates that it is the "B2" revision (and was manufactured
+ the 21st week (late May) of 2024).
+
+SEE ALSO
+ - /harness/cpuinfo.txt can report which CPU version you have.
+
+ - The source code to each ROM revision is published at
+ https://github.com/raspberrypi/pico-bootrom-rp2040
+
+AUTHOR
+ Copyright (C) 2025 Luke T. Shumaker <lukeshu@lukeshu.com>
+ SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/cmd/sbc_harness/static/Documentation/harness_uptime_txt.txt b/cmd/sbc_harness/static/Documentation/harness_uptime_txt.txt
new file mode 100644
index 0000000..1ab86f7
--- /dev/null
+++ b/cmd/sbc_harness/static/Documentation/harness_uptime_txt.txt
@@ -0,0 +1,17 @@
+NAME
+ /harness/uptime.txt
+
+DESCRIPTION
+ Reading this file gives a text string of the format
+ `sprintf("%uns\n", uptime_ns)` indicating the harness's uptime
+ in an integer number of nanoseconds.
+
+BUGS
+ Using nanoseconds gives the illusion of more precision than
+ there actually is; the harness' clock only has microsecond
+ resolution; the last 3 digits of the returned nanosecond count
+ will always be 0.
+
+AUTHOR
+ Copyright (C) 2025 Luke T. Shumaker <lukeshu@lukeshu.com>
+ SPDX-License-Identifier: AGPL-3.0-or-later