2023-06-07 09:23 AM
Hi,
This is driving me crazy, let me explain.
Setup : NucleoU575 with MX25R6435F in QSPI with wire jumper cables.
Here's a code adapted from an ST example for the stm32l496g_discovery.
The modifications were minor, and we simplified it to the maximum, just:
If I keep the initial row:
uint8_t aTxBuffer[] = "QSPI communication based on DMA QSPI communication based on DMA QSPI communication based on DMA QSPI communication based on DMA QSPI communication based on DMA QSPI communication based on DMA";
This works as expected, even when I play with it by changing random letters, and the test is consistent and can be repeated several times with no errors.
The madness starts here: if I replace it (and that's the only modification) with another row string like this one:
uint8_t aTxBuffer[] = "This is a test let's try it";
Now, the readbacks are incomplete and inconsistent (stop randomly before), even though the second row is smaller.
By the way, I checked the status, config, and secured registers, and everything is fine there.
Any suggestions or ideas?
Thanks
Solved! Go to Solution.
2023-11-11 05:59 AM
I can only hope it didn't take 5 months to figure this out, hahaha! Jumpers aren't what they used to be (thanks, China!) and any setup like what @Bertha described should check those first, even before the STM Errata!
2023-11-11 06:06 AM - edited 2023-11-11 06:08 AM
Haha, you right but it took me 5 months to come back and share exp ;).
It got a bit tricky because those jumpers are reliable and work perfectly in many applications. However, they showed their limitations when dealing with higher-speed QSPI." This was a valuable learning experience for me and I just remind to share with the forum today ;). (Better late than never I guess)
2023-11-11 10:51 AM
Ah, well, thanks for sharing the solution - far too many never do.
Speed mixed with distance is always risky. For prototyping I keep signals run through jumpers under 8 MHz or so and twist a dedicated ground with those higher-speed signals. This works well for trying things out but is, of course, no substitute for proper signal integrity.
2023-11-11 12:03 PM
Using wire-wrap for the NUCLEO ZIF Sockets here. Probably wouldn't expect much over 50 MHz
Not a big fan of the DuPont Wires, prefer these Schmart Jumper Wires here for pass-around proof-of-concepts (CEO Safe). https://schmartboard.com/jumper-wires/
Got W25Qxxx Winbond's working on the NUCLEO-U575ZI-Q, waiting on the NUCLEO-U545RE-Q to be delivered to check on an External Loader issue reported on the forum.
Yes found Macronix support very helpful with parts/samples.