|
@@ -15,40 +15,7 @@
|
|
|
|
|
|
### 整体架构图
|
|
### 整体架构图
|
|
|
|
|
|
-```
|
|
|
|
-┌────────────────────────────────────────────────────────────────────┐
|
|
|
|
-│ 用户接口层 │
|
|
|
|
-│ ┌─────────────┐ ┌──────────────┐ ┌─────────────┐ ┌──────────┐│
|
|
|
|
-│ │ 命令行接口 │ │ menuconfig │ │ 环境变量 │ │ 配置文件 ││
|
|
|
|
-│ │ (scons) │ │ (Kconfig) │ │ (RTT_xxx) │ │ (.config)││
|
|
|
|
-│ └──────┬──────┘ └──────┬───────┘ └──────┬──────┘ └─────┬────┘│
|
|
|
|
-└─────────┼─────────────────┼──────────────────┼───────────────┼─────┘
|
|
|
|
- │ │ │ │
|
|
|
|
-┌─────────▼─────────────────▼──────────────────▼───────────────▼─────┐
|
|
|
|
-│ 构建引擎层 │
|
|
|
|
-│ ┌─────────────────────────────────────────────────────────────┐ │
|
|
|
|
-│ │ building.py │ │
|
|
|
|
-│ ├─────────────┬───────────────┬─────────────┬────────────────┤ │
|
|
|
|
-│ │ 环境准备 │ 组件收集 │ 依赖处理 │ 构建执行 │ │
|
|
|
|
-│ │ Prepare │ DefineGroup │ GetDepend │ DoBuilding │ │
|
|
|
|
-│ └─────────────┴───────────────┴─────────────┴────────────────┘ │
|
|
|
|
-└────────────────────────────────────────────────────────────────────┘
|
|
|
|
- │ │ │ │
|
|
|
|
-┌─────────▼─────────────────▼──────────────────▼───────────────▼─────┐
|
|
|
|
-│ 工具支撑层 │
|
|
|
|
-│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────┐ ┌──────┐│
|
|
|
|
-│ │ utils.py │ │options.py│ │package.py│ │mkdist.py│ │预处理││
|
|
|
|
-│ │ 工具函数 │ │命令选项 │ │包管理 │ │分发打包 │ │器 ││
|
|
|
|
-│ └──────────┘ └──────────┘ └──────────┘ └─────────┘ └──────┘│
|
|
|
|
-└────────────────────────────────────────────────────────────────────┘
|
|
|
|
- │ │ │ │
|
|
|
|
-┌─────────▼─────────────────▼──────────────────▼───────────────▼─────┐
|
|
|
|
-│ 目标生成器层 │
|
|
|
|
-│ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────────┐ │
|
|
|
|
-│ │keil.py │ │iar.py │ │gcc.py │ │vsc.py │ │cmake.py等 │ │
|
|
|
|
-│ └────────┘ └────────┘ └────────┘ └────────┘ └────────────┘ │
|
|
|
|
-└────────────────────────────────────────────────────────────────────┘
|
|
|
|
-```
|
|
|
|
|
|
+
|
|
|
|
|
|
### 设计原则
|
|
### 设计原则
|
|
|
|
|
|
@@ -598,45 +565,7 @@ def MkDist_Strip(program, BSP_ROOT, RTT_ROOT, Env):
|
|
|
|
|
|
### 完整构建流程图
|
|
### 完整构建流程图
|
|
|
|
|
|
-```
|
|
|
|
-┌──────────────┐
|
|
|
|
-│ 用户输入 │
|
|
|
|
-│ scons │
|
|
|
|
-└──────┬───────┘
|
|
|
|
- │
|
|
|
|
-┌──────▼───────┐
|
|
|
|
-│ SConstruct │ ← 读取rtconfig.py
|
|
|
|
-│ 主脚本 │ ← 调用PrepareBuilding
|
|
|
|
-└──────┬───────┘
|
|
|
|
- │
|
|
|
|
-┌──────▼───────┐
|
|
|
|
-│ 环境初始化 │
|
|
|
|
-│ ·设置路径 │
|
|
|
|
-│ ·检测工具链 │
|
|
|
|
-│ ·解析配置 │
|
|
|
|
-└──────┬───────┘
|
|
|
|
- │
|
|
|
|
-┌──────▼───────┐
|
|
|
|
-│ 递归处理 │
|
|
|
|
-│ SConscript │ ← 调用DefineGroup
|
|
|
|
-│ ·收集源文件 │ ← 检查依赖GetDepend
|
|
|
|
-│ ·设置参数 │
|
|
|
|
-└──────┬───────┘
|
|
|
|
- │
|
|
|
|
-┌──────▼───────┐
|
|
|
|
-│ 构建执行 │
|
|
|
|
-│ DoBuilding │
|
|
|
|
-│ ·合并对象 │
|
|
|
|
-│ ·链接程序 │
|
|
|
|
-└──────┬───────┘
|
|
|
|
- │
|
|
|
|
-┌──────▼───────┐
|
|
|
|
-│ 后处理 │
|
|
|
|
-│ ·生成bin文件 │
|
|
|
|
-│ ·显示大小 │
|
|
|
|
-│ ·自定义动作 │
|
|
|
|
-└──────────────┘
|
|
|
|
-```
|
|
|
|
|
|
+
|
|
|
|
|
|
### 依赖解析流程
|
|
### 依赖解析流程
|
|
|
|
|