5 releases (3 breaking)
|new 0.3.0||Jun 10, 2021|
|0.2.1||May 2, 2021|
|0.1.1||Apr 23, 2021|
|0.0.4||Jan 31, 2021|
|0.0.3||Jan 6, 2020|
#35 in Embedded development
205 downloads per month
LPC55 HAL provides a high-level interface to the features of these LPC55 family of MCUs, which is safe, convenient and efficient. It leverages Rust's type system to prevent common mistakes, such as attempting to use an uninitialized peripheral; these will be caught by compile-time errors.
This library implements the
embedded-hal, a collection of traits intended to abstract
over platform-dependencies, allowing firmware and drivers to be quite portable.
It also implements the
Moreover, this library is compatible with the Cortex-M implementation of RTIC, a concurrency framework supporting preemptive multitasking with minimal footprint.
Very much work-in-progress!
Current peripherals that mostly work:
- I2C, SPI, Serial (with all pins)
- USB FS device
Next up will be:
See also the low-level companion library LPC55S6x PAC.
This HAL is intended to work with
The API documentation is located at https://docs.rs/lpc55-hal.
make fetch-docs downloads various vendor-supplied documentation:
- LPC55S6x Data Sheet
- LPC55 User Manual UM11126 (requires an NXP account)
- LPC55S6x Errata
- Cortex-M33 Generic User Guide
- LPCXpresso55S69 Development Board User Manual (requires an NXP account)
The intention of the
examples/ is to showcase the functionality of this library.
They run on the LPCXpresso55S69 development board.
After flashing J-Link firmware on the on-board LPCXpresso V2 debugger:
# in one terminal make jlink # in another terminal make run-example EXAMPLE=rtic_led # or any other example
To install rust, follow the install instructions from here: https://rust-embedded.github.io/book/intro/install.html
You also need following targets:
Just use following command:
rustup target add thumbv8m.main-none-eabi rustup target add thumbv8m.main-none-eabihf