🚗 嵌入式C · 自动驾驶高级应用
📘 30章 完整目录
01
嵌入式C基础与自动驾驶概述
基础
C语言地位 · 系统架构 · 嵌入式C与通用C区别
02
内存管理与指针进阶
核心
动态内存分配 · 泄漏检测 · 函数指针与传感器驱动
03
数据结构在自动驾驶中的应用
结构
链表/队列/环形缓冲区 · 路径点管理 · CAN数据流
04
位运算与寄存器操作
底层
位掩码/位域 · 原子操作 · volatile与硬件寄存器
05
中断处理与实时性
实时
中断向量表 · ISR规范 · 嵌套与优先级反转
06
定时器与PWM生成
驱动
硬件定时器配置 · PWM电机控制 · 输入捕获轮速
07
ADC与传感器数据采集
感知
逐次逼近ADC · DMA双缓冲 · 卡尔曼滤波C实现
08
CAN总线通信协议
总线
CAN帧结构 · SocketCAN/裸机 · CANopen车辆控制
09
SPI与I2C总线通信
外设
SPI模式/多从机 · I2C时序 · EEPROM/IMU驱动
10
UART与串口通信
通信
异步串口 · 环形缓冲区 · Modbus RTU车载诊断
11
RTOS基础与任务管理
系统
FreeRTOS任务 · 优先级调度 · 队列/信号量/互斥量
12
RTOS高级特性
进阶
软件定时器 · 中断管理 · heap_1~heap_5对比
13
状态机设计与实现
架构
FSM自动驾驶决策 · HSM复杂行为 · 表驱动实现
14
控制算法C实现
算法
PID离散化 · 低通滤波器IIR · 横纵向控制框架
15
传感器融合与C实现
融合
EKF/UKF代码 · 多传感器时间同步
16
路径规划算法基础
规划
A*网格地图 · Dijkstra路网 · RRT非结构化
17
车辆动力学模型
模型
Bicycle Model · 阿克曼几何 · 状态估计
18
功能安全与MISRA-C
安全
MISRA-C:2012 · 静态分析 · ASIL代码质量
19
Bootloader设计与实现
启动
MCU启动流程 · CAN/UART Bootloader · 固件回滚
20
低功耗设计与电源管理
功耗
睡眠/停止/待机 · 唤醒源 · 功耗优化
21
调试与性能分析
调试
GDB条件断点 · Perf/Tracealyzer · 栈溢出检测
22
单元测试与自动化测试
测试
Unity/CMock · TDD · 硬件在环HIL简介
23
代码优化与编译器技巧
优化
-O0~-Os · 内联vs宏 · 循环展开/软件流水线
24
多核异构计算
异构
ARM Cortex-M + RISC-V · AMP/SMP · Mailbox
25
安全通信与加密
加密
AES-C实现 · CRC安全启动 · TLS/DTLS车载以太网
26
车载以太网与SOME/IP
网络
AVB/TSN · SOME/IP服务发现 · DoIP诊断
27
ROS2与嵌入式集成
集成
Micro-ROS移植 · 话题/服务/动作 · Linux协同
28
机器学习在嵌入式部署
AI
TinyML · TFLite Micro · 量化剪枝 · 轻量神经网络
29
系统集成与实车测试
实战
硬件软件集成 · 测试用例 · EMI/电源纹波排查
30
未来趋势与总结
展望
C不可替代性 · Rust对比 · 课程总结与进阶路径