Skip to content

方向 D2:工具完备 ​

最后更新:2026-09-02(回填 debug/workflow 两卷落地项:调试与排错卷 3 章新建、开发环境配置卷扩至 6 篇并全卷重写) 任务数量:66项 (9工具 + 57文档),文档已完成约 16 项(buildroot 12 章、I2C/SPI 驱动,以各表勾选为准)


📋 为什么重要 ​

方向 D2 的核心目标是提供完整的辅助工具链,提升开发效率和用户体验。当环境配置完成后,良好的工具可以让开发过程更加顺畅。

核心价值:

  • 提供完整的开发工具集
  • 建立 CI/CD 基础
  • 完善文档体系
  • 支持多板卡扩展

📊 优先级概览 ​

优先级工具任务文档任务总计
P16项(✅3 / 待办3)49项(✅约16 / 待办约33)55
P23项(待办)8项(待办)11
总计95766

注:原概览表 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.shD1-006板卡切换脚本
D2-004: 板卡接入文档D1-006多板卡接入规范
D2-005: CI - Patch 校验-自动补丁格式检查
D2-007: build-buildroot.shD1-004✅ build-buildroot.sh
D2-008: buildroot_menuconfig.shD2-007✅ buildroot_menuconfig.sh
D2-009: clean_buildroot.shD2-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.shD1-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:示例展示 - 工具完备后,可以更高效地开发示例项目

🔗 相关资源 ​


完善的工具链是高效开发的基础! 🛠️

v1.0.4-37-gc79a127 · c79a127 · 2026-09-29