Skip to main content
Associate
August 21, 2024
Solved

Debug of code in ITCMRAM on STMH7 nucleo board

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

 

This topic has been closed for replies.
LucaDBest answer
Associate
September 5, 2024

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

1 reply

LucaDAuthorBest answer
Associate
September 5, 2024

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