🚗 嵌入式C · ADAS 编程
30章 · 高效实战
📘 风格
⚡ 实时 · 安全 · 优化
🧩 30个实战章节
01
ADAS系统概述与嵌入式C的挑战
ADAS系统架构简介
实时性与安全性要求
嵌入式C角色与挑战
02
高效数据类型选择
定点数与浮点数选择
位域与联合体妙用
枚举与宏定义最佳实践
03
内存管理优化
栈与堆使用策略
静态 vs 动态内存分配
内存池技术
04
指针与数组的高级用法
函数指针在状态机中应用
数组指针与指针数组
const关键字正确使用
05
结构体与数据封装
结构体对齐与填充
位域在CAN报文解析
面向对象思想在C中实现
06
中断服务程序(ISR)编写技巧
ISR编写原则
临界区保护
中断嵌套与优先级管理
07
实时操作系统(RTOS)基础
FreeRTOS任务创建管理
任务间通信(队列/信号量/互斥量)
任务优先级与调度策略
08
时间管理与定时器
硬件定时器配置
软件定时器实现
时间戳与延时函数
09
状态机编程
有限状态机(FSM)实现
状态表驱动设计
层次状态机(HFSM)简介
10
传感器数据采集与处理
ADC驱动与数据读取
滤波算法(移动平均/中值滤波)
数据校验与异常处理
11
CAN总线通信编程
CAN协议基础
CAN驱动框架
报文发送与接收 · CANopen简介
12
SPI与I2C通信
SPI主从模式实现
I2C多设备通信
DMA传输优化
13
诊断协议(UDS)实现
UDS服务概述
诊断请求与响应处理
DTC管理
14
Bootloader设计与实现
Bootloader架构
Flash驱动
固件升级流程 · 安全校验
15
代码优化与性能调优
循环展开与流水线优化
内联函数与宏
编译器优化选项
16
代码安全与MISRA-C规范
MISRA-C规则解读
静态代码分析工具
常见违规案例
17
单元测试与集成测试
CUnit框架使用
桩函数与模拟
测试覆盖率分析
18
调试技巧与工具
GDB调试
Tracealyzer工具
日志系统设计
19
版本控制与协作
Git工作流
代码审查
持续集成(CI)基础
20
低功耗编程技巧
睡眠模式与唤醒源
外设时钟门控
动态电压频率调整(DVFS)
21
多核编程基础
AMP与SMP架构
核间通信(IPC)
缓存一致性
22
功能安全与ISO 26262
功能安全概念
ASIL等级
软件安全机制
23
AUTOSAR架构简介
AUTOSAR分层架构
RTE与SWC
BSW模块
24
机器学习在ADAS中的部署
TinyML概念
模型量化与压缩
CMSIS-NN库使用
25
视觉感知算法实现
图像预处理
特征提取
目标检测基础
26
雷达与激光雷达数据处理
点云数据解析
目标跟踪算法
传感器融合基础
27
车辆控制算法实现
PID控制器
模型预测控制(MPC)基础
执行器接口
28
路径规划与决策
全局路径规划
局部路径规划
行为决策
29
系统集成与测试
硬件在环(HIL)测试
软件在环(SIL)测试
实车测试
30
未来趋势与展望
C++在ADAS中的应用
Rust语言探索
自动驾驶等级演进