diff options
Diffstat (limited to 'embassy-imxrt/README.md')
| -rw-r--r-- | embassy-imxrt/README.md | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/embassy-imxrt/README.md b/embassy-imxrt/README.md new file mode 100644 index 000000000..cfdfb8ce2 --- /dev/null +++ b/embassy-imxrt/README.md | |||
| @@ -0,0 +1,59 @@ | |||
| 1 | # Embassy iMXRT HAL | ||
| 2 | |||
| 3 | ## Introduction | ||
| 4 | |||
| 5 | HALs implement safe, idiomatic Rust APIs to use the hardware capabilities, so | ||
| 6 | raw register manipulation is not needed. | ||
| 7 | |||
| 8 | The Embassy iMXRT HAL targets the NXP iMXRT Family of MCUs. The HAL implements | ||
| 9 | both blocking and async APIs for many peripherals. The benefit of using the | ||
| 10 | async APIs is that the HAL takes care of waiting for peripherals to complete | ||
| 11 | operations in low power mode and handling of interrupts, so that applications | ||
| 12 | can focus on business logic. | ||
| 13 | |||
| 14 | NOTE: The Embassy HALs can be used both for non-async and async operations. For | ||
| 15 | async, you can choose which runtime you want to use. | ||
| 16 | |||
| 17 | For a complete list of available peripherals and features, see the | ||
| 18 | [embassy-imxrt documentation](https://docs.embassy.dev/embassy-imxrt). | ||
| 19 | |||
| 20 | ## Hardware support | ||
| 21 | |||
| 22 | The `embassy-imxrt` HAL currently supports two main variants of the iMXRT | ||
| 23 | family: | ||
| 24 | |||
| 25 | * MIMXRT685S | ||
| 26 | ([examples](https://github.com/OpenDevicePartnership/embassy-imxrt/tree/main/examples/rt685s-evk)) | ||
| 27 | * MIMXRT633s | ||
| 28 | ([examples](https://github.com/OpenDevicePartnership/embassy-imxrt/tree/main/examples/rt633)) | ||
| 29 | |||
| 30 | Several peripherals are supported and tested on both supported chip variants. To | ||
| 31 | check what's available, make sure to the MCU you're targetting in the top menu | ||
| 32 | in the [documentation](https://docs.embassy.dev/embassy-imxrt). | ||
| 33 | |||
| 34 | ## TrustZone support | ||
| 35 | |||
| 36 | TrustZone support is yet to be implemented. | ||
| 37 | |||
| 38 | ## Time driver | ||
| 39 | |||
| 40 | If the `time-driver` feature is enabled, the HAL uses the RTC peripheral as a | ||
| 41 | global time driver for [embassy-time](https://crates.io/crates/embassy-time), | ||
| 42 | with a tick rate of 32768 Hz. | ||
| 43 | |||
| 44 | ## Embedded-hal | ||
| 45 | |||
| 46 | The `embassy-imxrt` HAL implements the traits from | ||
| 47 | [embedded-hal](https://crates.io/crates/embedded-hal) (v0.2 and 1.0) and | ||
| 48 | [embedded-hal-async](https://crates.io/crates/embedded-hal-async), as well as | ||
| 49 | [embedded-io](https://crates.io/crates/embedded-io) and | ||
| 50 | [embedded-io-async](https://crates.io/crates/embedded-io-async). | ||
| 51 | |||
| 52 | ## Interoperability | ||
| 53 | |||
| 54 | This crate can run on any executor. | ||
| 55 | |||
| 56 | Optionally, some features requiring | ||
| 57 | [`embassy-time`](https://crates.io/crates/embassy-time) can be activated with | ||
| 58 | the `time` feature. If you enable it, you must link an `embassy-time` driver in | ||
| 59 | your project. | ||
