Bird
0
0

What should configMAX_SYSCALL_INTERRUPT_PRIORITY be set to?Note: Priority values are shifted left to fill the 8-bit priority register.

hard📝 Application Q15 of 15
FreeRTOS - Interrupt Management

You have a FreeRTOS system on a Cortex-M7 with 5 priority bits. You want to allow interrupts with priority 16 and lower (numerically higher) to call FreeRTOS API safely. What should configMAX_SYSCALL_INTERRUPT_PRIORITY be set to?

Note: Priority values are shifted left to fill the 8-bit priority register.

A0x40
B0x10
C0x20
D0x80
Step-by-Step Solution
Solution:
  1. Step 1: Calculate shifted priority value

    With 5 priority bits, priorities are left-shifted by (8 - 5) = 3 bits. Priority 16 decimal = 0x10 hex. Shift left by 3 bits: 0x10 << 3 = 0x80.
  2. Step 2: Match shifted value to options

    0x80 matches 0x80, confirming the correct shifted priority value.
  3. Final Answer:

    0x80 -> Option D
  4. Quick Check:

    Priority 16 << 3 bits = 0x80 [OK]
Quick Trick: Shift priority left by (8 - priority bits) to get config value [OK]
Common Mistakes:
  • Not shifting priority bits correctly
  • Confusing decimal and hex values
  • Choosing unshifted priority values

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More FreeRTOS Quizzes