banner
NEWS LETTER

嵌入式 Linux 系列 30:SDK、项目目录和团队协作

Scroll down

嵌入式项目很容易变成一堆 SDK 压缩包、临时补丁、手工改动和不可复现镜像。项目目录和协作方式如果不规范,团队越多人,问题越难追。

一、推荐目录

示例:

1
2
3
4
5
6
7
8
9
project/
buildroot/
board/
apps/
packages/
scripts/
configs/
docs/
output/

或者把 Buildroot 作为子模块,应用单独仓库。关键是能说明每个目录职责。

二、哪些要进 Git

应该保存:

  • defconfig。
  • kernel config。
  • busybox config。
  • rootfs overlay。
  • 自定义 package。
  • 应用源码。
  • 构建脚本。
  • 文档。

不建议保存:

  • 完整 output。
  • 临时镜像。
  • 编译中间文件。
  • 私钥和证书。

产物可以通过 CI 归档,不一定进源码仓库。

三、补丁管理

厂商 SDK 经常需要打补丁。

建议:

1
2
3
4
patches/
linux/
uboot/
buildroot/

每个补丁写清楚:

  • 修改原因。
  • 适用版本。
  • 是否已反馈上游。
  • 是否可以删除。

不要直接在 SDK 里手工改完就忘。

四、一键构建

提供:

1
./scripts/build.sh

做到:

  • 从干净环境开始。
  • 加载配置。
  • 编译固件。
  • 生成版本信息。
  • 输出产物路径。

新人接手项目时,一键构建比长文档更可靠。

五、文档最小集

至少包括:

  • 环境搭建。
  • 构建方法。
  • 烧录方法。
  • 串口参数。
  • 分区布局。
  • OTA 流程。
  • 常见问题。

文档要跟着代码更新,否则很快失效。

六、协作底线

团队协作底线:

  • 所有改动可追踪。
  • 所有镜像可复现。
  • 所有版本可定位。
  • 所有发布有记录。

嵌入式项目不是只写代码,更多时候是在管理复杂系统的可重复性。

其他文章
目录导航 置顶
  1. 1. 一、推荐目录
  2. 2. 二、哪些要进 Git
  3. 3. 三、补丁管理
  4. 4. 四、一键构建
  5. 5. 五、文档最小集
  6. 6. 六、协作底线
请输入关键词进行搜索