xref: /aosp_15_r20/external/pigweed/pw_uart_mcuxpresso/docs.rst (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1.. _module-pw_uart_mcuxpresso:
2
3==================
4pw_uart_mcuxpresso
5==================
6``pw_uart_mcuxpresso`` implements the ``pw_uart`` interface for reading
7and writing to a UART using the NXP MCUXpresso SDK.
8
9The only implementation currently provided is ``DmaUartMcuxpresso``, which
10uses DMA transfers to read and write to the UART, minimizing CPU utilization.
11
12.. note::
13  For a simpler UART interface, see ``pw_stream_uart_mcuxpresso``.
14
15Setup
16=====
17This module requires a little setup:
18
191. Use ``pw_build_mcuxpresso`` to create a ``pw_source_set`` for an
20   MCUXpresso SDK.
212. Include the debug console component in this SDK definition.
223. Specify the ``pw_third_party_mcuxpresso_SDK`` GN global variable to specify
23   the name of this source set.
244. Use a target that calls ``pw_sys_io_mcuxpresso_Init`` in
25   ``pw_boot_PreMainInit`` or similar.
26
27The name of the SDK source set must be set in the
28"pw_third_party_mcuxpresso_SDK" GN arg
29
30Usage
31=====
32
33``DmaUartMcuxpresso`` example:
34
35.. literalinclude:: dma_uart_example.cc
36   :language: cpp
37   :linenos:
38   :start-after: [pw_uart_mcuxpresso-DmaUartExample]
39   :end-before: [pw_uart_mcuxpresso-DmaUartExample]
40