2021-01-04 01:25 PM
I've been trying to make LED blink. GPIO PE1. So i wrote this code:
HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_1);
HAL_Delay(200);
When i'm creating procject for this board it creates two procject for each core CM7 and CM4 each with it's main.c. I can debug each core but i can't figure out how to make both of them to work at the same time. CM7 seems to bo working fine when debuging but it stopping at: timeout = 0xFFFF when i hit play it runs but led is not blinking.
When i try to debug CM4 whitout any code exept generated one, it stops at: _HAL_RCC_HSEM_CLK_ENABLE(); when i hit play im receivng: Break at address "0xa05f0000" with no debug information available, or outside of program code.
I've followed wiki, and few tutorials but this is just not working none of 3 LED is not blinking, i've tried few other GPIO's, i've updated ST-LINK, i've beend trying different PC's, no luck.
Can you give me a hint, maybe my STM is broken, example procjects are not working when i hit debug nothing happens and Debug for STM32.... is not even showing in the context menu.
Do anyone had H745ZI-Q board? I've been programing arduino and its simple and works everytime but this... i cant even make LED to blink.
2021-01-04 02:31 PM
Did you enable the GPIOE clock? I'm assuming the toggling is done within the main loop.
Both cores will start up after NRST is released, assuming you have the BOOT_CM4 and BOOT_CM7 option bytes set appropriately.
2021-01-05 01:00 AM
I will check clock tab in MX section but i'm not sure if i know how to do it. can you give me a hint? I've found papper from ST "Getting started with dual-core STM's, AN5361, Nucleo-H745ZI-Q is an example there but i'm stil missing something. So i need to set debug configuration properly for CM7 and CM4 but i dont know if it is a "BOOT_CM4 and BOOT_CM7 option bytes" i've mentioned. Can you give me a hint where should I look for those options? Do i need to write any more code manualy?
Thank You
EDIT:
I've been trying to make it work for some time. Can you look at those screenshots from CubeIDE? Maybe you will find something out of order. Code is from CM7 main.c i didn't change anything in CM4 main.c.
2021-01-05 05:49 AM
It doesn't look like the GPIOE clock is enabled. There needs to be a call to __HAL_RCC_GPIOE_CLK_ENABLE() prior to using those pins. It is enabled for other ports, but not GPIOE.
2021-01-05 04:11 PM
But GPIOB is enabled and still its not working. maybe mcu is broken and im just connection to ST-Link thats all. Is there a way to reset this nucleo board to default? maybe i've changed something on some point.
2021-01-05 05:30 PM
> But GPIOB is enabled and still its not working.
Please read carefully: The LED is on GPIOE, not GPIOB. Which clock do you think needs enabled?
Good luck.
If you assign the pin as output and assign its context to the M7 core, it will initialize it for you during CubeMX code generation. Otherwise you need to do it yourself.
2021-01-06 09:10 AM
Yes! Finnaly i've make it work. Thank You. I didn't assign GPIOE to the M7 context in MX and that was the reason for it not beeing able to work. I still don't know why GPIOB was not working since B port Clock was enabled but maybe i need to assign it to the Core anyway.
Thank You so much. ST Community seems to be really acitve and helpfull. Can't wait to dig deeper into Nucleo progrmaing and STM32 in general.