cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H5 External Loader QSPI flash MX25L12835F

lallain
Associate

Hello,

I am trying to make an external loader for a STM32H5 to program a QSPI flash MX25L12835F with STM32 Cube Programmer.

In my project I add files Dev_inf.c .h ans Loader_Src.c .h from :

https://github.com/STMicroelectronics/stm32-externaloader/tree/main/STM32H5x_boards/MX25LM51245G_STM32H573I-DK

And modify them to adapt to my board :

- Dev_inf.c  : update StorageInfo struct

- Loader_src.c : reimplement Init() , MassErase() , Write(), SectorErase() with my flash driver.

I test these functions in debug with the original linker STM32H562RGTX_FLASH.ld and these functions works ok.

After I change the linker file with linker.ld of the branch contrib stm32-external-loader\Loader_Files\other devices and build and generate the file .stldr and put it into STM32CubeProgrammer\bin\ExternalLoader

Then when I open STM32CubeProgrammer I see my external loader in the list :

1.png 

But when I try to read or erase at QSPI address 0x90000000 I get an error immediatly and nothing happens on the QSPI bus signals like if the functions are not executed :

2.png

 

Does anyone have an idea of what I forgot to do ? 

Thanks,

 

1 REPLY 1
KDJEM.1
ST Employee

Hello @lallain and welcome to the community;

 

I recommend you to look at MOOC - External QSPI loader how to - YouTube and get inspired to check your configuration.

Which VTOR address are you using? I think this discussion can help you: Solved: Files for STM32H563 External Loader - STMicroelectronics Community

I hope this help you!

 

Thank you.

Kaouthar

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.