Other Parts Discussed in Thread: AM4377
Tool/software: Code Composer Studio
Hi experts,
II have a AM4377 based custom hardware with MX25L51245G flash, using qspi_lib.c from pdk_am437x_1_0_15\packages\ti\starterware\library\qspilib as code template.
After adapting Manufacturer ID for identification and changing the command values I am able to read from flash and write in memory mapped mode and TX config mode.
The Macronix flash offers a lot functionality (commands), only some of them are relevant for us. I started with sector erase, which is very similar to block erase (working in my setup).
But this fails; data is not committed or available after writing/power up, and setting the sector content to '1' as described in the Macronix manual doesn't happen.
The only difference between the two commands is the command identifer - so I expected this should work immediately.
I know that communication between AM437x and QSPI flash is based on SFI memory-mapped interface (SFI_MM_IF) - a kind of abstraction layer !?
Parsing qspi_lib.c, I have difficulties to understand the usage of qspiTxCmd_t{} structure elements, on which the command & data transfer to QSPI is relying.
Is there any example or a more detailed description explaining what needs to be set into elements .frameLength and .wordLength when using a specific command ?
What about length if data needs to be transferred? Do I need other mechanisms than SFI_MM_IF to control my flash device?
I am afraid I'll get more problems when using more specific commands...
Regards, Thomas