diff --git a/historical_blobs/README.md b/historical_blobs/README.md new file mode 100644 index 0000000..3d5faad --- /dev/null +++ b/historical_blobs/README.md @@ -0,0 +1,32 @@ +# Historical RK3588 DDR blob snapshots + +Extracted from the rkbin git log for cross-version analysis. v1.19 is +the deployed version; v1.16-v1.18 are the closest-in-time prior revisions. + +| file | size | commit msg | +|------|------|------------| +| v1.16.bin | 75480 B | "update ddrbin to v1.16" — 2736 MHz LP5 dropped | +| v1.17.bin | 73456 B | "update ddrbin to v1.17" — smaller, feature cull | +| v1.18.bin | 75320 B | "update ddrbin to v1.18" — single-rank LPDDR5 derate crash per BUG_ANALYSIS.md | +| v1.19 | 76704 B | current deployed (in `rkbin/bin/rk35/`) | + +## Byte-level divergence + +Each release is essentially a near-rewrite, NOT a patch: + + v1.17 vs v1.18: ~88% bytes differ + v1.18 vs v1.19: ~88% bytes differ + v1.16 vs v1.19: even higher + +This explains why cross-version symbol porting (via Polypyus or BinDiff) +has low yield on this target — not enough preserved byte sequences. +Function-level fuzzy matching (i.e., reduce each function to an opcode +silhouette with wildcards for branch targets and immediates) would help, +but requires Ghidra-analysed baselines in each version, not just +one-sided v1.19 annotations. + +## Tooling note (2026-04-15) + +Attempted Polypyus → blocked by Python 3.14 / pony 0.7 decompiler +incompatibility. See `project_rk3588_ddr.md` memory for retry options +(pyenv Python 3.11, or switch to BinDiff CLI which has no Python dep). diff --git a/historical_blobs/SHA256SUMS b/historical_blobs/SHA256SUMS new file mode 100644 index 0000000..284432a --- /dev/null +++ b/historical_blobs/SHA256SUMS @@ -0,0 +1,6 @@ +5aa6271195e422a2c30a8e801baa64e4a10cbc6a5f1963f9a29e6dc85096c7bf v1.16.bin +9e0095a52febfc0f57297dff71ecc82d1686b94d47be00c21391446fc6927f7a v1.17.bin +d89d40a8183b099589bfcffc5cc2ce9d874eb5b1d19b78bdad2cfcf45b9cb68f v1.18.bin +5aa6271195e422a2c30a8e801baa64e4a10cbc6a5f1963f9a29e6dc85096c7bf v1.16.bin +9e0095a52febfc0f57297dff71ecc82d1686b94d47be00c21391446fc6927f7a v1.17.bin +d89d40a8183b099589bfcffc5cc2ce9d874eb5b1d19b78bdad2cfcf45b9cb68f v1.18.bin diff --git a/historical_blobs/v1.16.bin b/historical_blobs/v1.16.bin new file mode 100644 index 0000000..6aaaaa1 Binary files /dev/null and b/historical_blobs/v1.16.bin differ diff --git a/historical_blobs/v1.17.bin b/historical_blobs/v1.17.bin new file mode 100644 index 0000000..8e597e2 Binary files /dev/null and b/historical_blobs/v1.17.bin differ diff --git a/historical_blobs/v1.18.bin b/historical_blobs/v1.18.bin new file mode 100644 index 0000000..0697ebd Binary files /dev/null and b/historical_blobs/v1.18.bin differ