This might sound as a strange question but I need a definitive answer. Can interrupts be preempted in FreeRTOS or they have the highest priority? Any help is appreciated.
I’m not sure I understand your question. If you mean, can interrupts be preempted by other interrupt – in other words – can interrupts nest – then the answer is “it depends on the FreeRTOS port you are using”. If you mean, can interrupts be preempted by tasks, then the answer is quite definitely no. Task scheduling is controlled by software, and tasks run when no interrupts are executing, just like a non RTOS program can only run when no interrupts are executing. Interrupts on the other hand are scheduled by the hardware, and there is nothing the task code can do to change how the hardware works – although they can disable interrupts globally, or just a subset of interrupts. Regards.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.