Disable interrupts in ISR while calling API's

michaeln32 wrote on Wednesday, August 23, 2017:

Hello

This is ISR :

void ISR(void)
{
taskENTER_CRITICAL_FROM_ISR();

xEventGroupSetBitsFromISR();

taskEXIT_CRITICAL_FROM_ISR();

}

Can I call the API xEventGroupSetBitsFromISR() in critical section in ISR ?

Michael

heinbali01 wrote on Wednesday, August 23, 2017:

I think that the critical section is not necessary. All FromISR() functions are aware of the ISR context.
So this should be ok :

void ISR(void)
{
    xEventGroupSetBitsFromISR();
}

michaeln32 wrote on Wednesday, August 23, 2017:

Ok.

I use Free RTOS V8.

Interrupt nesting is when ISR with high priority can stop ISR with low priority from running
and the high priority ISR take the CPU for himself.

1.How can I find out if my system support interrupt nesting ?

2.if my system do support interrupt nesting - How can I find out if interrupt nesting mechanism (context switch between ISR’s) is enabled ?

rtel wrote on Wednesday, August 23, 2017:

1.How can I find out if my system support interrupt nesting ?

Preferred option - read the documentation for the FreeRTOS port you are
using.

Fallback option - mention which port you are using in one of your posts
so we can tell you.

michaeln32 wrote on Wednesday, August 23, 2017:

What is this port ?

Port of what ?

Thanks

heinbali01 wrote on Wednesday, August 23, 2017:

Richard is asking which port of FreeRTOS you are using, or in other words, what is your platform ( CPU type ) ?

All ports are well documented and you can read if nested interrupts are supported or not.

rtel wrote on Wednesday, August 23, 2017:

Port of the RTOS.

FreeRTOS runs on many many architectures, and can be built with many
different compilers. A ‘port’ is considered to be a
compiler/architecture combination. For example, if you are targeting a
Cortex-M0 MCU using the IAR compiler, then you are using the Cortex-M0
IAR port.

michaeln32 wrote on Wednesday, August 23, 2017:

Ok, I got it.

Microcontroller - STM32L433 Cortex M4.

Compiler - TrueSTUDIO - Atollic.

How can I find this documentation ?

Thank You