Skip to main content
Graduate II
May 31, 2024
Question

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

  • May 31, 2024
  • 2 replies
  • 2204 views

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.)

    This topic has been closed for replies.

    2 replies

    Graduate II
    May 31, 2024

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

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

    JundeAuthor
    Graduate II
    June 3, 2024

    @MNapi 

    Thank you for your info.

    Graduate II
    May 31, 2024

    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

    JundeAuthor
    Graduate II
    June 3, 2024

    @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.