STM32F7/H7 Fast Interrupts Topic is solved

Report here problems in any of ChibiOS components. This forum is NOT for support.
mck1117
Posts: 28
Joined: Wed Nov 11, 2020 6:41 am
Has thanked: 1 time
Been thanked: 5 times

STM32F7/H7 Fast Interrupts  Topic is solved

Postby mck1117 » Mon Nov 08, 2021 1:09 am

Hello, I'm trying to use some "fast interrupts" as described here: https://www.chibios.org/dokuwiki/doku.p ... interrupts

The code looks roughly like this, with the defines in mcuconf.h like STM32_IRQ_EXTI0_PRIORITY set to 0 (or CORTEX_MAXIMUM_PRIORITY) so that they can preempt the kernel.

Code: Select all

CH_FAST_IRQ_HANDLER(Vector58) {
   handleExtiIsr(0);
}

CH_FAST_IRQ_HANDLER(Vector5C) {
   handleExtiIsr(1);
}

CH_FAST_IRQ_HANDLER(Vector60) {
   handleExtiIsr(2);
}


This all works just fine on STM32F4. However, on F7 and H7, they use the new stm32_exti0.inc shared includes pattern, which performs an extra check that the interrupt priority is legal (ie, not higher pri than kernel), so I get a compilation error. Removing the check, the code does work properly, as it does on STM32F4.

What happened to using fast interrupts on F7/H7?

User avatar
Giovanni
Site Admin
Posts: 14444
Joined: Wed May 27, 2009 8:48 am
Location: Salerno, Italy
Has thanked: 1074 times
Been thanked: 921 times
Contact:

Re: STM32F7/H7 Fast Interrupts

Postby Giovanni » Mon Nov 08, 2021 6:51 am

Hi,

Moving in bug reports, the check needs to be removed if the handler has been disabled using STM32_DISABLE_EXTIxxx_HANDLER.

Giovanni

mck1117
Posts: 28
Joined: Wed Nov 11, 2020 6:41 am
Has thanked: 1 time
Been thanked: 5 times

Re: STM32F7/H7 Fast Interrupts

Postby mck1117 » Mon Nov 08, 2021 7:29 am

Thanks, that's what I figured to be the situation, but I wanted to confirm before making that change in rusEFI's fork of ChibiOS.

User avatar
Giovanni
Site Admin
Posts: 14444
Joined: Wed May 27, 2009 8:48 am
Location: Salerno, Italy
Has thanked: 1074 times
Been thanked: 921 times
Contact:

Re: STM32F7/H7 Fast Interrupts

Postby Giovanni » Wed Apr 13, 2022 9:36 am

Hi,

Disabled priority check on STM32 EXTI interrupts when the default ISR is disabled. This allows for fast interrupts.

Giovanni


Return to “Bug Reports”

Who is online

Users browsing this forum: Bing [Bot] and 12 guests