Connectivity - UART / Serial - nordic,nrf-uarte
nRF5340 UARTE (UART with EasyDMA)
UART with EasyDMA model. `TASKS_STARTTX` queues an EasyDMA read of `TXD.PTR`/`TXD.MAXCNT` from guest SRAM (console bytes are routed by the bus); the bus reports completion back, latching `EVENTS_ENDTX`. Received bytes pass through a 4-byte hardware FIFO into the active `RXD` buffer via DMA writes, with ENDRX/RXTO and SHORTS handling and level-sensitive IRQ re-evaluation on every event change.
tickableext_dmaemits: signal_pulseemits: dmahandles: uart_rxhandles: custom
Events emitted
No peripheral-specific events. Structured activity (IRQs, DMA) surfaces through the shared event vocabulary.
Events accepted
vemu.easydma.tx_completeBus-internal completion: an EasyDMA TX transfer finished.
Payload
| Field | Type | Description |
|---|---|---|
byte_count | u32 | Bytes actually transferred. |
req_id | u32 | Transfer id echoed from the DMA request. |
Commands
This peripheral exposes no commands.
Snapshot fields
| Field | Type | Label |
|---|---|---|
| state_json | str | UARTE State Summary (JSON) |
| inten | u32 | INTEN (interrupt enable mask) |
| enable | u32 | ENABLE (0=disabled, 8=enabled) |
| rx_active | bool | RX active (EasyDMA RX transfer in progress) |
| errorsrc | u32 | ERRORSRC (error source bitmask) |
| baudrate | u32 | BAUDRATE register value |
| shorts | u32 | SHORTS bitmask |
| rxd_amount | u32 | RXD.AMOUNT (bytes received into current DMA buffer) |
| txd_amount | u32 | TXD.AMOUNT (bytes sent in last DMA transfer) |
Read at runtime with emulator.peripheral_snapshot(name).