lpc55
=========================
[](https://github.com/lpc55/lpc55-host)
[](https://docs.rs/lpc55)
[](https://lpc55.github.io/lpc55-host/lpc55/index.html)
[](https://github.com/lpc55/lpc55-host/actions?query=branch%3Amain)
#### 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.