#nxp #cortex-m #lpc #signing-key #http-interface

bin+lib lpc55

Host-side tooling to interact with LPC55 chips via the ROM bootloader

12 releases

0.2.1 Jan 16, 2023
0.1.2 Sep 19, 2022
0.1.1 Mar 16, 2022
0.1.0-alpha.8 Nov 21, 2021
0.1.0-alpha.1 Jan 24, 2021

#194 in Configuration

Download history 70/week @ 2023-12-18 62/week @ 2023-12-25 13/week @ 2024-01-01 19/week @ 2024-01-08 25/week @ 2024-01-15 22/week @ 2024-01-22 32/week @ 2024-01-29 21/week @ 2024-02-05 39/week @ 2024-02-12 47/week @ 2024-02-19 45/week @ 2024-02-26 31/week @ 2024-03-04 34/week @ 2024-03-11 37/week @ 2024-03-18 12/week @ 2024-03-25 247/week @ 2024-04-01

336 downloads per month
Used in solo2

Apache-2.0 OR MIT

360KB
5.5K SLoC

Contains (ELF exe/lib, 390KB) example-binaries/blinky-red-bee.elf, (ELF exe/lib, 390KB) example-binaries/blinky-green.elf, (ELF exe/lib, 390KB) example-binaries/blinky-red.elf

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.

Dependencies

~18–31MB
~562K SLoC