Skip to content

sosthene-nitrokey/lpc55-host

 
 

Repository files navigation

lpc55

github docs.rs main build status

Goals

  • demystify the LPC55 ROM bootloader (at least for people who know Rust), by
    • modeling "protected flash" settings and other sparsely documented data as Rust types
    • implementing its protocol, removing leftover details for older chips
    • clarifying the cryptographic details
  • unify
    • NXP's elftosb, blhost and spsdk projects
    • molejar's pyMBoot
    • ergonomic corresponding TOML-based config files
  • library-first (independent of CLI), and an HTTP interface
  • support for non-file based signing keys (via PKCS #11 URIs)

Installation

cargo install --locked

Examples:

  • lpc55 info
  • lpc55 reboot

Examples from inside repository (which includes example binaries, certificates, configurations):

  • lpc55 fingerprint-certificates example-cfgs/example-cfg.toml
  • lpc55 sign-fw example-cfgs/example-cfg.toml
  • lpc55 assemble-sb example-cfgs/example-cfg.toml

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Tooling around the LPC55

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 97.6%
  • Shell 1.5%
  • Other 0.9%