summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorLuke T. Shumaker <lukeshu@lukeshu.com>2025-02-24 07:49:46 -0700
committerLuke T. Shumaker <lukeshu@lukeshu.com>2025-02-26 16:10:28 -0700
commitab15e12dd7b26831f4efe5f09d7ecc71d5c68cc7 (patch)
treed4871047da5603146df3dbc0f7bdc53b81a692c9 /README.md
parente0a04cbc3d159a84a1aa845743a0b89981e16224 (diff)
Upgrade pico-sdk
Diffstat (limited to 'README.md')
-rw-r--r--README.md28
1 files changed, 21 insertions, 7 deletions
diff --git a/README.md b/README.md
index 0e4b280..1256af3 100644
--- a/README.md
+++ b/README.md
@@ -18,15 +18,29 @@ At the time of this writing, on Parabola GNU/Linux-libre that means:
- arm-none-eabi-binutils 2.42-1
- arm-none-eabi-gcc 14.1.0-1
- arm-none-eabi-newlib 4.4.0.20231231-1
- - picotool 2.0.0-2
+ - picotool 2.1.1-1
Then, simply run `make`. This will create
-`build/rp2040-*/cmd/sbc_harness/sbc_harness.{bin,uf2,elf}` files. The
-`.bin` file is the raw firmware image; the `.uf2` file is that wrapped
-into a [USB Flashing Format (UF2)](https://github.com/microsoft/uf2)
-container that can be used with the bootrom flasher (yes, the
-`.uf2` is expected to be about twice the size of the `.bin`); the
-`.elf` is the firmware image plus debugger symbols.
+`build/rp2040-*/cmd/sbc_harness/sbc_harness.{elf,bin,hex,uf2}` files:
+
+ - The `.elf` is the firmware image plus debugger symbols and
+ relocation data.
+ - The `.bin` file is the raw firmware image (`objcopy -Obinary
+ INFILE.elf OUTFILE.bin`).
+ - The `.hex` file is the raw firmware image, encoded in the [Intel
+ HEX](https://archive.org/details/IntelHEXStandard) format (`objcopy
+ -Oihex INFILE.elf OUTFILE.hex`). Note that unlike the `.bin`, the
+ `.hex` may contain gaps/holes; holes are filled with 0x00-bytes in
+ the `.bin`, but tools for working with the `.hex` may fill them
+ with other data, causing minor differences when comparing the
+ `.bin` and `.hex`. (Yes, the `.hex` is expected to be about 2.8
+ times the size of the `.bin`; twice for being ASCII-encoded hex,
+ plus another 13 bytes overhead for every 16 bytes of input.)
+ - The `.uf2` file is the `.bin` wrapped into a [USB Flashing Format
+ (UF2)](https://github.com/microsoft/uf2) container that can be used
+ with the bootrom flasher. (Yes, the `.uf2` is expected to be about
+ twice the size of the `.bin`; each 128-byte block of input is
+ wrapped in a 256-byte UF2 block.)
There are several ways of putting this firmware file onto the harness: