FreeRTOSConfig.h is the per-project header that tunes the kernel at compile time. The settings with the biggest impact: configTICK_RATE_HZ sets the tick interrupt frequency (e.g., 1000 Hz for a 1 ms tick), trading time resolution and round-robin granularity against overhead. configMAX_PRIORITIES sets how many priority levels exist. configMINIMAL_STACK_SIZE is the baseline stack you size tasks against, and per-task stack sizing is critical because stacks are a major RAM cost and overflow silently without an MMU. configUSE_PREEMPTION chooses preemptive vs cooperative scheduling, and configUSE_TIME_SLICING controls round-robin among equal priorities. configCHECK_FOR_STACK_OVERFLOW enables the overflow hook (essential during development). configUSE_IDLE_HOOK/configUSE_TICK_HOOK enable hooks for low-power sleep and periodic work. And on Cortex-M, configMAX_SYSCALL_INTERRUPT_PRIORITY defines the priority threshold below which ISRs may call kernel APIs, a correctness-critical setting. There's also the memory configuration: whether dynamic allocation, static allocation, or both are enabled, and which heap implementation is linked. I'd also wire up configASSERT to a breakpoint/handler in development because the kernel asserts on many misuse conditions. So the header is where you set tick rate, priorities, stack baseline, scheduling policy, debug hooks, the interrupt-priority threshold, and memory strategy, and the most bug-prone of these is the interrupt-priority threshold, with stack sizing the most RAM-impactful.
RTOS & Real-Time Concepts · Interview question
What does FreeRTOSConfig.h control, and which settings matter most?
A strong answer
What a weak answer sounds like
You know the answer. Do you know what gets you dinged?
Pro breaks down the answer most candidates actually give to this question — and the specific reason an interviewer marks it down. It’s the difference between sounding correct and sounding senior, on all 472 questions.
From the lesson
FreeRTOS: A Practical Tour
Tying it together: the FreeRTOS API mapped to every concept (tasks, queues, mutexes, timers, notifications), a worked ISR-to-task app, key FreeRTOSConfig.h knobs, heap schemes, and debugging.