# 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).