标签题目
FreeRTOS相关面试题
FreeRTOS 如何实现任务调度?
这题考实时内核调度机制,回答要把优先级就绪链表、节拍中断、阻塞唤醒和上下文切换串起来。
FreeRTOS 任务状态机有哪些状态,阻塞和挂起有什么区别?
这题考实时任务生命周期,重点是能解释运行、就绪、阻塞、挂起之间的转换,以及阻塞和挂起的本质差异。
FreeRTOS 的 heap_4 有什么特点,malloc 时底层具体做了什么?
这题考实时内核动态内存管理,回答要说明 heap_4 用空闲块链表、按地址合并相邻块,malloc 时对齐、查找、拆分并返回用户区。
FreeRTOS 任务栈溢出一般怎么排查,有哪些常见原因?
这题考任务栈问题定位,回答要覆盖溢出检测配置、高水位检查、故障现场和常见栈消耗来源。
FreeRTOS 上下文切换为什么常用 SysTick 和 PendSV?
这题考 Cortex-M 上实时内核切换机制,回答要说明 SysTick 负责时间节拍和唤醒,PendSV 以低优先级执行上下文保存恢复。
FreeRTOS 任务间传递一帧图像这类大量数据时,队列、流缓冲区和共享内存加信号量怎么选?
这题考任务间通信选型,回答要说明大块数据不宜直接队列拷贝,通常用共享缓冲加所有权同步或流式缓冲。
FreeRTOS 每个任务为什么需要自己的栈,任务切换时要保存哪些上下文?
这题考任务隔离和上下文切换基础,回答要说明每个任务必须有独立调用栈,切换时保存寄存器、栈指针和调度状态。
FreeRTOS 临界区和关中断是什么关系,使用时要注意什么?
这题考临界区保护机制,回答要说明临界区常通过屏蔽中断和调度来保护共享数据,但必须短小、不可阻塞并区分任务和中断接口。
FreeRTOS 低功耗是怎么做的,进入低功耗模式后如何唤醒?
这题考实时系统低功耗设计,回答要讲清 tickless idle、进入睡眠前判断、外部唤醒源和唤醒后的 tick/外设恢复。