2017-11-02 02:29 AM
Hi,
I'm using a S25F064F Flash on a custom STM32F446RC Board. Due the 64Pin Version of this Controller the Flash are connected as QSPI-DUAL (means only two data lines).
My issue with the attached Code is, that I can Programm only one Page even I get the error
10:06:41 : The elf loader Program function fails.
10:06:41 : Memory-Loader error
10:06:41 : Error occured during program operation!
10:06:41 : Programming error @ 0x90000003!
Afterward I see only one Page (256Bytes) programmed.
Similiar issue with the erasing of sectors. Only the first Sector are erased.
I can't see what is Happening in the Background and what is the ST-Link Util doing.
Maybe someone could have look in the Code and could found an issue.
Many Thanks in advance.
#qspi-flash #st-link-external-loader2017-11-02 06:53 AM
I'm wondering why ST either don't give a good documentation or more examples based on HAL Drivers.
Within the application the QSPI programming and reading is working fine, but not in the external loader, because of no documentation.
2017-11-02 09:41 AM
Well the engineers used the SPL to build them originally, and I think there is also some expectation that those doing this kind of board bring-up and design have done these types of loaders before. SoC designs come with nothing. The loaders are similar to those from Keil or Segger. Work with the ST FAE supporting your account.
Would suggest building a test framework to run the plug-in, and instrument using the USART to output debugging/telemetry.
Error suggests verify readback is failing, either the data isn't matching or routine returning a code suggesting it doesn't. Kind of situation where you need hardware to evaluate dynamically.
Sorry, not downloading a dozen plus files, consider ZIPing up and presenting as a buildable project. Not sure the number of people here using IAR, F4 and
S25F064F
2017-11-05 10:04 AM
Now I add the whole IAR Project Folder
2017-11-05 11:01 AM
Hi Clive,
I fully agree to you, but I would expect from ST a propper documentation for the external loaders.
To have more visibility what is Happening during the calls I implemented UART Communication for some debug Outputs, but this is making the Situation worst.
With this uart transmit the external loader doesn't work at all, it stopping.
For example the Read funvtion works well without UART Transmit, but with it's not working. Withion the init Phase I'm tranmsiting the 'start' string and this showing in the Receiver, means the uart itself is working.
2017-11-05 11:16 AM
I could not find the documentation for the S25F064A memory, but there is documentation for the S25FL064A.
A very flawed memory chip, without the support of QSPI mode.2017-11-05 12:31 PM
Hi,
this is the Datasheet
http://www.farnell.com/datasheets/2309630.pdf?_ga=2.1435061.546026651.1509910079-83521258.1470258912
Why do you think that this Flash would be flawed?
2017-11-05 12:57 PM
S25FL064A
Memory with the letter 'A' - can only work in spi mode. The older the letter - the more opportunities.For the letter 'P', QSPI mode is available.For the letter 'L', DDR mode is available.But you have the letter 'F' - it's just a higher frequency and an additional protection system.2017-11-05 01:18 PM
The last letter in the name of the flash memory is the revision of the chip. The letter defines the possibilities.
Find the documentation for your chip with the full match of the name, the last letter is very important.2017-11-05 01:48 PM
I still can't understand you. based on the Datasheet what I provided I've the
S25FL064L, and this Flash are working with QSPI command. As I wrote above I can read from that in Dual Mode, and write in Single Mode. My issue is with the ST Link Utility / external loader infrastructure.
Therefore I'm not understanding what do you mean exactly with flawed Flash/QSPI not available?