Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

What is in ODP?

There are over 60 repositories that make up the whole of the ODP umbrella. Many of these are simply HAL definitions for particular hardware, but others define the critical business logic and data traits that comprise the portable and modular framework ODP provides. Many of the crates defined by these repositories may be interdependent.

Other repositories represented here define tools and tests that are useful in development.


Patina

RepositoryDescriptionTag
Developing UEFI with Rust(Document) Overview of ODP Patina and Rust, contribution guide, and build setup.Patina
patinaLibrary of crates implementing Patina UEFI code.Patina
patina-dxe-core-qemuBuilds .efi image from Patina libraries and local components for QEMU.Patina
patina-qemuQEMU platform firmware integrating .efi Patina binaries.Patina
patina-readiness-toolTests platform readiness for Patina.Patina
patina-fw-patcherSpeeds up incremental firmware build iterations vs. full stuart_build.Patina
patina-mtrrMTRR (Memory Type Range Register) library for x86_64.Patina
patina-pagingCommon paging support for ARM64 and x64.Patina
uefi-corosenseiUEFI fork of corosensei crate.Patina

EC

RepositoryDescriptionTag
embedded-servicesService definitions wrapping HAL components.EC
soc-embedded-controllerDemonstration of EC firmware built using ODP components.EC
embedded-batteriesSmartBattery spec traits for HAL abstraction.EC
embedded-sensorsEmbedded sensors HAL abstraction.EC
embedded-fansHAL definition for fan control.EC
embedded-power-sequenceSoC power on/off abstraction.EC
embedded-cfuImplements Windows CFU commands/responses.EC
embedded-usb-pdCommon types for USB-PD.EC
embedded-mcuMCU traits and libraries for hardware peripherals.EC
hid-embedded-controllerHID over I2C demo library for ECs.EC
ec-test-appTest application to exercise EC functionality via ACPI.EC
ffaFF-A services in Rust for Hafnium.EC
haf-ec-serviceRust EC services for Hafnium.EC
ec-slimloaderStage-one EC bootloader.EC
ec-slimloader-descriptorsBoot descriptors for multi-image firmware scenarios.EC
(plus all drivers, PACs, and HAL crates such as bq24773, bq40z50, tmp108, mec17xx-pac, npcx490m-examples, embassy-*, etc.)EC

Security

RepositoryDescriptionTag
rust_crate_auditsAggregated Rust crate audits.Security

Tooling

RepositoryDescriptionTag
odp-utilitesRust utilities for embedded development.Tooling
systemview-tracingAdds Segger SystemView tracing to ODP.Tooling
nxp-headerCLI utility for NXP image headers.Tooling