cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F469 - Execute code from QSPI Externa NOR Flash

jigish
Associate

I want to interface N25Q.. External NOR flash with STM32F469. Where I want to load and execute the code from N25Q External flash memory using QSPI memory mapped mode.

Is this solution is Possible?

If yes, from where I can get support?

12 REPLIES 12

Yes, in Single or Dual Configuration. Memory would live at 0x90000000

You'd need an External Loader to write content, and bring up the device and memory map it to execute code.

STM32Cube_FW_F4_V1.24.2\Projects\STM32469I-Discovery\Examples\QSPI\QSPI_ExecuteInPlace

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

In Single configuration

Sorry, I'm just saying it will work in either. In Dual it just interleaves bytes between a pair of matched devices.

The N25Q parts are a bit obsolete at this point, most being replaced with Micron MT25QL/TL type parts.

The original STM32F469I-DISCO use N25Q128A

With the STM32F469I-EVAL using the Micron/ST (N25Q512A) or Fujistu/Infineon (S25FL512SAGMFI01) parts. See BSP code and schematics.

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

If you match the parts / pins of the EVAL or DISCO designs you can use the External Loaders to write the chips via STM32 Cube Programmer. Otherwise you'll need to code alternatives.

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

Hi Tesla DeLorean,

Thanks for quick support. Actually I had STM32L476 Discovery Board which obsolete. With your suggestion I have used the example code "QSPI_ExecuteInPlace" for STM32L476.. The code is programmed and run well but I cann't debug the code which is part of QSPI NOR Flash. Before memory mapping I able to debug..

 

The other method I found from you tube video is that I have to create two projects. One is executed from the internal flash & jump to Application code. Second is actual application code. Here I have tried but here I unable to execute it from the NOR flash. Can you please help for same..

Start by dumping content in the QSPI device in the loader app, have a functional Hard Fault Handler and then try stepping across the control transfer code into the QSPI.

Can you see the memory content? Is it faulting? Is it entering the Reset_Handler code within your QSPI app?

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

you are not able to debug the code in the NOR flash that is because you do not have the symbol file. you can make the symbol file when you build the application code which you loaded into the NOR flash, and loaded the symbol into the project when you put the application code in NOR flash  

Hi Tesla DeLorean,

I am also working with the QSPI in STM32, boot from External flash (N25Q128A), And while debug, code is halting in Reset handler and not going to the main() and getting error as "illegal address for breakpoint type". and if I reset board then it is giving same error and showing "could not halt device (18)". But if I press reset button on board, It is programming the board.debug issue.png

Hi I am using STM32CubeIDE, and I am also not able to debug code (Specifically NOT HALTING CODE using breakpoint when application code executed from NOR Flash). can you please tell me the process of making symbol file and how to load the symbol into the project when I put application code in NOR flash.