Skip to content

OpenDevicePartnership/embassy-imxrt

Repository files navigation

Embassy iMXRT HAL

no-std check rolling LICENSE

Introduction

HALs implement safe, idiomatic Rust APIs to use the hardware capabilities, so raw register manipulation is not needed.

The Embassy iMXRT HAL targets the NXP iMXRT Family of MCUs. The HAL implements both blocking and async APIs for many peripherals. The benefit of using the async APIs is that the HAL takes care of waiting for peripherals to complete operations in low power mode and handling of interrupts, so that applications can focus on business logic.

NOTE: The Embassy HALs can be used both for non-async and async operations. For async, you can choose which runtime you want to use.

For a complete list of available peripherals and features, see the embassy-imxrt documentation.

Hardware support

The embassy-imxrt HAL currently supports two main variants of the iMXRT family:

Several peripherals are supported and tested on both supported chip variants. To check what's available, make sure to the MCU you're targetting in the top menu in the documentation.

TrustZone support

TrustZone support is yet to be implemented.

Time driver

If the time-driver feature is enabled, the HAL uses the RTC peripheral as a global time driver for embassy-time, with a tick rate of 32768 Hz.

Embedded-hal

The embassy-imxrt HAL implements the traits from embedded-hal (v0.2 and 1.0) and embedded-hal-async, as well as embedded-io and embedded-io-async.

Interoperability

This crate can run on any executor.

Optionally, some features requiring embassy-time can be activated with the time feature. If you enable it, you must link an embassy-time driver in your project.

About

Embassy HAL for NXP IMXRT MCU family

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages