renesas: vendor CDBs from pioneer-optical

The identity read (3C 02 F1), the two gated memory reads (3C 02 B0 at 0x04
and 0x500000, 0xA4 bytes) and the read-unlock knock (3B 02 41 A5 AA AA) come
from the crate's constructors; the bytes on the wire are unchanged and the
knock test still pins them. The crate's flash::read_memory is not used: it
knocks before every read and stops on a refused knock, where this sequence
reads first and tries the second window even when the knock is refused.
This commit is contained in:
Matthew Jackson
2026-10-04 18:42:19 -07:00
parent 17e33f89cf
commit 800c78f86b
4 changed files with 29 additions and 14 deletions
+2
View File
@@ -30,6 +30,8 @@ rand = "0.10"
# material on drop so it doesn't linger in freed memory (defence in depth atop
# the redacting Debug impls). `derive` gives ZeroizeOnDrop for the key structs.
zeroize = { version = "1", features = ["derive"] }
# Pioneer/Renesas vendor CDB constructors (identity read, gated memory read, knock).
pioneer-optical = "0.7"
[lints.clippy]
uninlined_format_args = "allow"