正常
方向 D2:工具完备
最后更新:2026-09-02(回填 debug/workflow 两卷落地项:调试与排错卷 3 章新建、开发环境配置卷扩至 6 篇并全卷重写) 任务数量:66项 (9工具 + 57文档),文档已完成约 16 项(buildroot 12 章、I2C/SPI 驱动,以各表勾选为准)
📋 为什么重要
方向 D2 的核心目标是提供完整的辅助工具链,提升开发效率和用户体验。当环境配置完成后,良好的工具可以让开发过程更加顺畅。
核心价值:
- 提供完整的开发工具集
- 建立 CI/CD 基础
- 完善文档体系
- 支持多板卡扩展
📊 优先级概览
| 优先级 | 工具任务 | 文档任务 | 总计 |
|---|---|---|---|
| P1 | 6项(✅3 / 待办3) | 49项(✅约16 / 待办约33) | 55 |
| P2 | 3项(待办) | 8项(待办) | 11 |
| 总计 | 9 | 57 | 66 |
注:原概览表 P2 文档记为
-且总数 50 有误,本次重计为 9 工具 + 57 文档 = 66。
📋 P1: 重要功能 (6工具 + 49文档)
提升开发效率和调试能力的关键功能
2026-09-02 对齐:
tutorial/debug/已建立(3 章 + index,含症状排障路标表);tutorial/workflow/已扩至 6 篇(卷名改「开发环境配置」);tutorial/tools/不建——工具内容并入 linux-basics(见 P1-3 注)。按 op_plan/04 §四「错误模式不立独立卷」,P1-1 排查类条目收敛进 debug 卷与 qa/ 机制,不逐条立篇。
工具任务 (6项)
| 任务 | 推荐基础 | 说明 |
|---|---|---|
| D2-003: select-board.sh | D1-006 | 板卡切换脚本 |
| D2-004: 板卡接入文档 | D1-006 | 多板卡接入规范 |
| D2-005: CI - Patch 校验 | - | 自动补丁格式检查 |
| D2-007: build-buildroot.sh | D1-004 | ✅ build-buildroot.sh |
| D2-008: buildroot_menuconfig.sh | D2-007 | ✅ buildroot_menuconfig.sh |
| D2-009: clean_buildroot.sh | D2-007 | ✅ clean_buildroot.sh |
文档任务 (23项)
P1-1: 系统调试手册 (10项)
| 任务 | 相关文件 |
|---|---|
| [ ] U-Boot common issues / U-Boot 常见问题排查 | document/tutorial/debug/ |
| [ ] Serial console no-output troubleshooting / 串口无输出排查 | start/04 排障节部分覆盖;其余按上方对齐注收敛,不逐条立篇 |
| [ ] Network boot troubleshooting / 网络启动问题排查 | document/tutorial/debug/ |
| [ ] Kernel panic common issues / Kernel panic 常见问题排查 | 机制在 kernel/08,读法在 debug/03 §三,不另立篇 |
| [ ] DTB mismatch troubleshooting / DTB 不匹配问题排查 | document/tutorial/debug/ |
| [ ] Rootfs and init failure troubleshooting / Rootfs 与 init 失败排查 | document/tutorial/debug/ |
| [ ] NFS / TFTP troubleshooting / NFS / TFTP 常见问题排查 | 已由 workflow/01 + rootfs/05 覆盖,不另立篇 |
| [ ] Kernel module loading failure troubleshooting / 模块加载失败排查 | document/tutorial/debug/ |
| [x] Serial log reading guide / 串口日志阅读指南 | debug/03 |
| [x] How to submit useful debug logs / 如何提交有效的问题日志 | debug/03 §五(四要素日志截法) |
P1-2: 交叉调试与诊断 (7项)
| 任务 | 相关文件 |
|---|---|
| [x] gdbserver deployment guide / gdbserver 板端部署说明 | debug/01 §二 |
| [x] VSCode + GDB cross-debugging setup / VSCode + GDB 交叉调试配置 | debug/01 §四(全仓首个 launch.json) |
| [x] Debugging shared libraries / 共享库调试说明 | debug/01 §五 |
[x] strace basic usage / strace 基础使用 | debug/02 §三(tools/ 不建) |
| [x] Core dump debugging workflow / core dump 调试流程 | debug/02 §四 |
| [x] Basic logging workflow / 基础日志收集流程 | debug/02 §二(dmesg/syslogd/logread) |
| [ ] Basic performance inspection tools / 基础性能分析工具说明 | perf/top 归 workflow 卷 P2 补篇(op_plan/04 §五④),本批不做 |
P1-3: 构建工具 (17项 — 已完成 9,基于旧教程 Ch 3, 34, 40)
VIM/GCC/二进制工具基础已由 linux-basics/ 覆盖(原路径
tutorial/tools/、tutorial/ubuntu/已废弃)。
| 任务 | 状态 | 实际文件 |
|---|---|---|
| Makefile basics and advanced / Makefile 基础 | [x] | ch31 gcc 与 make |
| Makefile syntax 实战 / Makefile 语法进阶 | [ ] ⚠️ | ch31 覆盖基础,进阶待补 |
| Cross-compilation Makefile practice / 交叉编译 Makefile | [ ] ⚠️ | 见 ch35 交叉编译,Makefile 实践待补 |
| CMake cross-compilation / CMake 交叉编译 | [ ] | 缺 |
| CMakeLists.txt writing / CMakeLists.txt 编写 | [ ] | 缺 |
| CMake with Qt cross-compilation / CMake 与 Qt 交叉编译 | [ ] | 缺 |
| menuconfig principles and usage / menuconfig 原理与使用 | [x] | kernel/03 内核配置 |
| Kconfig syntax / Kconfig 语法 | [ ] ⚠️ | 缺专篇 |
| Kernel/U-Boot configuration practice / 内核/uboot 配置实战 | [x] | kernel/03 + uboot/02 |
| VIM quick start / VIM 快速入门 | [x] | ch12 vim |
| VIM modes and operations / VIM 模式与操作 | [x] | ch12 vim |
| VIM configuration and plugins / VIM 配置与插件 | [ ] ⚠️ | ch12 覆盖基础,插件待补 |
| GCC compilation options / GCC 编译选项 | [x] | ch31 gcc 与 make |
| Static and dynamic library compilation / 静态库与动态库 | [x] | ch31 gcc 与 make |
| objdump, nm, readelf usage / objdump, nm, readelf | [x] | ch33 binutils |
| ldd library dependency checking / ldd 查看库依赖 | [x] | ch33 binutils |
| Time measurement and performance analysis / 时间测量与性能 | [ ] ⚠️ | 缺 |
P1-3a: Buildroot 根文件系统构建(新增)
✅ 已完成:实际扩展为 12 章,见 tutorial/buildroot/。下表为原 6 项任务与实际章节的对应关系。
| 任务 | 状态 | 实际文件 |
|---|---|---|
| Buildroot 概述与对比分析 / Buildroot overview and comparison | [x] | buildroot/01_how_buildroot_works |
| Buildroot 快速开始指南 / Buildroot quickstart guide | [x] | buildroot/02_first_build |
| Buildroot 配置系统详解 / Buildroot config system explained | [x] | buildroot/04_kconfig_fragments |
| Buildroot 定制化与包管理 / Buildroot customization and packages | [x] | buildroot/06_rootfs_customization + 07_custom_package |
| Buildroot 故障排查手册 / Buildroot troubleshooting guide | [x] | buildroot/10_debugging |
| Buildroot 与 QT6 集成实战 / Buildroot with QT6 integration | [x] | buildroot/11_qt6_integration |
P1-4: 驱动开发工具 (9项 — 已完成 2,基于旧教程 Ch 52-76)
阻塞/非阻塞 I/O、异步通知已由 kernel/core-functional/ 覆盖;I2C/SPI/UART 等子系统驱动见 Issue #54 驱动开发待做清单。
| 任务 | 状态 | 实际文件 |
|---|---|---|
| I2C driver framework complete tutorial / I2C 驱动框架 | [x] | driver/08_i2c_ap3216c |
| SPI driver framework complete tutorial / SPI 驱动框架 | [x] | driver/09_spi_icm20608 |
| UART driver development / UART 驱动开发 | [ ] | 缺,见 #54 |
| Blocking/non-blocking I/O complete tutorial / 阻塞/非阻塞 I/O | [x] | core-functional/09 阻塞 IO + 10 非阻塞 IO |
| Async notification (fasync) / 异步通知 | [x] | core-functional/11 异步通知 |
| Linux device model detailed / 设备模型详解 | [ ] | 缺,见 #54 |
| Regmap API detailed guide / Regmap API | [ ] | 缺,见 #54 |
| IIO subsystem framework / IIO 子系统 | [ ] | 缺,见 #54 |
| ADC driver development / ADC 驱动 | [ ] | 缺,见 #54 |
📋 P2: 优化体验 (3项)
提升开发效率的高级功能
工具任务 (3项)
| 任务 | 推荐基础 | 说明 |
|---|---|---|
| D2-001: menuconfig.sh | D1-004 | 统一配置入口 |
| D2-002: clean.sh | - | 智能清理工具 |
| D2-006: CI - Docker 构建 | D1-001 | 自动镜像构建 |
文档任务 (P2-0: 开发工作流与工具链) - 8项
| 任务 | 相关文件 |
|---|---|
| [x] VSCode development workflow / VSCode 开发工作流说明 | workflow 卷 整卷重写为六篇制 |
| [x] WSL2 development notes / WSL2 开发注意事项 | workflow/01 |
| [x] Docker development workflow / Docker 开发环境说明 | docker 卷 已覆盖,不另立 |
| [x] Remote-SSH workflow / Remote-SSH 工作流说明 | workflow/02 |
| [x] clangd cross-compilation configuration / clangd 交叉编译配置说明 | workflow/04 |
| [x] tasks.json command templates / tasks.json 常用任务模板 | workflow/05 |
| [x] Host and board file synchronization workflow / 主机与板端文件同步流程 | workflow/06 |
| [x] Git workflow for third-party source patches / 第三方源码 patch 的 Git 工作流 | build/02 已覆盖 |
🔗 相关方向
- D1:环境完善 - 完成环境配置后,再开发辅助工具
- D3:示例展示 - 工具完备后,可以更高效地开发示例项目
🔗 相关资源
- 主路线图:roadmap.md
- D1 详情:d1-environment.md
- GitHub Issue #47: 路线任务追踪
完善的工具链是高效开发的基础! 🛠️