AnsweredAssumed Answered

STM32F767ZI Hard fault when using ITCM RAM

Question asked by Bare.Bradley on Aug 30, 2016
Latest reply on Aug 31, 2016 by waclawek.jan
I am playing with the ITCM RAM on a Nucleo-144 board. 

I am having problems with the ITCM RAM causing a hard fault when I call a subroutine from inside a subroutine. I have successfully used the ITCM RAM to store a function that increments a variable. I however, get a hard fault if I try to call more than a function in a function.

In my linker file I have defined the proper memory areas. I also modified the startup file to move the data and functions to memory at startup.

I can run both functions independently but if I try to call one inside the other it goes straight to a HardFault. I have tried with the other function inside and outside of ITCM RAM. It faults in both cases.

I looked in the data sheets and arm manuals but I could not find information on calling functions from inside ITCM RAM functions. Does anyone have experience with this problem? Can I call functions from inside ITCM functions? Could you point me to a manual where I can read about this?

I have attached my linker script, and startup file. 

Outcomes