Skip to main content

Module image

Module image 

Source
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§

BootImage
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.