Showing results for 
Search instead for 
Did you mean: 

STM32F7xx Flash interface selection (AXIM or ITCM)

Associate II
Posted on March 28, 2016 at 18:28

I am confused about the boot setting in STM32F7xx series.

When the boot pin is low, it boots from flash on ITCM interface (0x0020 000) by default, as shown in the screenshot of the manual.


However, in the IAR linker file, the AXIM interface is selected. The program runs ok when downloaded in the flash. So could you tell me is the CPU using ITCM or AXIM interface in this case?




The way to choose AXIM or ITCM flash interface in IAR is to configure the ROM address in the linker file.

For AXIM, ROM starts from 


for ITCM, ROM starts from 


So the BOOT_ADD0 setting is not working?

Senior II
Posted on March 29, 2016 at 12:47

In true you will not see effect of this settings directly.  As I mention this is only memory mapping.  When you program will be compiled for AXIM, and when you boot from ITCM this will be still work. But any read (const data, funtions literals will be done by axim) but code will be executed by ITCM. 

If in IAR setting rom to 0x00200000 work with programing and debuging so good.

Check pointer value to some function or constant data.

This is not verifed information.

ITCM interface is enabled at power on by setting booting from them.  If you change boot to AXIM, and program will be compiled to work on ITCM this will not work.

But ST maybe implement that ITCM is always ON. 

This i will check later.