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

Implement DMA for DualI2s. #752

Open
ProjectRobal opened this issue Apr 25, 2024 · 2 comments
Open

Implement DMA for DualI2s. #752

ProjectRobal opened this issue Apr 25, 2024 · 2 comments

Comments

@ProjectRobal
Copy link

Hello, I want to read audio data from ADC using I2S of STM32F411 microcontroller. I want to use DMA to do so. But I have no idea how to configure it. I have created a topic on the rust embedded forum, searching for a solution: https://users.rust-lang.org/t/dma-configuration-for-duali2s/110411
And one of the answers suggests that I cannot use DMA with DualI2s because of HAL oversight.
Is that true or am I missing something?

@burrbull
Copy link
Contributor

I don't know who can help you with this. Maybe @YruamaLairba ?

@YruamaLairba
Copy link
Contributor

And one of the answers suggests that I cannot use DMA with DualI2s because of HAL oversight. Is that true or am I missing something?

it's unfortunately true, it's currently impossible to use DMA with "DualI2s" without bypassing the HAL and doing dirty things. You can't create a "Transfer" around a "DualI2s" because "Transfer" system is build with the idea that one driver hold one peripheral, which is not the case with "DualI2s".

And, In my opinion, in many situation, "Transfer" system is not appropriate. For example it's impossible to share a device across interruption because Transfer need ownership of the device

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

No branches or pull requests

3 participants