MCU实时系统设计 · 30章
工业控制 · 从入门到实战
01
工业控制MCU选型与架构分析
STM32/NXP/TI/Microchip
ARM Cortex-M选型
工业级vs消费级
内部架构解析
02
实时操作系统(RTOS)基础概念
前后台 vs RTOS
任务/调度器
信号量/队列/互斥锁
实时性指标
03
FreeRTOS移植与配置
源码结构
中断/时钟/堆栈
FreeRTOSConfig.h
Tick中断优先级坑
04
任务创建与管理
TCB/状态机
优先级与堆栈
动态vs静态创建
任务划分经验
05
任务调度机制
抢占式/时间片/协作
调度点分析
优先级反转
电机控制延迟案例
06
队列与消息传递
队列工作机制
创建/收发API
中断中使用队列
多任务数据同步
07
信号量与互斥量
二值/计数/互斥
优先级继承
死锁预防
PLC传感器同步
08
软件定时器
单次/周期定时器
回调函数
定时器任务优先级
看门狗喂狗/数据上报
09
中断管理
优先级分组/嵌套
延迟优化
临界区保护
中断与任务同步
10
内存管理
静态/动态分配
heap_1~heap_5
内存碎片
三天排查内存泄漏
11
低功耗设计
Sleep/Stop/Standby
Tickless模式
外设时钟门控
电池无线传感器
12
任务间通信综合设计
生产者-消费者
发布-订阅
管道/共享内存
工业网关设计
13
外设驱动框架设计
分层驱动 HAL/LL
DMA优化
中断/轮询选择
SPI/I2C/UART封装
14
GPIO与按键管理
硬件/软件去抖
矩阵键盘扫描
GPIO中断
长按短按双击状态机
15
定时器与PWM输出
通用/高级定时器
互补输出/死区
PWM频率占空比
电机控制死区插入
16
ADC与传感器采集
多通道+DMA
过采样/均值滤波
校准与线性化
工业抗干扰
17
通信协议栈实现 (UART/RS485/Modbus)
UART DMA收发
RS485控制
Modbus RTU/CRC
多从机轮询
18
CAN总线通信
CAN控制器配置
报文收发/过滤器
CANopen简介
汽车电子调试经历
19
SPI与I2C总线应用
多设备片选管理
从机地址配置
高速时序优化
Flash/传感器/显示屏
20
文件系统与存储管理
LittleFS vs FatFS
Flash磨损均衡
掉电保护
参数/日志存储
21
Bootloader设计
双区启动架构
固件校验CRC/SHA
加密与安全升级
远程升级失败反思
22
安全性与可靠性设计
独立/窗口看门狗
电源监测/掉电
数据校验ECC
故障注入测试
23
工业协议栈集成
EtherCAT/PROFINET
EtherNet/IP
工业以太网实时性
网关协议转换
24
系统性能分析与优化
CPU占用率统计
堆栈监测
DWT/定时器测量
性能瓶颈定位
25
调试与测试技术
JTAG/SWD技巧
RTT日志/断言
单元测试/HIL
示波器/逻辑分析仪
26
多核与异构计算
双核MCU STM32H7
AMP/SMP模式
核间通信Mailbox
DSP/NPU协处理
27
工业现场总线综合应用
CAN+RS485+Ethernet
实时采集上传
边缘计算与云协同
28
典型工业控制器设计实战 (上)
PLC需求分析
硬件选型/原理图
软件架构/任务划分
29
典型工业控制器设计实战 (下)
编码器/位置控制
PID算法与调参
HMI通信/数据可视化
整机联调/EMC
30
项目总结与职业发展
知识体系回顾
AI on MCU/TSN
Functional Safety
嵌入式成长路径