2025-11-10 4:55 AM - last edited on 2025-11-10 5:20 AM by mƎALLEm
Post edited by ST moderator to be inline with the community rules for the code sharing. In next time please use </> button to paste your code. Please read this post: How to insert source code.
Hello to all,
I'm coding a simple project for STM32WL55IC7 MCU, for the NUCLEO-WL55JC2 board. I didn't use the BSP for the board, in other words i didn't select the NUCLEO board option, but I started the project using the MCU.
The Project name is STM32WL55IC7_foo. The CubeIDE build the following 3 projects:
1. STM32WL55IC7_foo
2. STM32WL55IC7_foo_CM0PLUS (the code for Cortex M0+ code)
3. STM32WL55IC7_foo_CM4 (the code for Cortex M4 code)
When I try to compile the project, while the CM4 core code is compiled without any error, the code for the M0PLUS core issued errors, on the following snippet during the EXTI interrupt initialization:
/* EXTI interrupt init*/
HAL_NVIC_SetPriority(EXTI1_0_IRQn, 1, 0);
HAL_NVIC_EnableIRQ(EXTI1_0_IRQn);
HAL_NVIC_SetPriority(EXTI15_4_IRQn, 1, 0);
HAL_NVIC_EnableIRQ(EXTI15_4_IRQn);
The issued error messages are:
Description Resource Path Location Type
'EXTI1_0_IRQn' undeclared (first use in this function); did you mean 'EXTI15_10_IRQn'? main.c /STM32WL55IC7_foo_CM0PLUS/Core/Src line 142 C/C++ Problem
Description Resource Path Location Type
'EXTI15_4_IRQn' undeclared (first use in this function); did you mean 'EXTI15_10_IRQn'? main.c /STM32WL55IC7_foo_CM0PLUS/Core/Src line 145 C/C++ Problem
But the interrupts numbers are already defined on the file stm32wl55xx.h (by the CubeIDE):
/************* STM32WLxx specific Interrupt Numbers on M0 core ************************************************/
EXTI1_0_IRQn = 4, /*!< EXTI Line 1:0 Interrupt */
EXTI3_2_IRQn = 5, /*!< EXTI Line 3:2 Interrupt */
EXTI15_4_IRQn = 6, /*!< EXTI Line 15:4 interrupt */This file is on project path STM32WL55IC7_foo/Drivers/CMSIS/Device/STM32WLxx/Include/stm32wl55.h
It should be valuable if someone have any idea about this issue
Thanks
Bill_GC
Solved! Go to Solution.
2025-11-11 2:41 AM
Hello @Bill_GC
Thank you for your valuable contribution.
As a workaround :Right click on the CM0+ and go to Properties -> C/C++ Build-> Settings -> MCU/MPU GCC Compiler -> Preprocessor -> Change the CORE_CM0+ to CORE_CM0PLUS
This issue has been already identified and escalated to dev team under internal ticket number 217503 and it will be fixed as soon as possible .
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.
2025-11-10 4:56 AM - edited 2025-11-10 5:00 AM
Hello @Bill_GC
Could you please provide your IOC file so that we can double-check your configuration and help identify what might have gone wrong?
THX
Ghofrane
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.
2025-11-10 6:38 AM
2025-11-11 2:41 AM
Hello @Bill_GC
Thank you for your valuable contribution.
As a workaround :Right click on the CM0+ and go to Properties -> C/C++ Build-> Settings -> MCU/MPU GCC Compiler -> Preprocessor -> Change the CORE_CM0+ to CORE_CM0PLUS
This issue has been already identified and escalated to dev team under internal ticket number 217503 and it will be fixed as soon as possible .
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.
2025-11-11 3:00 AM
Many thanks Ghofrane, now it works perfect!!!!
I suppose that thie very specific preprocessor modification form CM0+ to CM0PLUS should be carried out in every dual core project.
BR
Bill_GC