commit | 3ca23db2114f54240f7d045a5a6723281a67ce19 | [log] [tgz] |
---|---|---|
author | Christoph Klee <chklee@google.com> | Wed Feb 28 00:47:41 2024 +0000 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Feb 28 00:47:41 2024 +0000 |
tree | eeadbd96caffb11cce80c5bf6c8e84b2acfd2722 | |
parent | 6992b4612b3a18aa63ca6966cbde497972ecb23a [diff] |
pw_stream_uart_mcuxpresso: Implement DoWrite DMA This change implements the DoWrite version for USART DMA transfers. The expectation is that DoWrite is only driven by a single thread who writes out data. A transfer is limited to kUsartDmaMaxTransferCount bytes. If a TX transaction is larger than kUsartDmaMaxTransferCount bytes, the transfer will be split up into several transactions. The TxRxCompletionCallback will issue a TriggerWriteDma call if the completion callback didn't complete the TX transaction. Once the TX transaction has been completed, the thread calling DoWrite will be unblocked. Change-Id: I730b2df913b16cf733ea74d3f39a377f8bebf787 Bug: 325514698 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192892 Reviewed-by: Austin Foxley <afoxley@google.com> Commit-Queue: Christoph Klee <chklee@google.com>
Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.
For more information please see our website: https://pigweed.dev/.