-
Notifications
You must be signed in to change notification settings - Fork 208
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
dma: add Mem2Mem to support memory to memory transfer #1738
Conversation
tested on esp32c3,esp32c6 (will have an esp32h2 in a few days)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we could add a test for this, it could be very very similar to the example. This could be added in this PR or in a following PR.
Test added |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM - Thanks! Feel free to address or ignore the nit-pick comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, LGTM!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For some reason, on S3, the new test passes but makes other DMA tests fail and leaves it on a weird state that even subsequent runs fail (unless we erase the flash).
Merge queue action run: https://github.com/esp-rs/esp-hal/actions/runs/9779910668/job/27001936414
We have two options: Investigate the issue and fix it or cfg the mem2mem test for S3 and add the issue in #1524
I think I have a fix - will push shortly. |
Thank you for your contribution!
We appreciate the time and effort you've put into this pull request.
To help us review it efficiently, please ensure you've gone through the following checklist:
Submission Checklist 📝
cargo xtask fmt-packages
command to ensure that all changed code is formatted correctly.CHANGELOG.md
in the proper section.Extra:
Pull Request Details 📖
Implement memory to memory copy via DMA
Description
Utilize hardware support for memory copy via DMA.
Mem2Mem::new_unsafe()
External memory support for esp32s3 will be a separate PR.
Testing
new
dma_mem2mem
example: