Hello. I have a product running on Ateml atsam7s256 processor, and IAR EWARM 5.30.
I am havong a problem not apparently seeing SPI interrupts occasionally.
I have put some debug in to vPortEnterCritical and vPortExitCritical to try and see thelongest time the interrupts are masked, and it comes up with a time of around 1ms. These long masks always seem to occur while processing xTaskResumeAll, usually from a queue send or receive.
Putting some more debuging seems to indicate the the taskYIELD() just before the end of xTaskResumeAll is executed immediately, even though we are in the middle of portENTER_CRITICAL and portEXIT_CRITICAL, as though this does not stop an ‘SWI 0’.
Is this supposed to happen like this, or is my understanding lacking? Any help or pointer around here gratefully received.