从Demo到量产:控制程序开发实战

📚 共计 30 章节
01
课程导论与项目全景
从Demo到量产的核心挑战、课程目标、完整控制项目生命周期:需求-设计-开发-测试-部署-维护
全景生命周期
02
需求分析与系统架构设计
模糊“想法”→明确技术需求、系统架构图(SVG)、模块划分原则
架构需求
03
硬件平台选型与评估
MCU/MPU选型(性能/成本/功耗/生态)、传感器与执行器选型、评估板快速上手
选型硬件
04
开发环境搭建与版本控制
IDE(Keil/IAR/VS Code)配置、交叉编译工具链、Git/GitLab工作流、代码仓库初始化
环境Git
05
裸机编程基础
寄存器操作、GPIO控制、中断系统、定时器、系统时钟配置
裸机寄存器
06
状态机与任务调度
有限状态机(FSM)设计模式、前后台系统(Super Loop)、时间片轮询调度
状态机调度
07
实时操作系统(RTOS)入门
FreeRTOS/RT-Thread任务创建、调度、任务间通信(队列/信号量/互斥量)
RTOSFreeRTOS
08
外设驱动开发(I):UART
UART通信协议与驱动实现、环形缓冲区设计、串口调试工具
UART驱动
09
外设驱动开发(II):I2C/SPI
I2C与SPI总线协议详解、驱动框架(分离与分层)、EEPROM/传感器驱动实例
I2CSPI
10
外设驱动开发(III):ADC/DAC/PWM
ADC与DAC驱动、PWM生成与电机控制、看门狗(WDT)应用
ADCPWM
11
数据采集与信号处理
数字滤波(均值/中值/卡尔曼)、数据校准与标定、传感器数据融合
滤波融合
12
通信协议栈(I):Modbus
Modbus RTU/TCP协议实现、CRC校验、从站/主站开发
ModbusCRC
13
通信协议栈(II):CAN
CAN总线基础、CAN报文解析、CANopen协议栈移植
CANCANopen
14
通信协议栈(III):MQTT与上云
MQTT协议与物联网上云、Wi-Fi/4G模块AT指令集封装
MQTT上云
15
存储管理
Flash驱动与磨损均衡、文件系统(LittleFS/FATFS)移植、参数存储与掉电保护
Flash文件系统
16
低功耗设计
睡眠模式与唤醒源、DVFS、功耗测量与优化案例
低功耗优化
17
安全性与可靠性设计
看门狗与异常处理、CRC/ECC、安全启动(Secure Boot)、加密通信
安全可靠性
18
单元测试与TDD
CUnit/Unity框架、Mock对象、代码覆盖率分析
测试TDD
19
硬件在环测试(HIL)
测试台架搭建、信号模拟、自动化测试脚本(Python)
HIL自动化
20
系统集成与联调
模块接口对接、总线冲突排查、系统时序分析
集成联调
21
EMC与抗干扰设计
硬件滤波、PCB布局要点、软件去抖与重试机制
EMC抗干扰
22
生产测试(Production Test)
ICT/FCT测试原理、测试固件开发、良率提升
生产FCT
23
Bootloader与固件升级
Bootloader架构、固件签名与校验、OTA升级流程
BootloaderOTA
24
日志系统与远程诊断
日志分级与存储、SEGGER RTT/串口日志、远程日志上传
日志诊断
25
文档编写与知识沉淀
需求文档、设计文档、API手册、版本发布说明
文档规范
26
代码审查与质量门禁
静态分析(PC-Lint/Coverity)、编码规范(MISRA-C)、Review流程
Code ReviewMISRA
27
CI/CD 持续集成/部署
Jenkins/GitLab CI配置、自动化构建、自动化测试、固件发布
CI/CD自动化
28
量产工具开发
序列号烧录、校准参数写入、功能测试脚本、产线MES对接
量产MES
29
现场问题排查与复盘
常见现场问题(死机/通信失败/数据异常)、日志分析、根因分析(RCA)
排查RCA
30
课程总结与进阶之路
从工程师到架构师的成长路径、推荐书单与社区、开源项目贡献
成长社区