cancel
Showing results for 
Search instead for 
Did you mean: 

OEMiROT: no option to execute in place with external RAM enabled

In STM32Cube_FW_H7RS_V1.3.0, file Projects/STM32H7S78-DK/Applications/ROT/OEMiROT_Boot/Inc/flash_layout.h:

The macro OEMIROT_LOAD_AND_RUN has 3 possible settings, and we're using the NO_LOAD_AND_RUN to execute code (in external flash) in place.

However, we're also using external RAM in our application, and this must be enabled in the bootloader, as the app attempts to initialise values in external RAM at startup.

Unfortunately, the external RAM is only initialised if you select LOAD_AND_RUN_EXT_RAM.

There is a workaround: in boot_hal.c and low_level_ext_ram.c, replace every instance (3 in each file) of:

#if  (OEMIROT_LOAD_AND_RUN == LOAD_AND_RUN_EXT_RAM)

...with something like:

#if 1// (OEMIROT_LOAD_AND_RUN == LOAD_AND_RUN_EXT_RAM)

For the future, would you consider having an option to run in place and enable external RAM?

Thank you.

 

 

0 REPLIES 0