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

Serial DMA for STM32H7 #27633

Merged
merged 2 commits into from
Jan 24, 2025

Conversation

rondlh
Copy link
Contributor

@rondlh rondlh commented Jan 11, 2025

Description

Make the existing serial DMA more maintainable by using more HAL functions and HAL variables Added support for STM32H7

Requirements

This will benefit users with STM32H7 based boards. This is not only to improve performance, but in my case also solved serial data reliability issues where sometimes a serial byte was corrupted. Using DMA solved this issue.

Benefits

Lower MCU utilization, higher serial data transmission reliability

Configurations

Just enabled SERIAL_DMA in Configuration_Adv.h

Related Issues:
#27601
#27633

Make existing serial DMA more maintainable by using more HAL functions and HAL variables
Added support for STM32H7
@thisiskeithb thisiskeithb linked an issue Jan 11, 2025 that may be closed by this pull request
@thinkyhead thinkyhead added T: HAL & APIs Topic related to the HAL and internal APIs. A: STM32 labels Jan 24, 2025
@thinkyhead
Copy link
Member

Everything looks reasonable and complete to me! If something was missed, we'll have to leave it to testers to discover it.

@thinkyhead thinkyhead merged commit 7f598ae into MarlinFirmware:bugfix-2.1.x Jan 24, 2025
64 checks passed
@rondlh
Copy link
Contributor Author

rondlh commented Jan 24, 2025

Everything looks reasonable and complete to me! If something was missed, we'll have to leave it to testers to discover it.

I'm quite confident, I tested on hardware covering all code "paths" and compiled it for all STM32 platforms. It's not so far away from the previous version anyway.

@dbuezas
Copy link
Contributor

dbuezas commented Feb 26, 2025

When I enable this in my SKR 3, the board locks in the startscreen with the Marlin logo.
I only have serial 3 enabled (the one plugged to the wifi board):
#define SERIAL_PORT 3
#define BAUDRATE 500000

Is it incompatible with that port?

@dbuezas
Copy link
Contributor

dbuezas commented Mar 1, 2025

It seems DMA works on SERIAL_PORT 1, but not in port 3.
This is a pity since port3 is where the wifi board is

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: STM32 T: HAL & APIs Topic related to the HAL and internal APIs.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FR] SERIAL_DMA feature for STM32H7xx
3 participants