Gateware v0.16.0 (KDI contract 0.5)
·
3 commits
to main
since this release
Gateware for the Keyvast acquisition instrument, implementing KDI contract 0.5.
| file | keyvast-v0.16.0-kdi0.5.bit |
| implements | KDI contract 0.5 -- see the spec-v0.5.0 release |
gateware_sha |
7467bbf3 |
| size | 2765617 bytes |
| sha256 | b90ddcb43d87cd7fe83ab1adc465f4b8835a070b9a29a238caabf7e75463d053 |
manifest.json beside this image carries the same values for a program to read.
Verify what you flashed
The firmware is already baked into the bitstream; load it over USB3. ReleaseManifest::judge
refuses an image whose bytes do not hash to the value above, and refuses a contract major this
host cannot bind to, before a byte reaches the board:
let m = kdi::ReleaseManifest::parse(&std::fs::read_to_string("manifest.json")?)?;
let dev = kdi::Device::open_usb3_from_manifest("", &std::fs::read("keyvast-v0.16.0-kdi0.5.bit")?, &m)?;
assert_eq!(format!("{:08x}", dev.gateware_sha()), "7467bbf3");A host built against contract 0.5 will bind to this gateware; the handshake checks the
contract major itself and refuses a mismatch rather than misreading frames.