01
固件清单概述
什么是固件清单、为什么需要固件清单、固件清单的核心要素。
概念入门
02
开发环境搭建
安装Git、安装Python、安装VS Code、配置交叉编译工具链。
工具环境
03
硬件抽象层设计
HAL层的作用、GPIO驱动封装、UART驱动封装、I2C驱动封装。
驱动嵌入式
04
固件版本管理
Git仓库初始化、分支策略、Tag管理、CHANGELOG编写规范。
Git版本
05
构建系统入门
Makefile基础、CMake基础、Kconfig配置、构建产物管理。
构建自动化
06
固件配置文件
JSON配置文件格式、YAML配置文件格式、配置校验、默认配置加载。
配置格式
07
固件签名与安全
哈希算法选择、签名流程设计、验签机制、安全启动链。
安全签名
08
固件打包工具
打包脚本编写、固件头结构设计、CRC校验、固件加密。
打包工具
09
固件升级机制
OTA升级流程、差分升级原理、回滚策略、升级失败处理。
OTA升级
10
固件清单数据结构
清单文件格式、元数据定义、依赖关系描述、兼容性标记。
数据结构
11
清单生成自动化
Python脚本生成清单、模板引擎使用、CI/CD集成、清单验证。
自动化CI/CD
12
固件仓库管理
仓库目录结构、组件化拆分、子模块管理、版本锁定。
仓库组件
13
固件依赖分析
依赖树生成、循环依赖检测、版本冲突解决、最小依赖集。
依赖分析
14
固件测试策略
单元测试框架选择、模拟器测试、硬件在环测试、回归测试。
测试质量
15
固件持续集成
Jenkins流水线设计、GitHub Actions配置、自动化构建、自动化测试。
CI流水线
16
固件发布流程
发布分支管理、发布候选版本、灰度发布、全量发布。
发布流程
17
固件清单校验工具
校验脚本编写、完整性检查、签名验证、报告生成。
校验工具
18
固件清单可视化
依赖图绘制、版本时间线、组件关系图、仪表盘设计。
可视化图表
19
多平台固件管理
ARM固件管理、RISC-V固件管理、X86固件管理、跨平台兼容。
多平台架构
20
固件清单数据库
数据库选型、表结构设计、查询优化、数据备份。
数据库存储
21
固件清单API设计
RESTful API设计、GraphQL接口、API版本管理、接口文档。
API接口
22
固件清单Web界面
前端框架选择、清单展示页面、搜索功能、批量操作。
前端界面
23
固件清单权限管理
用户角色设计、访问控制列表、操作审计、安全日志。
权限安全
24
固件清单通知机制
邮件通知、Webhook回调、消息队列、告警规则。
通知告警
25
固件清单性能优化
缓存策略、数据库索引、懒加载、分页查询。
性能优化
26
固件清单容灾备份
多副本部署、异地备份、故障切换、数据恢复。
容灾备份
27
固件清单合规检查
许可证检查、安全漏洞扫描、出口管制合规、合规报告。
合规安全
28
固件清单与DevOps
与Jira集成、与Confluence集成、与Slack集成、与钉钉集成。
DevOps集成
29
固件清单最佳实践
命名规范、版本号规范、文档规范、代码规范。
规范最佳实践
30
固件清单实战项目
智能家居网关固件清单、工业控制器固件清单、车载设备固件清单。
实战项目