#硬件抽象层 #抽象层 #NXP #Cortex-M #安全抽象 #LPC #嵌入式HAL实现

无std lpc55-hal

NXP LPC55S6x ARM Cortex-33 微控制器的硬件抽象层 (HAL)

5个版本 (3个重大更新)

0.3.0 2021年6月10日
0.2.1 2021年5月2日
0.1.1 2021年4月23日
0.0.4 2021年1月31日
0.0.3 2020年1月6日

#1528 in 嵌入式开发

每月46次下载
用于se05x

Apache-2.0 OR MIT

415KB
9K SLoC

NXP LPC55系列Cortex-M33微控制器的硬件抽象层 (HAL),用Rust编写。

Build Status crates.io LICENSE Documentation Documentation (master)

LPC55 HAL提供了对这些LPC55系列MCU功能的高级接口,它是安全、方便且高效的。它利用Rust的类型系统来防止常见错误,例如尝试使用未初始化的外设;这些错误将在编译时被捕获。

此库实现了embedded-hal,这是一组旨在抽象平台依赖的特质,使得固件和驱动程序非常易于移植。

它还实现了usb-device框架。

此外,此库与Cortex-M的RTIC实现兼容,RTIC是一个支持最小占位符的抢占式多任务处理的并发框架。

状态

非常多的正在进行中的工作!

大多数功能正常的外设

  • I2C、SPI、串行(所有引脚)
  • USB FS 设备

接下来将进行

另请参阅低级配套库LPC55S6x PAC

此HAL旨在与cortex-m-rtic v0.5一起使用。

文档

API文档位于https://docs.rs/lpc55-hal

此外,使用make fetch-docs下载各种供应商提供的文档

示例

examples/ 的目的是展示这个库的功能。

它们运行在 LPCXpresso55S69 开发板上。

在板载 LPCXpresso V2 调试器上刷写 J-Link 固件

# in one terminal
make jlink

# in another terminal
make run-example EXAMPLE=rtic_led  # or any other example

设置

要安装 Rust,请按照以下说明进行: https://rust-embedded.github.io/book/intro/install.html

您还需要以下目标

  • thumbv8m.main-none-eabi
  • thumbv8m.main-none-eabihf

只需使用以下命令

  rustup target add thumbv8m.main-none-eabi
  rustup target add thumbv8m.main-none-eabihf

许可证

Apache-2.0MIT

代码的一部分直接来自 LPC8xx HAL,其他来自各种 STM32 HALs

依赖项

~15MB
~413K SLoC