📘 STM32CubeAI·调试可视化
30章
⚡ 风格 · 蓝绿清新
01
课程导论与工具概览
STM32CubeAI是什么?它能解决什么问题?课程目标与学习路径。
02
开发环境搭建
安装STM32CubeMX、STM32CubeIDE、X-CUBE-AI扩展包。版本兼容性检查。
03
模型准备与格式转换
支持的主流框架(Keras, TensorFlow Lite, ONNX)。模型导出为.h5或.tflite。
04
STM32CubeMX项目创建
选择MCU型号(如STM32F4, STM32H7)。配置时钟、外设(UART, USB)。
05
集成X-CUBE-AI
在CubeMX中激活AI扩展。添加神经网络处理单元(NPU)支持。
06
模型导入与分析
将.h5模型导入CubeMX。自动分析模型结构、参数量、内存占用。
07
模型优化与量化
了解量化原理(int8 vs float32)。在CubeMX中配置量化参数。
08
验证与仿真
使用CubeMX内置验证工具。对比PC端与MCU端推理结果差异。
09
代码生成
自动生成C代码。理解生成的API结构(ai_model, ai_data, ai_network)。
10
STM32CubeIDE项目导入
将CubeMX生成的代码导入IDE。配置编译选项与优化等级。
11
运行时调试
使用串口打印推理结果。添加断点调试模型输出层。
12
性能分析工具
使用CubeMX的Profiler功能。分析每层推理时间与内存带宽。
13
可视化工具介绍
STM32CubeMonitor-RF与AI插件。实时查看模型输出与传感器数据。
14
CubeMonitor配置
建立UART连接。配置数据可视化面板(波形图、仪表盘)。
15
实时数据流调试
将MCU推理结果通过UART发送至PC。在CubeMonitor中绘制实时曲线。
16
模型输入输出可视化
显示摄像头/麦克风输入数据。对比原始信号与模型输出。
17
多模型切换调试
在单个项目中部署多个模型。通过串口命令切换模型并观察输出。
18
内存使用分析
查看RAM/Flash占用。优化内存布局(DMA, 双缓冲)。
19
功耗分析
结合STM32CubeMonitor-Power。测量不同模型推理时的功耗曲线。
20
常见错误与解决
模型导入失败(版本不匹配)。推理结果异常(输入预处理错误)。
21
高级调试技巧
使用ITM/SWO输出调试信息。结合逻辑分析仪查看时序。
22
自定义验证脚本
编写Python脚本批量测试模型。对比MCU与PC端输出误差。
23
模型部署优化
使用CMSIS-NN加速。调整线程优先级与中断。
24
案例实战1:手势识别
使用加速度计数据训练模型。在MCU上部署并可视化。
25
案例实战2:关键词唤醒
使用麦克风采集音频。实时显示唤醒词检测结果。
26
案例实战3:异常检测
使用传感器数据训练自编码器。可视化重建误差。
27
案例实战4:图像分类
使用摄像头采集图像。在LCD上显示分类结果与置信度。
28
版本迁移与兼容性
从X-CUBE-AI 7.x迁移到8.x。处理API变更。
29
生产环境部署
从调试模式切换到发布模式。固件签名与安全启动。
30
课程总结与进阶路径
回顾核心知识点。推荐学习资源(官方文档、社区论坛)。
STM32CubeAI · 调试可视化 · 友好