cancel
Showing results for 
Search instead for 
Did you mean: 

Why does DTCM RAM is excluded from the example "2_Images_OSC" of STM32f769I-Discovery?

ali rostami
Associate III

Referring to "mapping_sbsfu.h" file of the example "2_Images_OSC" of STM32f769I-Discovery, seems the DTCM and SRAM2 are not used in the project.

So does it have a reason?

1 ACCEPTED SOLUTION

Accepted Solutions
Fred
ST Employee

Hi @ali rostami​ ,

with X-CUBE-SBSFU, we try not using resources we do not need.

As there is no real need for the bootloader to use the DTCM RAM, we do not use it.

Same reasoning for SRAM2.

Basically, we privilege SRAM1 because on the L0/L4 platforms, this is where the Firewall can be used to provide isolation.

On STM32F769, the isolation is implemented with MPU, but we kept SRAM1 for "consistency reasons".

But, on STM32F7, the main point to observe is the way the MPU regions are configured.

I did not check right now, but in principle, the DTCM is mapped so you can use it in your application.

At bootloader stage, it should be mapped but with instructions disabled.

View solution in original post

1 REPLY 1
Fred
ST Employee

Hi @ali rostami​ ,

with X-CUBE-SBSFU, we try not using resources we do not need.

As there is no real need for the bootloader to use the DTCM RAM, we do not use it.

Same reasoning for SRAM2.

Basically, we privilege SRAM1 because on the L0/L4 platforms, this is where the Firewall can be used to provide isolation.

On STM32F769, the isolation is implemented with MPU, but we kept SRAM1 for "consistency reasons".

But, on STM32F7, the main point to observe is the way the MPU regions are configured.

I did not check right now, but in principle, the DTCM is mapped so you can use it in your application.

At bootloader stage, it should be mapped but with instructions disabled.