Bird
0
0

Why is it important that deferred interrupt processing uses ISR-safe FreeRTOS APIs like xTaskNotifyFromISR or xQueueSendFromISR instead of their normal counterparts?

hard📝 Conceptual Q10 of 15
FreeRTOS - Interrupt Management
Why is it important that deferred interrupt processing uses ISR-safe FreeRTOS APIs like xTaskNotifyFromISR or xQueueSendFromISR instead of their normal counterparts?
ABecause normal APIs block and cannot be called from ISR context
BBecause ISR-safe APIs disable interrupts internally to prevent race conditions
CBecause ISR-safe APIs automatically increase task priorities
DBecause normal APIs cause the system to reboot if called from ISR
Step-by-Step Solution
Solution:
  1. Step 1: Understand ISR context restrictions

    ISRs cannot block or wait; normal APIs may block and are unsafe in ISR.
  2. Step 2: Role of ISR-safe APIs

    ISR-safe APIs are designed to be non-blocking and safe to call from ISRs.
  3. Final Answer:

    Because normal APIs block and cannot be called from ISR context -> Option A
  4. Quick Check:

    ISR-safe APIs avoid blocking in interrupt context [OK]
Quick Trick: Use non-blocking ISR-safe APIs inside ISRs [OK]
Common Mistakes:
  • Thinking ISR-safe APIs disable interrupts internally
  • Assuming ISR-safe APIs change task priorities automatically
  • Believing normal APIs cause system reboot

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More FreeRTOS Quizzes