2023-04-18 05:27 AM
My setup is:
The code is located in AXI-SRAM memory.
I can execute the code and break wherever I want. However when I break I cannot step into the code (or continue execution). When i do so (whether it is Step into or step over, assembly mode or normal mode) the code remains at the same instruction (everything happens as if the instruction is not executed). The disassembly is correct. There is no "bkpt" or other particular instruction.
I obviously tried to set the bkpt at different locations.
i also tried to set it up after the code is loaded to RAM. I also set the bkpt as "hardware" instead of "regular"
When the code is executed from somewhere else (like ITCM) it works just fine.
Any idea ?
Solved! Go to Solution.
2023-04-20 07:16 AM
After further investgation it looks like the problem comes from the instruction cache activation. if I keep the cache disabled, the stepping works
2023-04-20 05:46 AM
Hello @Gpeti,
Could you please try update the latest version of STM32CubeIDE. Are you enabling the memory protection unit? Could you check access permission in MPU_RASR.
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2023-04-20 07:16 AM
After further investgation it looks like the problem comes from the instruction cache activation. if I keep the cache disabled, the stepping works
2023-04-20 07:18 AM
@Gpeti Thank you for your feedback.
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2023-04-20 07:20 AM
To answer your other questions, I will update STM32CubeIDE but it will take some time (offline workstation).
I'm enabling the MPU but later in the code, the problem happens before.