Reputation: 424
I just got a STM32H747I-DISCO board. When I try to debug it and load the code to it by using its internal ST-Link and STM32Cube IDE. It says :
Break at address "0xa05f0000" with no debug information available, or outside of program code.
And when there comes a little option( View Disassembly) that leads me to some assembly code. How can I fix it? I am just trying to make simple led blinking. To be honest I have no idea how to use this board. This is my first time with it, maybe I am trying to write codes to the wrong core? Or maybe the problem is in the debug properties. I am stuck with it. How can I fix it?
Edit: Okay so I have figured out that it also gives "Program received signal SIGTRAP, Trace/breakpoint trap." error. I believe that is related to GBD but ı don't know how to work with GBD in STM32.
Upvotes: 0
Views: 1172
Reputation: 1
I got completely same error when trying to run code on M4(second) core of double-core ST32H755 via debugger.
Cube IDE add quite a weird HAL code for pre-initialisation of the second core in dual-core configuration:
/*HW semaphore Clock enable*/
__HAL_RCC_HSEM_CLK_ENABLE();
/* Activate HSEM notification for Cortex-M4*/
HAL_HSEM_ActivateNotification(__HAL_HSEM_SEMID_TO_MASK(HSEM_ID_0));
/*
Domain D2 goes to STOP mode (Cortex-M4 in deep-sleep) waiting for Cortex-M7 to
perform system initialization (system clock config, external memory configuration.. )
*/
HAL_PWREx_ClearPendingEvent();
HAL_PWREx_EnterSTOPMode(PWR_MAINREGULATOR_ON, PWR_STOPENTRY_WFE, PWR_D2_DOMAIN);
/* Clear HSEM flag */
__HAL_HSEM_CLEAR_FLAG(__HAL_HSEM_SEMID_TO_MASK(HSEM_ID_0));
...
So, two cores starts in parallel, but this M4 code after setting inter-core HW semaphore, kills the whole D2 domain, putting M4 into sleep mode until M7 init again all clocks and then wakes M4 by sending HW notification interrupt.
If one, after start of debug session, pass that lines manually by step-over(F6) debugger function unil " _HAL_HSEM_CLEAR..." line - all works OK. You may freely run and debug the rest of code.
But if at debug session start, you press "Run" button - the debug crashes with the mentioned above message.
Upvotes: 0
Reputation: 611
You seem to be making some very trivial error in your code. Since this is led blinking, I am assuming you must have either missed out on some library import or forgot to have provided clock to the I/O ports.
Also, do set up the mode to PULLUP if you are just doing LED blinking.
The above is pure speculation since I haven't seen your code yet.
Upvotes: 1