
the `bind_interrupts` macro creates a `struct` for the interrupts. it was so far not possible to document those (except for STM32) and there was no generic documentation being generated/added either, thus the `missing_docs` lint was triggered for consumers which enabled it. with this change it is now possible to manually add a comment on the `struct` being defined in the macro invocation. to show that this works one RP example has been modified accordingly.
Embassy iMXRT HAL
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.