Skip to content

配置文件参考

sydev 的所有命令都支持通过 --config 参数传入 JSON 配置文件,也支持通过模板系统复用配置。本文档详细说明各类配置文件的格式。

配置优先级

当同时存在多种配置来源时,按以下优先级合并:

命令行参数 > JSON 配置文件 > 默认值

工作空间配置

用于 sydev workspace init --config <file>

json
{
  "cwd": "/home/user/my-workspace",
  "basePath": "/home/user/my-workspace/.realevo/base",
  "version": "default",
  "platforms": ["ARM64_A53", "X86_64"],
  "os": "sylixos",
  "debugLevel": "release",
  "arm64PageShift": 14,
  "baseComponents": ["libsylixos", "openssl", "libcurl"],
  "createBase": true,
  "build": false
}

字段说明:

字段类型必填说明
cwdstring工作空间路径,默认当前目录
basePathstring基础库路径,默认 ${cwd}/.realevo/base
versionstringSylixOS 版本,默认 default
platformsstring[]目标架构列表,至少一个
osstringsylixoslinux,默认 sylixos
debugLevelstringreleasedebug,默认 release
arm64PageShiftnumber仅 ARM64 有效:12/14/16
baseComponentsstring[]组件列表,默认 ["libsylixos"]
createBaseboolean是否创建基础库目录,默认 true
buildboolean是否立即编译基础库,默认 false

自定义版本额外字段:

字段适用版本说明
customRepocustomGit 仓库 URL
customBranchcustomGit 分支名
researchBranchresearch研究分支名

校验规则:

  • cwdbasePath 长度至少 1 个字符
  • platforms 至少包含 1 个有效架构
  • arm64PageShift 仅在选择了 ARM64 架构时有效
  • baseComponents 支持逗号、空格、中文逗号分隔

项目配置

用于 sydev project create --config <file>

新建模式:

json
{
  "name": "my-app",
  "mode": "create",
  "template": "app",
  "type": "cmake",
  "debugLevel": "release",
  "makeTool": "make"
}

导入模式:

json
{
  "name": "my-driver",
  "mode": "import",
  "source": "https://github.com/user/repo.git",
  "branch": "main",
  "makeTool": "make"
}

字段说明:

字段类型必填说明
namestring项目名称,3-50 字符
modestringcreateimport
templatestring条件必填新建模式的项目模板
typestring条件必填新建模式的构建系统类型
sourcestring条件必填导入模式的 Git 仓库 URL
branchstring条件必填导入模式的 Git 分支名
debugLevelstringreleasedebug
makeToolstringmakeninja,默认 make

设备配置

用于 sydev device add --config <file>

json
{
  "name": "rk3568-board",
  "ip": "192.168.1.100",
  "platforms": ["ARM64_A53"],
  "username": "root",
  "password": "root",
  "ssh": 22,
  "telnet": 23,
  "ftp": 21,
  "gdb": 1234
}

字段说明:

字段类型必填默认值说明
namestring设备名称
ipstringIPv4 地址
platformsstring[]["ARM64_GENERIC"]处理器架构
usernamestringroot登录用户名
passwordstringroot登录密码
sshnumber22SSH 端口(1-65535)
telnetnumber23Telnet 端口
ftpnumber21FTP 端口
gdbnumber1234GDB 调试端口

完整配置(init 命令)

用于 sydev init --config <file>,一次性完成工作空间、项目和设备的批量初始化。

json
{
  "schemaVersion": 1,
  "workspace": {
    "version": "default",
    "platforms": ["ARM64_A53"],
    "os": "sylixos",
    "debugLevel": "release",
    "baseComponents": ["libsylixos", "openssl"],
    "createBase": true,
    "build": true
  },
  "projects": [
    {
      "name": "my-app",
      "mode": "create",
      "template": "app",
      "type": "cmake"
    },
    {
      "name": "my-driver",
      "mode": "import",
      "source": "https://github.com/user/repo.git",
      "branch": "main"
    }
  ],
  "devices": [
    {
      "name": "dev-board",
      "ip": "192.168.1.100",
      "platforms": ["ARM64_A53"],
      "username": "root",
      "password": "root"
    }
  ]
}

字段说明:

字段类型必填说明
schemaVersionnumber固定为 1
workspaceobject工作空间配置
projectsarray项目配置列表
devicesarray设备配置列表

包装格式(模板导出的格式):

json
{
  "type": "full",
  "data": {
    "schemaVersion": 1,
    "workspace": { ... },
    "projects": [ ... ],
    "devices": [ ... ]
  }
}

如果 JSON 中缺少 cwdbasePathinit 命令会在运行时通过交互提示要求输入。

模板系统

模板存储

模板保存在 ~/.sydev/templates/ 目录中,以 JSON 文件形式存储,带有索引文件管理。

模板类型

类型说明包含内容
workspace工作空间模板版本、平台、组件等配置
project项目模板模式、模板、构建类型等
device设备模板IP、端口、认证信息等
full完整模板工作空间 + 项目 + 设备

模板工作流

bash
# 1. 在已配置好的工作空间中保存模板
sydev template create

# 2. 查看已有模板
sydev template list --type full

# 3. 在新环境中应用模板
cd /path/to/new-workspace
sydev template apply my-arm64-workspace

# 4. 导出模板为 JSON 文件,方便团队共享
sydev template export -o team-config.json

# 5. 团队成员导入模板
sydev template import team-config.json --yes

工作空间目录结构

workspace/
├── .realevo/                    # RealEvo 配置(自动生成)
│   ├── config.json              # 全局配置
│   ├── workspace.json           # 工作空间元数据
│   ├── projects.json            # 项目定义列表
│   ├── devicelist.json          # 设备列表(优先于 config.json)
│   └── base/                    # 基础库安装目录
│       ├── libsylixos/
│       ├── openssl/
│       └── ...
├── .sydev/
│   └── Makefile                 # 构建模板定义
├── project-a/
│   ├── .project                 # Eclipse 项目文件
│   ├── Makefile                 # 构建文件
│   ├── config.mk                # 编译设置(自动同步)
│   ├── .reproject               # 上传路径映射
│   └── src/                     # 源代码
├── project-b/
│   └── ...
└── base/                        # 基础库源码(可选)

环境变量

变量说明
REALEVO_HOME自定义 RealEvo-Stream 安装路径
SYDEV_VERSION覆盖 CLI 版本号