Hi!
I’m relatively new to FreeRTOS. I’m using an Atmel AVR MCU (UC3A0512) on the EVK1100 Evaluation Board. Actually I’m making my first experiences in mutitasking. So I have a serious problem I’m not able to solve :(
I use an GPIO-Interrupt wich evokes an ISR. This ISR works fine (traced it via usart debugging messages). This ISR ‘gives’ an Semaphore (binary) with
xSemaphoreGiveFromISR(gpiointerrupt,&xHighPriorityTaskWoken);
This evokes a high priority task which blocks for this semaphore. I also traced this behavior via usart. This Semaphore was taken, code executes, task wants again take the semaphore….and then everything crashed. The MCU stops, no lower tasks resumed.
Has anybody a tip or a solution for my problem? Something I’m making wrong, but after a lot of tests I didn’t find a solution and it irks me.
Thanks a lot!
AVR32 Semaphore Scheduler Problem
AVR32 Semaphore Scheduler Problem
Ok, I solved my problem. It was an error in the function protoype of the ISR.
I simply forgot the compiler attribute for the AVR-port
__attribute__ ((naked))
Now, everything works fine.