• Home
  • Annotate
  • current directory
Name Date Size #Lines LOC

..21-Aug-2025-

README.md A D21-Aug-20253.1 KiB136102

SConscript编写指南.md A D21-Aug-202521 KiB948703

guide_arch.drawio.png A D21-Aug-202545.1 KiB

package-json-support.md A D21-Aug-20253.3 KiB128106

process.drawio.png A D21-Aug-202557.2 KiB

readme_arch.drawio.png A D21-Aug-202533.9 KiB

tech_arch.drawio.png A D21-Aug-202549.6 KiB

构建系统使用指南.md A D21-Aug-202514.5 KiB618478

构建系统技术原理.md A D21-Aug-202521.3 KiB841651

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![arch](./readme_arch.drawio.png)
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版本。