版本管理基础
为什么嵌入式项目需要版本管理 · Git/SVN/ClearCase对比 · 集中式与分布式核心区别
Git核心概念
工作区·暂存区·本地仓库·远程仓库 · Git对象模型(Blob/Tree/Commit) · HEAD与分支本质
Git基础操作
init/clone/add/commit/status/log/diff · .gitignore配置 · 提交信息规范
分支管理策略
Git Flow详解 · GitHub Flow vs GitLab Flow · release/hotfix/feature策略
标签与版本号
语义化版本(SemVer) · 轻量标签与附注标签 · 版本号在固件中嵌入实践
远程仓库协作
remote/fetch/push/pull · Pull Request与Code Review · 合并冲突实战
嵌入式项目结构管理
典型目录结构(src/inc/test/doc/tools) · submodule · 大型仓库拆分策略
持续集成基础
CI/CD概念与价值 · 嵌入式CI挑战(交叉编译/硬件依赖) · Jenkins/GitLab CI/GitHub Actions
Jenkins入门
安装与配置 · Pipeline语法(Declarative vs Scripted) · Jenkinsfile编写与版本管理
GitLab CI实践
.gitlab-ci.yml详解 · Runner安装注册 · Stage/Job · Artifacts与Cache
GitHub Actions
Workflow语法 · Actions市场 · 自托管Runner · 嵌入式项目实战
自动化构建系统
CMake最佳实践 · Debug/Release/Test切换 · 构建产物(hex/bin/elf)管理
交叉编译环境管理
Docker在嵌入式CI应用 · Dockerfile技巧 · 环境版本锁定与复现
静态代码分析自动化
Cppcheck/Clang-Tidy集成 · MISRA C/C++检查 · SonarQube部署
单元测试自动化
CUnit/Unity/CMock · 测试用例自动执行 · 覆盖率(gcov/lcov)与门禁
硬件在环测试(HIL)
HIL基本概念 · Robot Framework/pytest · 测试报告生成与归档
固件烧录与部署自动化
OpenOCD/J-Link Commander · 自动化烧录脚本 · 批量生产策略
版本发布流程
RC管理 · Release Notes自动生成(git log/changelog) · 发布包打包
OTA升级策略
OTA基本原理 · 差分升级(bsdiff/hdiffpatch) · 版本校验与回滚
安全与签名
固件签名(RSA/ECDSA) · 签名自动化 · Secure Boot与版本验证
配置管理
Kconfig与宏定义 · 配置文件版本控制 · 产品变体配置策略
依赖管理
第三方库版本管理(vcpkg/conan) · 依赖冲突解决 · License合规检查
文档自动化
Doxygen API文档 · Sphinx用户手册 · 文档与代码同步更新
监控与告警
CI失败告警(邮件/钉钉/微信) · 构建趋势分析 · 质量门禁
多平台构建
ARM/RISC-V/x86构建矩阵 · 条件编译与平台适配 · 并行优化
版本回溯与热修复
紧急Bug修复流程 · hotfix分支 · 补丁快速发布与验证
DevOps文化落地
嵌入式团队DevOps转型 · 工具链选型与成本 · 协作流程优化
案例实战(一)
基于STM32的CI/CD流水线:代码提交到固件烧录全自动化
案例实战(二)
基于ESP32的OTA升级系统:版本管理+差分升级+回滚
总结与展望
嵌入式版本管理未来趋势(GitOps/云原生/MLOps) · 课程总结与进阶路径