This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Problems with Flash programming algorithm for QUAD SPI

Hi,

I'm trying to program code to an external flash using ullinkpro or st-link. 

uP is stm32f469 and external flash is winbond W25Q128, I interface it via QUAD SPI.

I followed keil application note: Programming External Flash used with STM32 Devices (an333)
Encountered the following problems:


1. The structure FlashDevice did not link. Why?
So I forced it with __attribute__((used)) . Could this explain any problem with the built FLM?


2. The generated FLM was invisible in "flash algorithm list".(Options for Target - Debug - Settings - Flash Download - Add)
I verified that 'debug information' is checked and the FLM file contains the device description.
Strange, but after a couple attempts the FLM was visible. I can't figure out why sometimes, in a different build, it is not visible... 

3. After selecting the flash algorithm for QSPI, programming aborts with the message: Cannot load Flash algorithm. Why?
I also used the example given in an333. Example is for stm32f7 but I adapted it to stm32f4. But, still - I get the message: Cannot load Flash algorithm

4. The code size is 15.54kB and the FLM is 454 kB.
The ULINK\ST is supposed to load program to device's ram and execute the programming operations using the debug information.
So, I assume that the 'RAM for algorithm' setting should get the size of 16 KB. The size of FLM is considerably large to other FLMs.
Could the large size cause the fail to load algorithm?

Many Thanks,

Ari