i am using the STM32F030RC for a customer project. To SPI1 we have connected a SPI-Flash device (SST25VF040B). I am using Cube MX (4.19) to generate as much initialization code as possible.
So i have configured the SPI to Full Duplex Master mode with 8Bit Data Size, Motorola Frame Format.
The Problem i am facing is, that i can not read out consitend data from the flash device ( I am reading 20 Bytes in my example).
Erasing and writing the flash works fine but reading the data does not work. I checked the interface by connecting a logic analyzer (SALEA) to verify the SPI bus itself. What i see on the pin level looks perfect (see attachement), but the received data in the receive buffer ist corrupted.
After that i set a breakpoint within the cube generated driver directly before the SPI DR-Register is read out. Doing that fixes the problem. Setting the breakpoint behind reading the DR-Register shows the problem.
Finally i visited the Errata Sheet and found the paragraph 2.5.7 Packing Mode Limitation. (I am using Rev A Silicon)
And now the questions:
1. Do i really see the problem that is described in 2.5.7? Please let me know if you need more information to answere this question.
2. Is there a new Silicon Revision planed that fixes the problem? If yes, when will it be available?
3. Is there any way to avoid the packing mode? Maybe by changing the HAL driver code?
4. I know that the current version of the CubeMX is 4.20. Is this problem fixed in that version?
5. Is there a patch (or something similar) available to fix this?
Any Help is highly appreciated