Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 21-Aug-2025 | - | ||||
README.md | A D | 21-Aug-2025 | 3.1 KiB | 136 | 102 | |
SConscript编写指南.md | A D | 21-Aug-2025 | 21 KiB | 948 | 703 | |
guide_arch.drawio.png | A D | 21-Aug-2025 | 45.1 KiB | |||
package-json-support.md | A D | 21-Aug-2025 | 3.3 KiB | 128 | 106 | |
process.drawio.png | A D | 21-Aug-2025 | 57.2 KiB | |||
readme_arch.drawio.png | A D | 21-Aug-2025 | 33.9 KiB | |||
tech_arch.drawio.png | A D | 21-Aug-2025 | 49.6 KiB | |||
构建系统使用指南.md | A D | 21-Aug-2025 | 14.5 KiB | 618 | 478 | |
构建系统技术原理.md | A D | 21-Aug-2025 | 21.3 KiB | 841 | 651 |
README.md
1# RT-Thread 构建系统文档 2 3欢迎使用RT-Thread构建系统文档。本文档集详细介绍了RT-Thread基于SCons的构建系统的使用方法和技术原理。 4 5## 文档目录 6 7### 用户指南 8 91. **[构建系统使用指南](构建系统使用指南.md)** 10 - 快速开始 11 - 命令行选项详解 12 - 工具链配置 13 - 项目生成 14 - 软件包管理 15 - 高级功能 16 - 常见问题解答 17 182. **[SConscript编写指南](SConscript编写指南.md)** 19 - 基础语法 20 - 常用模式 21 - 高级技巧 22 - 最佳实践 23 - 示例集合 24 25### 技术文档 26 273. **[构建系统技术原理](构建系统技术原理.md)** 28 - 系统架构设计 29 - 核心模块分析 30 - 构建流程详解 31 - 依赖管理机制 32 - 工具链适配层 33 - 项目生成器架构 34 - 扩展机制 35 36## 快速导航 37 38### 常用命令 39 40```bash 41# 基础编译 42scons # 默认编译 43scons -j8 # 8线程并行编译 44scons -c # 清理编译产物 45 46# 配置管理 47menuconfig # 图形化配置 48scons --pyconfig # Python脚本配置 49 50# 项目生成 51scons --target=mdk5 # 生成Keil MDK5项目 52scons --target=iar # 生成IAR项目 53scons --target=vsc # 生成VS Code项目 54scons --target=cmake # 生成CMake项目 55 56# 软件包管理 57pkgs --update # 更新软件包 58pkgs --list # 列出已安装包 59``` 60 61### 核心概念 62 63- **SConstruct**: BSP根目录的主构建脚本 64- **SConscript**: 各个组件/目录的构建脚本 65- **rtconfig.py**: 工具链和平台配置 66- **rtconfig.h**: RT-Thread功能配置 67- **DefineGroup**: 定义组件的核心函数 68- **GetDepend**: 检查依赖的核心函数 69 70## 构建系统架构图 71 72 73 74## 主要特性 75 76✅ **多工具链支持** 77- GCC (ARM/RISC-V/x86) 78- Keil MDK (ARMCC/ARMClang) 79- IAR 80- Visual Studio 81 82✅ **灵活的配置系统** 83- Kconfig图形配置 84- 条件编译支持 85- 本地编译选项 86 87✅ **丰富的项目生成器** 88- IDE项目文件生成 89- CMake支持 90- Makefile生成 91- VS Code配置 92 93✅ **模块化设计** 94- 组件独立构建 95- 清晰的依赖管理 96- 可扩展架构 97 98## 开发工作流 99 100```mermaid 101graph LR 102 A[配置系统] --> B[编写代码] 103 B --> C[构建项目] 104 C --> D[调试运行] 105 D --> E{是否完成?} 106 E -->|否| B 107 E -->|是| F[发布] 108 109 A1[menuconfig] -.-> A 110 C1[scons] -.-> C 111 C2[IDE项目] -.-> C 112``` 113 114## 相关链接 115 116- [RT-Thread官网](https://www.rt-thread.org) 117- [RT-Thread GitHub](https://github.com/RT-Thread/rt-thread) 118- [SCons官方文档](https://scons.org/documentation.html) 119 120## 贡献指南 121 122如果您发现文档中的错误或有改进建议,欢迎: 123 1241. 在GitHub上提交Issue 1252. 提交Pull Request 1263. 在RT-Thread社区论坛反馈 127 128## 版本信息 129 130- 文档版本:1.0.0 131- 更新日期:2024-01 132- 适用版本:RT-Thread 4.1.0+ 133 134--- 135 136**注意**:本文档基于RT-Thread最新版本编写,部分功能可能需要特定版本支持。使用前请确认您的RT-Thread版本。