📘 STM32CubeAI · 模型部署与性能调优
⚡ 30章 从入门到专家 · 友好色系
✨ 动手实践 · 轻松部署
01
课程导论与开发环境搭建
STM32CubeAI概述
应用场景
开发板选型
CubeMX/CubeIDE安装
X-CUBE-AI扩展包
02
STM32CubeMX项目创建与配置
新建STM32项目
时钟树配置(HSE/LSE/PLL)
串口与GPIO
调试接口SWD
03
X-CUBE-AI中间件集成
激活X-CUBE-AI
RTOS/Baremetal运行时
内存池与堆栈配置
04
模型文件准备与格式转换
Keras/TFLite/ONNX
量化FP32/INT8
输入输出张量对齐
05
模型导入与验证
CubeMX导入模型
分析报告(RAM/Flash/周期)
验证推理结果
06
代码生成与工程结构
自动生成代码框架
app_x-cube-ai.c/h
network.c/h
用户代码插入点
07
裸机推理部署
无RTOS推理流程
轮询/中断模式
单次与连续推理
08
RTOS (FreeRTOS) 推理部署
任务创建与优先级
消息队列传递IO
信号量同步
09
输入数据预处理
图像缩放裁剪(DMA2D)
uint8/float转换
归一化参数对齐
10
输出数据后处理
softmax/argmax
目标检测NMS
回归反归一化
11
性能基准测试
CubeMX Profiler
逐层耗时分析
识别性能瓶颈
12
内存优化策略
激活缓冲区复用
权重常量折叠
减少临时变量
13
算子优化与加速
CMSIS-NN/DSP
SIMD指令集
查表法激活函数
14
模型量化实战 (INT8)
训练后量化PTQ
校准数据集
QAT简介
精度损失评估
15
模型剪枝与知识蒸馏
结构化剪枝
知识蒸馏教师-学生
STM32效果对比
16
多模型协同推理
串行/并行调度
共享内存传递
检测+分类应用
17
外部存储器扩展 (QSPI/SDRAM)
映射权重到外部Flash
SDRAM推理工作区
性能与功耗权衡
18
功耗优化与电池供电场景
降低主频电压
深度睡眠+推理唤醒
事件驱动架构
19
调试与日志系统
串口打印推理日志
SEGGER RTT
断言检查IO范围
20
错误处理与异常恢复
模型加载失败处理
推理超时检测
看门狗喂狗策略
21
多传感器数据融合
加速度计+陀螺仪
时间戳同步
滑动窗口输入
22
边缘端持续学习 (On-Device Learning)
增量训练原理
权重更新实现
灾难性遗忘缓解
23
安全与加密
AES模型加密
安全启动验证
防逆向工程
24
OTA远程更新
模型分区管理
差分更新算法
断点续传与校验
25
性能调优案例分析 (一)
MobileNetV2全流程调优
图像分类部署
26
性能调优案例分析 (二)
TinySpeech关键词唤醒
实时性优化
内存压缩
27
性能调优案例分析 (三)
PoseNet人体姿态估计
轻量化部署
28
常见问题与解决方案
推理结果错误排查
内存溢出处理
算子回退策略
29
高级工具链
CubeMonitor-AI
CubeCLI命令行
Git版本管理
30
课程总结与未来展望
TinyML发展趋势
STM32N6 NPU
社区资源与认证