cancel
Showing results for 
Search instead for 
Did you mean: 

NVIC_EnableIRQ() and kin shall handle exceptions

Posted on April 04, 2017 at 17:56

According to PM0214, CMSIS functions NVIC_EnableIRQ(), NVIC_DisableIRQ(), NVIC_SetPendingIRQ(), NVIC_CleartPendingIRQ(),  NVIC_GetPendingIRQ() should support both interrupts and exceptions (of course those where this is applicable).

0690X00000606LVQAY.png

The implementation of these functions in [STM32F4xx_DSP_StdPeriph_Lib_V1.8.0]\Libraries\CMSIS\Include\core_cm4.h does not conform to this description, not supporting exceptions - even the comment to those function says it:

  \param [in]      IRQn  External interrupt number. Value cannot be negative.

This is nonsensical, especially since the remaining two functions of the same group from the same table - NVIC_SetPriority() and NVIC_GetPriority() - do support both interrupts and exceptions.

Please, fix the 5 functions mentioned above to handle both interrupts and exceptions.

Should there be concerns for backward compatibility/efficiency, please provide alternative functions with the full functionality, and of course make the respective changes to the documentation too.

Now I of course know that both the PM's template and the headers come directly from ARM so this is upon them to fix, but I believe there's an order of magnitude higher chance this ever getting dealt with properly if ST's engineers raise a request to ARM, rather than some Jan Waclawek.

Thanks,

Jan Waclawek

2 REPLIES 2
Khouloud GARSI
Lead II
Posted on April 04, 2017 at 18:15

Hi

Waclawek.Jan

‌,

You suggestion will be forwarded to the appropriate team and I will keep you posted about any update related to this.

Thanks a lot for your continuous contribution to the enhancement of our STM32 resources.

PS: You are one of our key contributors and not just some Jan Waclawek

Khouloud.

Posted on October 13, 2017 at 11:42

Any news on this?

JW