2025-03-17 8:26 AM
I am trying to port an existing design that did not use the external memory loader into a version where I can use the external memory loader so that I can add additional code.
I watched the videos and read the materials and have successfully made the example version that works. Looking at the memory at 0x9000_0000 I see the following
However, when I attempted to build a version by porting all my code into a fresh build I get a external memory which appears to be missing data from 0x9000_0000 to 0x9000_02b0. In other words the data in the above ext_mem_loader example at 0x9000_02b0 appears at 0x9000_0000 in the Appli version. The Appli version jumps to 0xF3AF4804 which is bad
What can I do to fix? Where should I be looking?
Code was generated using ST MX ver 6.13.0 and ST IDE ver 1.17.0
2025-03-18 5:22 AM
Hello @JBias;
Can you please precise which memory are you using? Are you using Nucleo-H7S3L8 board?
Can you share your project?
I recommend you to look at Getting started with External memory Manager and External memory loader and get inspired to check your project configuration.
This article presents a detailed tutorial on the implementation of the External Memory Manager and External Memory Loader middleware functionalities. The article also features a configuration sample utilizing STM32CubeMX, which can be used as a reference to apply these functionalities to:
Also, I think this Template_XIP can 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.
2025-03-18 1:41 PM
Kaouthar,
I am using the Nucleo-H7S3L8 board.
Thanks for the references. I am looking into them. Seems like the MX tool did not add the .isr_vector in the loader.
After manual editing post MX I am able to get the program running from external Flash. I do not know why the MX tool would not add the .isr_vector in the loader but, time permitting, I will post details on what I had to do as a work-around.