10 releases (5 breaking)
|0.10.0||Oct 2, 2022|
|0.9.0||Feb 26, 2021|
|0.8.2||Sep 21, 2020|
|0.8.1||Aug 21, 2020|
|0.5.0||Oct 12, 2019|
#329 in Embedded development
39 downloads per month
Hardware Abstraction Layer (HAL) for the NXP LPC800 series of microcontrollers, written in the Rust programming language. The LPC82x and LPC845 are currently supported. LPC8xx HAL provides a high-level interface to the features of LPC800 MCUs, that is safe, convenient, and efficient.
LPC8xx HAL leverages Rust's type system to prevent common mistakes. Things like attempting to use a peripheral that has not been properly initialized, or attempting to assign conflicting functions to the same pin, will all result in compile-time errors.
LPC82x HAL is still under heavy development. It is lacking APIs for many peripherals, and the APIs that already exist are mostly incomplete.
Do you need a feature that is currently missing? Please open an issue!
The existing APIs are expected to evolve significantly in the future. API stability is not guaranteed, which means future versions might not be compatible with code using the current version.
To include LPC8xx HAL in you project, add the following to your
[dependencies] lpc8xx-hal = "0.9"
If you want to use LPC8xx HAL in an application (as opposed to a library), there are additional things that need to be set up. Please refer to the API Reference for details.
To run one of the examples from this repository, please adapt the following command if you're using an LPC845-BRK board:
cargo embed lpc845 --example gpio_delay --features 845-rt
Or adapt the following command if using an LPCXpresso824-MAX board:
cargo embed lpc82x --example gpio_delay --features 82x-rt
The authoritative source on the supported MCUs are their respective user manuals, available from NXP.
Are you familiar with the LPC8xx family? We need your help, even if you are not using LPC8xx HAL. Some design issues require feedback from people familiar with the hardware and how it is used. Check out the help wanted tag on the issue tracker.
This project is open source software, licensed under the terms of the Zero Clause BSD License (0BSD, for short). This basically means you can do anything with the software, without any restrictions, but you can't hold the authors liable for problems.
See LICENSE for full details.
Supported by Braun Embedded