diff options
| author | Gabriel Schneider <[email protected]> | 2026-08-26 11:11:46 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-08-26 11:11:46 -0300 |
| commit | fc7d3274c41ebc83911c5a6d1225cecea270cc86 (patch) | |
| tree | be6105f3b1600acb308fc346dc4884dff151c056 /tools | |
| parent | 27a749d3a2155419fb72bab66b1e78bcd99882ae (diff) | |
| download | pardes-fc7d3274c41ebc83911c5a6d1225cecea270cc86.tar.gz pardes-fc7d3274c41ebc83911c5a6d1225cecea270cc86.zip | |
Fit Hexdump to the board's width, and cut the boot buffer down to addresses
## Eight bytes a row on the P4
`hexdump -C`'s sixteen needs 79 columns: ten for the address, forty-eight of hex, a gap,
and eighteen of ASCII gutter. The board drives 56 columns of which seven go to the line
numbers, so every row wrapped onto a second display line and the columns stopped lining
up - which is the entire value of the layout. Eight fits in 46 and keeps every property
that matters, including a gap at the halfway mark, because the eye counts in fours and
eights rather than in sixteens.
Verified on the die:
0x40000020 32 54 cd ab 00 00 00 00 |2T......|
0x40000030 30 2e 31 00 00 00 00 00 |0.1.....|
That is the app descriptor: 0xABCD5432 and the version string, read out of flash by a
command typed with no 0x on either argument.
## The boot buffer is shorter, and its addresses are named
The first draft opened with four lines of prose explaining that there is no operating
system. True, unhelpful, and it cost a third of a fourteen-row window before the first
command. One header line earns its place; the rest of the screen is addresses.
The two LP registers at the end are now named, because they are named in ESP-IDF's own
headers and the names are the interesting part: 0x5011002c is LP_SYSTEM_REG_LP_STORE0, a
general-purpose retention register that holds what you put in it, and 0x501101a4 is
LP_SYSTEM_REG_RNG_DATA, the hardware random generator. Between them they demonstrate the
whole point of a volatile read - one address gives back what was written, the other never
gives the same answer twice:
Poke 5011002c deadbeef -> 0x5011002c: wrote 0xdeadbeef, reads 0xdeadbeef
Peek 5011002c -> 0x5011002c: 0xdeadbeef
Peek 501101a4 -> 0x501101a4: 0x0b099791
Peek 501101a4 -> 0x501101a4: 0xfc97f3b7
All four run on the die, all with bare hex. Peek and Poke had not been tested there before
this - only Hexdump had, which I had let stand as though it covered all three.
snap 95/95, hxdiff 481/0, hxparity 561/0, unit-test, tty/p4/gui.
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions
