工业自动化芯片多任务调度实战
📚 共计 30 章节
01
工业自动化芯片概述
什么是工业自动化芯片 · 工业芯片与消费芯片的区别 · 典型工业芯片架构(ARM Cortex-R/M系列、RISC-V)
架构
选型
02
实时操作系统(RTOS)基础
RTOS核心概念(任务、调度器、中断)· FreeRTOS与uC/OS-III对比 · 工业场景下的选型考量
RTOS
对比
03
任务创建与管理
任务控制块(TCB) · 任务栈配置 · 任务优先级设定 · 任务状态迁移(就绪、运行、阻塞、挂起)
TCB
状态
04
调度算法深度解析
时间片轮转(RR) · 优先级抢占式调度 · 合作式调度 · 调度点与上下文切换开销分析
调度
抢占
05
中断管理实战
中断优先级分组 · 中断嵌套 · 临界区保护(关中断/锁调度器)· 中断与任务的同步机制
中断
临界区
06
任务间通信-队列
队列的工作原理 · 阻塞式发送与接收 · 队列集(Queue Set) · 工业数据采集中的队列应用
队列
IPC
07
任务间通信-信号量
二值信号量 · 计数信号量 · 互斥信号量与优先级反转 · 死锁预防
信号量
互斥
08
任务间通信-事件组
事件标志位 · 多事件同步(与/或逻辑)· 事件组在报警系统中的实战
事件组
同步
09
任务间通信-消息邮箱
邮箱与队列的区别 · 邮箱的覆盖写策略 · 紧急消息处理
邮箱
覆盖
10
内存管理
静态内存分配与动态内存分配 · 内存碎片问题 · heap_1到heap_5对比 · 工业场景下的内存保护
内存
heap
11
软件定时器
定时器回调函数 · 单次定时器与周期定时器 · 定时器任务优先级 · 看门狗定时器集成
定时器
看门狗
12
任务通知(Task Notification)
轻量级IPC · 通知值的使用 · 通知替代信号量的性能对比
通知
轻量
13
多核调度基础
AMP与SMP架构 · 核间通信(IPC) · 共享资源保护 · 缓存一致性初探
多核
AMP
14
工业总线协议集成
CAN总线任务设计 · Modbus RTU任务封装 · EtherCAT从站任务模型
CAN
Modbus
15
传感器数据采集任务
ADC轮询与DMA方式 · 传感器滤波算法(均值/中值/卡尔曼)· 数据发布频率控制
传感器
滤波
16
执行器控制任务
PWM生成与占空比调节 · 步进电机梯形加减速 · PID控制任务化
PWM
PID
17
人机交互(HMI)任务
LCD刷新与触摸扫描 · 按键消抖与长按检测 · 菜单系统任务设计
HMI
触摸
18
通信协议栈任务
TCP/IP协议栈(LwIP)任务化 · MQTT客户端任务 · HTTP服务器任务
LwIP
MQTT
19
日志与诊断任务
环形缓冲区日志 · Flash日志存储 · 远程诊断命令处理
日志
诊断
20
安全与冗余设计
双机热备任务 · 看门狗任务 · 安全状态机 · Fail-Safe机制
冗余
安全
21
低功耗任务设计
Tickless模式 · 睡眠与唤醒 · 外设电源管理 · 功耗测量与优化
低功耗
Tickless
22
任务优先级反转与解决
优先级继承协议 · 优先级天花板协议 · 实际案例分析
反转
继承
23
死锁检测与预防
死锁产生的四个必要条件 · 银行家算法 · 工业系统中的死锁避免策略
死锁
银行家
24
任务栈溢出检测
栈使用量统计 · 栈溢出钩子函数 · 栈深度优化技巧
栈溢出
优化
25
系统启动与初始化流程
芯片启动文件(startup) · RTOS初始化 · 外设初始化 · 任务创建顺序
启动
初始化
26
调试与性能分析
Tracealyzer工具使用 · 任务CPU占用率统计 · 系统Tick中断分析
调试
Trace
27
单元测试与集成测试
任务桩(Stub)编写 · 模拟中断注入 · 覆盖率测试
测试
Stub
28
工业自动化芯片选型实战
STM32H7系列 · TI AM64x系列 · NXP i.MX RT系列对比
选型
STM32
29
项目实战:多轴运动控制器
任务分解(通信、插补、位置环、速度环、HMI)· 调度策略设计
运动控制
多轴
30
项目实战:智能网关数据采集器
多协议转换任务 · 数据上云任务 · 本地存储任务 · OTA升级任务
网关
OTA