8.2.2, Atmel SAM V71, ISR API

atiflz wrote on Tuesday, September 01, 2015:

I cannot use any kind of inter process communication from ISR. All of these functions cause a lock up on my setup:

vTaskNotifyGiveFromISR
xQueueSendFromISR
xSemaphoreGiveFromISR

What can I do to have any kind of synchronization my tasks with interrupts except polling global variables?

Atilla Filiz

richard_damon wrote on Tuesday, September 01, 2015:

Those functions are what you are supposed to be using. When things lock up, what is it locked up in, could it be a configASSERT? Perhaps your ISR is set to use too high of a priority.

atiflz wrote on Wednesday, September 02, 2015:

Indeed it was the interrupt priorities for GPIOs. The examples do not set any IRQ priorities, so I guess they stay at default 0.

I proppose calling

PIO_InitializeInterrupts(configMAX_SYSCALL_INTERRUPT_PRIORITY + 1)

or similar at the beginning of main().