cancel
Showing results for 
Search instead for 
Did you mean: 

Debug of code in ITCMRAM on STMH7 nucleo board

LucaD
Associate

Hi!

I'm developing a software on the STM37H753ZIT nucleo board, I place some time critical functions inside the ITCMRAM to improve performance, the code is correctly running and the behaviour meets the expectations execpt for a fact:

When I place a breakpoint to stop inside a function located in ITCMRAM, the debugger stops in another place:

Here an example is provided, the function placed in ITCMRAM is TIM15_IRQHandler, when I try to stop inside the function the debugger stops in CAN_DeInit, that is a function never called in the code.

itcmramErr1.PNG

Note: Rebuilding and relauncing the project, brings the debugger to stop in another place, different from CAN_DeInit, but still stops in unused code piece. 

 

Does anyone knows why this happens?

Thanks in advance,

Luca

 

1 ACCEPTED SOLUTION

Accepted Solutions
LucaD
Associate

Hi! 

I solved the problem changing the linker script and placing starting position of ITCMRAM to 0x400, because I declared the NULL pointer as pointer of 0x00 so I think this was the problem.

Regarding the ITCMR Linker and startup implementation I follow this tutorial:

STM32CubeIDE-Workshop-2019/hands-on/07_ISR_in_ICTM/README.md at master · ethanhuanginst/STM32CubeIDE-Workshop-2019 · GitHub

Luca

View solution in original post

1 REPLY 1
LucaD
Associate

Hi! 

I solved the problem changing the linker script and placing starting position of ITCMRAM to 0x400, because I declared the NULL pointer as pointer of 0x00 so I think this was the problem.

Regarding the ITCMR Linker and startup implementation I follow this tutorial:

STM32CubeIDE-Workshop-2019/hands-on/07_ISR_in_ICTM/README.md at master · ethanhuanginst/STM32CubeIDE-Workshop-2019 · GitHub

Luca