Expand description
Module format definition and serialization
The Speck module format is designed for:
- Compact representation (minimal overhead)
- Streaming parsing (no heap required for verification)
- Position independence (runtime relocatable)
- Extensibility (flags and reserved fields)
Re-exports§
pub use header::ModuleHeader;pub use header::HeaderFlags;pub use manifest::ModuleManifest;
Modules§
Structs§
- Module
- Complete module structure
- Module
Builder - Builder for constructing modules
- Signed
Module Builder - Intermediate builder for signed modules
Constants§
- FIXED_
HEADER_ SIZE - Size of fixed header (everything except code)
- FLAG_
COMPRESSED - Flag: Code is compressed (gzip)
- FLAG_
CRITICAL - Flag: Critical update (cannot be skipped)
- FLAG_
HW_ LOCKED - Flag: Module requires specific hardware revision
- FLAG_
SIGNED - Flag: Module is signed
- MAGIC
- Magic number for Speck modules: “SPK\x02” (version 2)
- MAX_
CODE_ SIZE - Maximum supported code size (1MB to fit in 20-bit offsets)