车载MCU RTOS移植与适配
30章 · 实战目录
📘 风格 · 硬核技术
01
RTOS概述与选型
车载MCU为什么需要RTOS?FreeRTOS、uCOS、RT-Thread、AUTOSAR OS对比分析。
02
开发环境搭建
基于IAR/Keil/GCC的RTOS工程模板创建,调试器与仿真器配置。
03
任务管理基础
任务控制块(TCB)、任务状态机、任务优先级与调度策略详解。
04
任务创建与删除
动态创建 vs 静态创建,任务堆栈大小估算,任务删除的陷阱。
05
任务调度机制
抢占式调度、时间片轮转、协作式调度,优先级反转案例。
06
空闲任务与钩子函数
空闲任务的职责,Idle Hook的典型用法(低功耗、CPU负载统计)。
07
任务间通信-队列
队列的工作原理、阻塞机制、队列集,多生产者-消费者模型。
08
任务间通信-信号量
二值信号量、计数信号量、互斥信号量,死锁坑。
09
任务间通信-事件标志组
事件与或逻辑、事件等待超时,多条件触发场景。
10
消息邮箱与管道
轻量级通信方式,与队列对比,适合ISR的场景。
11
内存管理
heap_1到heap_5实现原理,内存碎片,车载内存优化方案。
12
软件定时器
定时器回调、自动重载与单次模式,精度问题,周期性任务场景。
13
中断管理
临界区保护、中断嵌套、延迟中断处理,ISR中API规则。
14
时钟节拍与系统Tick
Tick中断实现,Tickless模式降低功耗,时间精度与负载权衡。
15
任务堆栈溢出检测
硬件检测 vs 软件检测,堆栈使用率统计,堆栈溢出Bug排查。
16
MPU与内存保护
ARMv7-M MPU配置,任务隔离,防止野指针,功能安全。
17
低功耗管理
Tickless Idle模式、睡眠与深度睡眠切换,外设时钟门控,功耗数据对比。
18
任务优先级反转与解决
优先级继承协议、优先级天花板协议,火星探路者案例。
19
死锁与活锁
死锁四个必要条件,预防与避免策略,活锁问题。
20
多核与SMP
AMP vs SMP架构,核间通信(IPC),缓存一致性,高性能车载MCU。
21
AUTOSAR OS概述
OSEK/VDX标准,AUTOSAR OS调度表、Counter、Alarm机制。
22
AUTOSAR OS移植
从FreeRTOS迁移到AUTOSAR OS步骤,OS配置工具使用。
23
功能安全基础
ISO 26262对RTOS要求,内存分区、时间隔离、故障检测机制。
24
安全认证实践
SafeRTOS与uCOS Safety认证经验,ASIL-D项目。
25
Bootloader与RTOS
多阶段启动流程,跳转到APP前的RTOS初始化,看门狗喂狗策略。
26
OTA升级与RTOS
差分升级、回滚机制,升级过程中任务管理,断点续传实现。
27
调试与性能分析
Tracealyzer/SystemView使用,任务CPU占用率,上下文切换次数分析。
28
常见Bug与调试技巧
HardFault定位、堆栈回溯、断言失败处理,调试三板斧。
29
车载通信协议栈集成
CAN/CANFD、LIN、Ethernet协议栈与RTOS集成,中断与任务优先级设计。
30
综合实战项目
基于Infineon TC3xx的整车控制器VCU RTOS移植,任务划分与性能调优全流程。