RTOS概念
FreeRTOS发展史
应用场景
源码目录结构
Keil MDK & GCC
FreeRTOS移植
第一个任务点亮LED
xTaskCreate()深度解析
prvInitialiseNewTask()
vTaskDelete()实现
vTaskStartScheduler()
SVC & PendSV异常
启动第一个任务
PendSV_Handler逐行分析
xPortPendSVHandler()汇编
上下文切换
优先级抢占式
时间片轮转
configUSE_TIME_SLICING
vTaskDelay()源码
vTaskDelayUntil()
延时列表与时间管理
prvIdleTask()源码
空闲任务钩子
任务统计功能
xTaskNotifyGive()
ulTaskNotifyTake()
通知值操作 · 轻量IPC
队列结构体
xQueueCreate()源码
队列存储机制
xQueueSend / Receive
队列锁机制
中断级API
xQueueCreateSet()
队列集事件处理
多队列等待
二值/计数信号量
xSemaphoreCreateBinary()
实现原理
xSemaphoreCreateMutex()
优先级继承机制
死锁预防
xSemaphoreCreateRecursiveMutex
递归加锁/解锁
使用场景
EventGroup结构体
xEventGroupCreate()
事件位操作 · WaitBits
定时器命令队列
prvTimerTask()源码
xTimerCreate / Start
heap_1 ~ heap_5对比
heap_4最佳匹配
内存碎片处理
taskENTER_CRITICAL()
taskEXIT_CRITICAL()
中断嵌套 · 优先级配置
List_t / ListItem_t
vListInsert / InsertEnd
列表遍历
pxReadyTasksLists数组
优先级与列表映射
选择最高优先级任务
xDelayedTaskList1/2
列表切换机制
时间溢出处理
vTaskSuspend / Resume
xTaskResumeFromISR()
vTaskDelete()源码
任务资源回收
prvAddCurrentTaskToDelayedList
协程机制
xCoRoutineCreate()
协程 vs 任务
FreeRTOS-MPU架构
内存保护机制
特权级/用户级任务
configUSE_TICKLESS_IDLE
prvResetNextTaskUnblockTime
tickless实现
configASSERT()宏
trace宏
FreeRTOS+Trace · 栈溢出检测
多任务温湿度采集
任务间通信设计
性能优化与内存分析