Skip to main content
ANeam.1
Associate II
January 31, 2023
Question

STM32H7 SPI6 with BDMA

  • January 31, 2023
  • 1 reply
  • 3724 views

Hi,

I have a project with an IOC configuring an STM32H733. In the IOC I configured the SPI6 in Full-Duplex Master. I also configured the BDMA channel 0 to serve requests of SPI6_TX. The project is pretty old and when I configured it like this I only enabled the BDMA channel 0 global interrupt (I did not really need to enable SPI6 global interrupt).

Recently I wanted to make modifications to my IOC and I had to migrate the project to the STM32CubeMX V6.7.0 with STM32Cube FW_H7 V1.11.0. With this migration now it seems that the STM32CubeMX forces the SPI6 global interrupt to be enabled and I cannot disable it (it is grayed out).

After some testing, I figured that this automatic force is caused by enabling BDMA for this SPI. I tried to find an answer without success in the release notes of the STM32CubeMX. I would like to know why the new version of IOC now forces the SPI6 global interrupt to be enabled. Can someone help me and shed some light on this?

Thank you!

This topic has been closed for replies.

1 reply

Technical Moderator
February 1, 2023

Hello @ANeam.1​ and welcome to the Community :)

Do you mean that you cannot "check/checkout" the SPI6 global interrupt t as in the below screenshot?

0693W00000Y9hICQAZ.png 0693W00000Y9hHsQAJ.png 

Imen

"When your question is answered, please close this topic by clicking ""Accept as Solution"".ThanksImen"
ANeam.1
ANeam.1Author
Associate II
February 1, 2023

Hi Imen,

Yes, when the BDMA is configured, this checkbox you show in the picture is automatically checked and grayed out, so I cannot uncheck it :(

I have the BDMA configured like so 0693W00000Y9iboQAB.png 

and now the checkbox is grayed out and cannot be disabled

0693W00000Y9ic8QAB.png 

Of course, if I have no BDMA configured, I can check or uncheck the SPI6 global interrupt.

0693W00000Y9id1QAB.png0693W00000Y9id6QAB.png0693W00000Y9idkQAB.png

Technical Moderator
February 2, 2023

Hi @ANeam.1​,

BDMA is used with the SPI6 as BDMA_REQUEST_SPI6_RX/TX, because SPI6 itself is in D3.

The basic-DMA controller (BDMA) located in the D3 domain has only access to the resources located in that domain including Backup SRAM.

Imen

"When your question is answered, please close this topic by clicking ""Accept as Solution"".ThanksImen"