STM32H723 - SPI stop working randomnly
Hi people,
Im working on STM32H723 module and using SPI6 with LL and/or registers. Even when using HAL libraries I have same issue. SPI stops working randomly
I need to send several messages every (e.g.) 25 ms, (I tried 50 ms). Main Clock is set to max speed, 550 MHz, SPI 6 clock is 137.5 MHz and using a clock divider of 16 it downs to 8.6 MHz
Two timers running, 1 ms ( run time tracking) and 25 ms (used for SPI6)
No other peripheral is active in this experiment (I have a bigger code with several peripherals enabled but run into SPI problems so I decided to test SPI only in this experiment)
This is SPI TxRx function


SPI is working in 8-bit mode. This function is called for every byte that needs to be transmitted. For example, a packet of 10 bytes will call this function 10 times. There are faster ways of doing that, I agree. For now, Im debugging SPI peripheral problems. Initialization of SPI is the one provided by IDE Init function. Basic one, no need to go deep into this section. Cache D and I is also disabled
It transmits bytes one-by-one. After reading errata info one of potential workaround is to enable/disable SPI. As you can see, it does that but issue is still present. This code is working fine for x amount of time (logic analyzer evidence) and then suddenly it goes stuck somewhere. I have a LED to toggle at TIM interruption (25 ms) to have a visual evidence SPI is working. When SPI fails, LED remains in last state (on or off)
As also, I added a delay after CSTART is set. Not working as well
I tried to add a while loop until EOT is set to one. This is causing nothing to transmit. Maybe it is at wrong line of code. But so far it is commented out
SPI is a basic peripheral, so I need this to move on
Have you guys found the solution to this problem?
