Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

drivers:serial Unable to achieve continuous reception on STM32 with async API #79999

Open
erwango opened this issue Oct 17, 2024 Discussed in #79831 · 0 comments
Open

drivers:serial Unable to achieve continuous reception on STM32 with async API #79999

erwango opened this issue Oct 17, 2024 Discussed in #79831 · 0 comments
Assignees
Labels
area: UART Universal Asynchronous Receiver-Transmitter Enhancement Changes/Updates/Additions to existing features platform: STM32 ST Micro STM32

Comments

@erwango
Copy link
Member

erwango commented Oct 17, 2024

Discussed in #79831

Originally posted by msmttchr October 15, 2024
We are having trouble using some of the lower-end MCUs (STM32F0, G0 and C0) for some of our end-devices.
The MCUs in these devices must support a UART interface at sustained 500Kbps with no flow control.
We've noticed data loss when using Zephyr v3.7.0 UART driver with UART_ASYNC_API.
Using this configuration we have seen data loss when the DMA interrupts and attempts to restart the DMA with a new buffer.
We believe the cause of the data loss is because the current driver implementation doesn’t process data quickly enough.

Normally, STM32 supports circular dma buffer management with ability to have half full irq and full irq, so that software can read previous half while current half is being filled. In this case, no dma buffer setup is needed during reception, but I believe Zephyr drivers model does not support circular buffer.

Could you please suggest how to handle this use case?

@erwango erwango added Enhancement Changes/Updates/Additions to existing features area: UART Universal Asynchronous Receiver-Transmitter platform: STM32 ST Micro STM32 labels Oct 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: UART Universal Asynchronous Receiver-Transmitter Enhancement Changes/Updates/Additions to existing features platform: STM32 ST Micro STM32
Projects
None yet
Development

No branches or pull requests

2 participants