Skip to content

Emulation: the UARTs receive by interrupt - #125

Merged
JohnAmadis merged 1 commit into
masterfrom
fix/emulation-uart-rx-dma
Oct 11, 2026
Merged

JohnAmadis merged 1 commit into
masterfrom
fix/emulation-uart-rx-dma

Conversation

@JaxCalder

Copy link
Copy Markdown
Contributor

Summary

The Renode tests fail since dmuart receives by DMA (dmuart#8): the console prints its prompt but reads nothing (echo prints its argument: no prompt after ..., the rest of the steps skipped). Renode's STM32F7 USART has no DMA request line, so a UART receiving by DMA gets no data in the emulator.

In emulation mode the downloaded dmuart configurations get rx_dma=0 (scripts/emulation_uart_config.cmake, run after the modules are downloaded), which makes the UART receive by interrupt. The hardware build is not changed.

Needs choco-technologies/dmuart#9 (the rx_dma key) released; until then the key is ignored.

Testing

I could not run the Renode tests locally (the monitor-gdb step times out on my machine), so the cause is read from the CI log and not confirmed in Renode. The script was run on the real usart1.ini: rx_dma=0 lands in the section once, and a second run changes nothing.

🤖 Generated with Claude Code

dmuart receives by DMA now, which Renode's STM32F7 USART cannot serve (no
request line to the DMA): the console shows its prompt but reads nothing, so
the UART step of the Renode tests fails. In emulation mode the downloaded
dmuart configurations get rx_dma=0 (dmuart's key for receiving by
interrupt); the hardware keeps the DMA.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@JohnAmadis
JohnAmadis merged commit cbd7710 into master Oct 11, 2026
9 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants