# RT-Thread 构建系统文档 欢迎使用RT-Thread构建系统文档。本文档集详细介绍了RT-Thread基于SCons的构建系统的使用方法和技术原理。 ## 文档目录 ### 📚 用户指南 1. **[构建系统使用指南](构建系统使用指南.md)** - 快速开始 - 命令行选项详解 - 工具链配置 - 项目生成 - 软件包管理 - 高级功能 - 常见问题解答 2. **[SConscript编写指南](SConscript编写指南.md)** - 基础语法 - 常用模式 - 高级技巧 - 最佳实践 - 示例集合 ### 🔧 技术文档 3. **[构建系统技术原理](构建系统技术原理.md)** - 系统架构设计 - 核心模块分析 - 构建流程详解 - 依赖管理机制 - 工具链适配层 - 项目生成器架构 - 扩展机制 ## 快速导航 ### 常用命令 ```bash # 基础编译 scons # 默认编译 scons -j8 # 8线程并行编译 scons -c # 清理编译产物 # 配置管理 menuconfig # 图形化配置 scons --pyconfig # Python脚本配置 # 项目生成 scons --target=mdk5 # 生成Keil MDK5项目 scons --target=iar # 生成IAR项目 scons --target=vsc # 生成VS Code项目 scons --target=cmake # 生成CMake项目 # 软件包管理 pkgs --update # 更新软件包 pkgs --list # 列出已安装包 ``` ### 核心概念 - **SConstruct**: BSP根目录的主构建脚本 - **SConscript**: 各个组件/目录的构建脚本 - **rtconfig.py**: 工具链和平台配置 - **rtconfig.h**: RT-Thread功能配置 - **DefineGroup**: 定义组件的核心函数 - **GetDepend**: 检查依赖的核心函数 ## 构建系统架构图 ![arch](./readme_arch.drawio.png) ## 主要特性 ✅ **多工具链支持** - GCC (ARM/RISC-V/x86) - Keil MDK (ARMCC/ARMClang) - IAR - Visual Studio ✅ **灵活的配置系统** - Kconfig图形配置 - 条件编译支持 - 本地编译选项 ✅ **丰富的项目生成器** - IDE项目文件生成 - CMake支持 - Makefile生成 - VS Code配置 ✅ **模块化设计** - 组件独立构建 - 清晰的依赖管理 - 可扩展架构 ## 开发工作流 ```mermaid graph LR A[配置系统] --> B[编写代码] B --> C[构建项目] C --> D[调试运行] D --> E{是否完成?} E -->|否| B E -->|是| F[发布] A1[menuconfig] -.-> A C1[scons] -.-> C C2[IDE项目] -.-> C ``` ## 相关链接 - [RT-Thread官网](https://www.rt-thread.org) - [RT-Thread GitHub](https://github.com/RT-Thread/rt-thread) - [SCons官方文档](https://scons.org/documentation.html) ## 贡献指南 如果您发现文档中的错误或有改进建议,欢迎: 1. 在GitHub上提交Issue 2. 提交Pull Request 3. 在RT-Thread社区论坛反馈 ## 版本信息 - 文档版本:1.0.0 - 更新日期:2024-01 - 适用版本:RT-Thread 4.1.0+ --- **注意**:本文档基于RT-Thread最新版本编写,部分功能可能需要特定版本支持。使用前请确认您的RT-Thread版本。