Closed wdfk-prog closed 3 months ago
Hello @wdfk-prog,
Would you please give us more details about how you got this issue? And please share snippet of the code you have used to reproduce this problem.
With regards,
Hello @HBOSTM ,
https://github.com/RT-Thread/rt-thread/blob/master/bsp/stm32/libraries/HAL_Drivers/drv_spi.c#L393
I'm not sure what other details need to be provided, what is the state of the register when it enters?Or the way to use it?
HAL library version updated from V1.10 to V1.11. I have the same problem. If the data in flash (W25Q) is read continuously through SPI, there is a certain probability that it will timeout. The timeout is in this place "HAL_SPI_Receive ->if (__HAL_SPI_GET_FLAG (hspi, SPI_FLAG_RXP)"
the new SPI H7 driver also has a problem with optimization & blocking mode
i used the old driver for stm32f4 without any problems in Keil armclang 6 with o1, o2, or o3. No Problem.
The new driver works only with o0. i think there is something optimized away(missing volatile or sth like that) i will try to reproduce and dig deeper to provide more information
Hello @ASELSTM, @HBOSTM, @TOUNSTM I can add some information from my side, in case it helps. I have a code that works on STM32H7 with library V1.10 and that doesn't work anymore after the upgrade to V1.11. It's compiled with ARMCLANG 6, with O1 optimization, so similar to what @fandelxin described in his post. I use TransmitAndReceive in blocking mode, 8 bit, as described by @wdfk-prog
This is what my code does, and what I see with library V1.11:
I had to downgrade to V1.10 and this is a showstopper for my project. I need a fix as soon as possible.
Let me know if I can do something in my investigation to help the team.
Hi @HBOSTM do you need some other detailon the issue, or is it clear? @wdfk-prog , @fandelxin , @axbusch do you have any news in the meanwhile?
This issue is a showstopper for me, and I had to downgrade
Regrettably, I am experiencing similar issues with the SPI peripheral, after upgrading to FW Package v1.11.1.
I am not able to investigate further at this time, but I had it working again by reverting both stm32h7xx_hal_spi.c
and stm32h7xx_hal_spi.h
to version v1.10.
I would like to thank the ST team for the hard work put into this. I know what it means.
I can give an update on my issue (not sure if this is the same for the others).
#define MX_SPI3_IRQn_interruptPremptionPriority 7
#define MX_SPI4_IRQn_interruptPremptionPriority 5
Not sure why this happened.
Hello All,
thank you for your Reports.
@wdfk-prog: the issue has already been fixed internally, and it will be available on the next release of STM32CubeH7 Firmware.
Regarding the problem with the function HAL_SPI_Receive(), Please refer to last comment 47
With regards,
ST Internal Reference: 172042
大家好,
感谢您的报告。
@wdfk-prog:该问题已在内部修复,并将在下一版本的 STM32CubeH7 固件中提供。
关于函数HAL_SPI_Receive()的问题,请参考最后评论47
带着敬意,
Hello @wdfk-prog,
Attached the update files, but please be careful because it contains many changes. It may cause some errors while building your project. In that case, you must wait for the release (which will be available after a few days).
Otherwise, I hope it will be useful and good luck.
With regards.
Fixed in abbf9ca1b36c9abdb9339e86f0b7b2f4e79edc35
Describe the set-up
Additional context
The cause of the problem
Screenshots If applicable, add screenshots to help explain your problem.