cancel
Showing results for 
Search instead for 
Did you mean: 

How to make a external flash download stldr or FLM file?

Junde
Senior II

Hi there,

I am using the touchGFX and I want to store my image to SPI flash chip.

The pin to pin of the connect as below:

STM32F429BI <---> W25Q64BVSSIG
        CS  <---> PD13
        CLK <---> PB3(SPI3_SCK)
        DO  <---> PB4(SPI3_MISO)
        DI  <---> PB5(SPI3_MOSI)

I already can erase/read/write the chip normally, but after I generate the stldr or FLM file, it always can't work.

I try to add the uart for outputting the LOG, but I can NOT see anything.

I had tried again and again and again...I have no way to figue out it and feel so hopeless.

Can some one can give me some help, any advice is expecting, such as the documents link, your work well project, or anything you think it well help me!

Help poor me please, thank you very mach.

(If need, I have attached my bad project.)

4 REPLIES 4
MNapi
Senior III

see this video he explains how to use SPI flash as external loader

https://www.youtube.com/watch?v=Gil_LbT5UVw

For output the UART should configure the same way as normal, perhaps start with character and string output directly, using printf() will be more challenging due to the libraries and size.

KEIL has multiple examples in it's \Keil\ARM\Flash directories, and with some of the more recent STM32 parts ST has .FLM source code examples for the EVAL / DISCO boards within the packs, perhaps \CMSIS\Flash sub-directories there.

Most of ST's examples use QUAD/OCTO SPI rather than "SPI_FLASH" ones.

Both the ST and KEIL loaders have a Init, Read, Write interface/abstraction.

Will take a glance over the attachment later, but generally want to avoid Vectors / Interrupts in a loader

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

@Tesla DeLorean 

Thanks for your reply.

I was using the UART directly.

I have seen many examples and documents on creating a flash loader, however, none of them can resolve my issue after porting(I have tried SPI flash and FMC NandFlash on two boards).

I think I have some config error(project setting, Init process...), not the read/write function.

@MNapi 

Thank you for your info.