Skip to main content
Associate
November 10, 2025
Solved

Undeclared EXTI_0_IRQn & EXTI15_4_IRQn

  • November 10, 2025
  • 3 replies
  • 277 views

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

Best answer by Ghofrane GSOURI

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

GhofraneGSOURI_0-1762857593463.png

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 .

3 replies

Ghofrane GSOURI
Technical Moderator
November 10, 2025

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.
Bill_GCAuthor
Associate
November 10, 2025

Hello Ghofrane,

thanks for your immediate response. Off course I do it. Pls find attached here

 

Best Regards

Bill_GC

Ghofrane GSOURI
Ghofrane GSOURIBest answer
Technical Moderator
November 11, 2025

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

GhofraneGSOURI_0-1762857593463.png

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.
Bill_GCAuthor
Associate
November 11, 2025

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