cancel
Showing results for 
Search instead for 
Did you mean: 

Hello, I have a question to the memory.h file and ExtMem_Boot:

pk84
Senior

I am trying to get an example "TIM_timeBase" to run with the STM32H750B Discovery Board. The readme file says the following: 

 1. Select required configuration in memory.h in Templates\ExtMem_Boot\Inc.

But, I have many of these files, for Cube V1.9.0, 1.9.1 ... 

According Info of my Cube IDE, I have version V1.9.0... so why do I have also the folder 1.9.1 ?

Then the readme file says also following:

In order to load the ExtMem_Boot code :

  - Open your preferred toolchain :

   - Open the Project

   - Rebuild all files

   - Load project image

What is meant by Load project image?

Thank you

1 ACCEPTED SOLUTION

Accepted Solutions
Semer CHERNI
ST Employee

Hello @pk84​ 

In addition to the response provided by @F.Belaid​ , I want to add these steps on how to load the project image.

In this case the example is stored and executed from an external memory.

For this reason we need to flash the bootloader in the internal flash then the example project in the external memory using an external loader.

  • Import with CubeIDE the "ExtMem_Boot" project found under STM32Cube_FW_H7_V1.10.0\Projects\STM32H750B-DK\Templates
  • Build this project
  • Import the example project "TIM_TimeBase" in your case and build it
  • In the debug configuration and under [Startup] add the "ExtMem_Boot" download

0693W00000SvSAZQA3.png 

  • Also in the debug configuration and under [Debugger] set the adequate external loader for your board

0693W00000SvSBSQA3.png 

  • Start the debugging session

Hope this help you resolve the issue.

Kind regards,

Semer.

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.

View solution in original post

5 REPLIES 5
FBL
ST Employee

Hi @pk84​ 

These are different release packages for Discovery board, both should work, but we recommend to use the latest. You can find details in Release Notes for Projects of STM32CubeH7 Firmware Packages.

Load project image refers to Run the project when using CubeIDE and Download when using IAR or KEIL

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.

>>What is meant by Load project image?

Put the compiled output onto the board, using an External Loader if that code is built for the external memory (QSPI) device.

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

>>Put the compiled output onto the board, using an External Loader if that code is built for the >>external memory (QSPI) device.

This example is apparently written in a way that the program code should be stored on the external QSPI flash, and some "ExtMem_Boot" code or loader code? or whatever that should be must be stored on the internal flash....

But how does this work now? I don't understand it. Where do I find this "ExtMem_Boot" code and how do I load it to the internal flash?

I know how to load the program code (hex file) to the external QSPI flash (via STM32CubeProgrammer), but where or how should I program the loader/boot or something code to the internal flash?

Thank you

Semer CHERNI
ST Employee

Hello @pk84​ 

In addition to the response provided by @F.Belaid​ , I want to add these steps on how to load the project image.

In this case the example is stored and executed from an external memory.

For this reason we need to flash the bootloader in the internal flash then the example project in the external memory using an external loader.

  • Import with CubeIDE the "ExtMem_Boot" project found under STM32Cube_FW_H7_V1.10.0\Projects\STM32H750B-DK\Templates
  • Build this project
  • Import the example project "TIM_TimeBase" in your case and build it
  • In the debug configuration and under [Startup] add the "ExtMem_Boot" download

0693W00000SvSAZQA3.png 

  • Also in the debug configuration and under [Debugger] set the adequate external loader for your board

0693W00000SvSBSQA3.png 

  • Start the debugging session

Hope this help you resolve the issue.

Kind regards,

Semer.

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.

pk84
Senior

>>Also in the debug configuration and under [Debugger] set the adequate external loader for your board

>>Start the debugging session

Debug configuration (external loader + add "ExtMem_Boot" under Startup) is only needed for the main program, so for "TIM_TimeBase", correct? So for the ExtMem_Boot Project I don't need to change some configuration setup?

I tried a the moment following, unfortunately without success:

1) Build "ExtMem_Boot" project

2) Run "TIM_TimeBase" project (with debug-config external loader + add "ExtMem_Boot" under Startup)

STM32CubeProgrammer is not mandoatory?

Thank you

EDIT:

Now it works, perfect, according 1) and 2)