#nxp #embedded-hal #no-std #keazn64

no-std kea-hal

适用于 NXP KEA 设备的 HAL

5 个版本 (破坏性更新)

0.5.0 2021 年 8 月 18 日
0.4.0 2021 年 7 月 7 日
0.3.0 2021 年 6 月 9 日
0.2.1 2021 年 6 月 2 日
0.1.0 2021 年 5 月 26 日

#1746 in 嵌入式开发

MIT 许可证

140KB
2K SLoC

KEA-HAL

docs.rs crates.io crates.io

A 硬件抽象层 (HAL) 实现 NXP KEA64 (SKEAZN642) 系列微控制器的 embedded-hal 特性。此 HAL 依赖于 SKEAZN642 外设访问 crate。目标是扩展此 HAL 以涵盖 KEA 系列中的所有微控制器。

状态

此项目正在开发中。如果它不起作用,那么它可能尚未完全实现。欢迎提交 pull request。这是一个副项目,预期会有响应延迟。

兼容性

此 crate 是针对 S9KEAZN32AMLH 在 FRDM-KEAZ32Q64 开发板上开发的。它应该与 KEA 系列中的所有部件兼容。应通过功能标志(例如,没有板载 EEPROM)来解决系列内部的差异。

在 KEA 系列之外,NXP(原 Freescale)对其外设保持了相当一致的用户界面。简要看来,S32K11x 和 KE06 应该会很好地由此 crate 支持。

KEA64 模块功能类别

这是 NXP 如何将此子系列中的外设模块分组。crate 不一定遵循此布局,因为更合理的是尽可能与其他 HAL crate 保持相似和惯用的风格。这部分保留在 NXP 的顺序中,主要是为了理解其推理。一旦此 HAL 进入生产就绪状态,此层次结构将被删除或修改以匹配实现。一旦模块或外设(主要)实现,将放置一个勾号在其旁边。

  • 核心 - ARMv6 Cortex-M 内核(见 cortex-m
    • NVIC - 嵌套向量中断控制器
    • AWIC - 异步唤醒中断控制器
    • IOPORT - 单周期 I/O。由快速 GPIO (FGPIO) 模块使用
    • SWD - 单线调试
  • 系统
    • SIM - 系统集成模块
    • PMC - 电源管理和模式控制器
    • MCM - 杂项控制模块
    • BME - 位操作引擎。原子读取/修改/写入操作
    • AIPS - 外设桥。将 ARM AHB 与外设接口
    • WDOG - �看门狗
  • 内存 - Flash、EEPROM、SRAM。FTMRH 外设用于交互
  • 时钟
    • OSC
      • 外部晶振/谐振器
      • 外部时钟
    • ICS - 内部时钟参考。31.25 - 39.0625kHz 振荡器
    • LPO - 1kHz 低功耗振荡器
    • 锁相环
  • 安全
    • WDOG - 带独立时钟源的看门狗
    • CRC模块(错误检测)
  • 模拟
    • ADC - 12位,16通道
    • 2x ACMP - 模拟比较器
    • DAC - 6位(64抽)电阻梯形网络。
  • 定时器
    • FTM
      • 一个6通道FlexTimer,功能全面
      • 两个2通道FlexTimer,基本TPM功能
    • 2x PIT - 周期性中断定时器
    • RTC - 实时时钟
    • SysTick - 系统滴答定时器
  • 通信
    • 2x SPI - 8位串行外围设备接口
    • I2C - 内部集成电路
    • 3x UART(一些设备可能更少)
  • HMI
    • GPIO
    • 2x KBI - 键盘中断
    • IRQ - 中断

依赖项

~4MB
~103K SLoC