Expand description
The boot image the board’s flash holds after its bitstream: a header the boot ROM checks, then a DEFLATE-compressed body of sections — the shim, the compiler (a static riscv64 Linux ELF), the bundle of LOGOS sources it may open, and, when a run is given them, the compiler’s arguments. The boot ROM refuses an image whose RTL fingerprint is not the bitstream’s, digests the compressed stream as it inflates it, and refuses one whose digest does not match.
Structs§
- Boot
Image - What a boot image carries.
Functions§
- body
- The inflated body: a u32 section count and a reserved u32, the table of (u32 kind, u32 flags, u64 offset, u64 length), then each section at an 8-byte-aligned offset from the body’s start.
- build
- The image as the flash holds it at
IMAGE_OFFSET: the 128-byte header, then the compressed body. - bundle_
bytes - The bundle’s bytes: a u32 count, then per file its u32 name length, the name, its u64 length and its bytes.
- open
- An image read back: its fingerprint and its inflated body, every check the boot ROM makes applied.
- pack
- The body’s compression: raw DEFLATE at the strongest level, the stream the boot ROM inflates.