Skip to content

命令参考

sydev 提供 9 个核心命令,覆盖 SylixOS 开发的完整流程。所有命令均支持 --help 查看帮助。

workspace — 工作空间管理

sydev workspace init

初始化 SylixOS 工作空间,配置基础库与编译环境。

参数类型默认值说明
--cwd路径当前目录工作空间根目录
--base-path路径${cwd}/.realevo/base基础库安装路径
--version枚举defaultSylixOS 版本(见下表)
--platforms字符串列表必填,目标处理器架构
--os枚举sylixos操作系统类型:sylixos | linux
--debug-level枚举release调试级别:release | debug
--arm64-page-shift枚举ARM64 页大小位移:12(4K) | 14(16K) | 16(64K)
--base-components字符串列表["libsylixos"]基础组件列表
--custom-repoURL自定义版本的仓库地址
--custom-branch字符串自定义版本的分支名
--research-branch字符串研究版本的分支名
--create-base标志启用创建基础库目录
--no-create-base标志跳过基础库目录创建
--build标志禁用初始化后立即编译基础库
--config文件路径从 JSON 文件读取配置

SylixOS 版本选项:

说明
default标准 LTS 版本
ecs_3.6.5ECS 变体
lts_3.6.5LTS 标准版
lts_3.6.5_compiled预编译 LTS 版
research研究分支(需指定 --research-branch
custom自定义仓库(需指定 --custom-repo--custom-branch

示例:

bash
# 交互式初始化
sydev workspace init

# 指定平台和版本
sydev workspace init --platforms ARM64_A53,ARM64_A72 --version lts_3.6.5

# ARM64 自定义页大小
sydev workspace init --platforms ARM64_A53 --arm64-page-shift 16

# 使用自定义仓库
sydev workspace init \
  --platforms ARM64_A53 \
  --version custom \
  --custom-repo https://git.example.com/sylixos.git \
  --custom-branch feature-branch

# 从配置文件初始化
sydev workspace init --config workspace.json

sydev workspace status

检查当前目录是否为有效的 SylixOS 工作空间并显示其状态信息。

bash
sydev workspace status

project — 项目管理

sydev project create

在当前工作空间中创建或导入项目。

参数类型默认值说明
--mode枚举import(导入)| create(新建)
--name字符串必填,项目名称(3-50 字符)
--sourceURL导入模式的 Git 仓库地址
--branch字符串导入模式的 Git 分支名
--template枚举新建模式的项目模板
--type枚举新建模式的构建系统类型
--debug-level枚举调试级别:debug | release
--make-tool枚举make构建工具:make | ninja
--config文件路径从 JSON 文件读取配置

项目模板:

模板说明
app应用程序
lib动态库
common通用组件
ko内核模块
python_native_libPython 原生库
uorb_pubsubUORB 发布/订阅
vsoa_pubsubVSOA 发布/订阅
fast_dds_pubsubFast DDS 发布/订阅

构建系统类型:

类型说明
cmakeCMake 构建
automakeAutomake 构建
realevoRealEvo 原生构建
ros2ROS2 构建
pythonPython 构建
cythonCython 构建
goGo 构建
javascriptJavaScript 构建

示例:

bash
# 新建 CMake 应用
sydev project create --mode create --name my-app --template app --type cmake

# 新建内核模块
sydev project create --mode create --name my-ko --template ko --type realevo

# 从 Git 仓库导入
sydev project create --mode import --name driver --source https://github.com/user/repo.git --branch main

# 使用 Ninja 构建工具
sydev project create --mode create --name fast-app --template app --type cmake --make-tool ninja

sydev project list

列出当前工作空间中的所有项目。

bash
sydev project list

项目检测规则:子目录中同时包含 .projectMakefile 文件的即视为项目。以下目录会被自动排除:DebugReleasedebugreleasenode_modulesdist、隐藏目录。


device — 设备管理

sydev device add

注册一个目标设备,用于后续的上传部署操作。

参数类型默认值说明
--name字符串必填,设备名称
--ipIPv4 地址必填,设备 IP 地址
--platforms字符串列表["ARM64_GENERIC"]设备处理器架构
--username字符串root登录用户名
--password字符串root登录密码
--ssh端口22SSH 端口
--telnet端口23Telnet 端口
--ftp端口21FTP 端口
--gdb端口1234GDB 调试端口
--config文件路径从 JSON 文件读取配置

示例:

bash
# 交互式添加
sydev device add

# 完整命令行参数
sydev device add \
  --name rk3568-board \
  --ip 192.168.1.100 \
  --platforms ARM64_A53 \
  --username root \
  --password root \
  --ftp 21 \
  --gdb 1234

# 从配置文件添加
sydev device add --config device.json

sydev device list

列出所有已配置的目标设备。

bash
sydev device list

build — 编译构建

sydev build [project]

编译指定项目或交互选择要编译的项目。

参数类型说明
[project]字符串可选,项目名称
--quiet标志抑制实时输出
--boardCSVBSP 板级选择(非交互模式)
-- [args]透传透传参数给底层 rl-buildmake

行为说明:

  • 不指定项目名:进入交互式多选界面
  • 指定项目名:直接编译该项目
  • 编译 base 目录:自动使用 make 而非 rl-build
  • 构建模板目标(__ 前缀):从 .sydev/Makefile 读取自定义目标

自动处理:

  • 编译前自动同步 config.mk 中的 SYLIXOS_BASE_PATH
  • 编译基础库时自动应用 jobserver 补丁
  • 自动执行 dos2unix 行尾规范化

示例:

bash
# 交互选择编译
sydev build

# 编译指定项目
sydev build my-app

# 静默模式
sydev build my-app --quiet

# 透传 make 参数(如并行编译)
sydev build my-app -- -j8

# 编译基础库
sydev build base

# 使用构建模板
sydev build __demo

sydev build init

初始化或重新生成 .sydev/Makefile 构建模板文件。

参数说明
--default强制重新生成,覆盖已有文件
bash
sydev build init
sydev build init --default

clean — 清理构建

sydev clean [project]

清理指定项目的构建产物。

参数类型说明
[project]字符串可选,项目名称
--quiet标志抑制输出
bash
# 交互选择
sydev clean

# 清理指定项目
sydev clean my-app

# 清理基础库
sydev clean base

rebuild — 重新编译

sydev rebuild [project]

等价于先执行 clean 再执行 build

参数类型说明
[project]字符串可选,项目名称
--quiet标志抑制输出
-- [args]透传透传参数给底层构建系统
bash
sydev rebuild my-app
sydev rebuild my-app -- -j4

upload — 上传部署

sydev upload [projects]

将编译产物通过 FTP 上传到目标设备。

参数类型说明
[projects]CSV/冒号分隔可选,项目名称列表
--device字符串目标设备名称
--all标志上传所有项目(需配合 --device
--quiet标志抑制输出

规则:

  • 单个项目:可省略 --device(使用 .reproject 中的默认设备)
  • 多个项目:必须指定 --device
  • --all:必须指定 --device

示例:

bash
# 交互选择
sydev upload

# 上传单个项目
sydev upload my-app --device my-board

# 上传多个项目
sydev upload my-app,my-lib --device my-board

# 上传所有项目
sydev upload --all --device my-board

详细说明见 上传部署指南


template — 模板管理

管理可复用的配置模板,存储在 ~/.sydev/templates/ 目录。

sydev template create

将当前工作空间的配置保存为模板。

bash
sydev template create

sydev template list

列出已保存的模板。

参数类型说明
-t, --type枚举过滤类型:workspace | project | device | full
bash
sydev template list
sydev template list --type workspace

sydev template show <id>

查看指定模板的详细内容。

bash
sydev template show my-arm64-workspace

sydev template apply <source>

将模板应用到当前或指定目录。

参数类型说明
<source>字符串必填,模板 ID 或文件路径
--cwd路径目标工作空间目录
--base-path路径基础库路径
-y, --yes标志跳过确认提示
bash
sydev template apply my-arm64-workspace
sydev template apply my-template --cwd /path/to/workspace --yes

sydev template delete <id>

删除指定模板。

bash
sydev template delete my-old-template

sydev template export

将模板导出为 JSON 文件。

参数类型说明
-o, --output文件名输出文件名
-d, --dir路径输出目录
bash
sydev template export
sydev template export -o my-config.json -d ./exports/

sydev template import <file>

从 JSON 文件导入模板。

参数类型说明
<file>文件路径必填,JSON 文件路径
-y, --yes标志跳过确认提示
bash
sydev template import ./my-config.json
sydev template import ./shared-config.json --yes

init — 批量初始化

sydev init

从 JSON 配置文件一次性初始化工作空间、创建项目和注册设备。

参数类型说明
--config文件路径必填,JSON 配置文件路径
bash
sydev init --config full-setup.json

配置文件格式见 配置文件参考


支持的处理器架构

sydev 支持 59 种处理器架构:

ARM (32-bit)

ARM_926H ARM_926S ARM_1176JZF ARM_A8 ARM_A9 ARM_A17 ARM_A53 ARM_A55 ARM_A57 ARM_A72

ARM64

ARM64_A53 ARM64_A55 ARM64_A57 ARM64_A72 ARM64_GENERIC

x86

X86_PENTIUM X86_PENTIUM_SOFT X86_64

MIPS

MIPS_32 MIPS_64 及其他 6 个变体

PowerPC

PPC_750 PPC_464FP 及其他 12 个变体

其他

SPARC_LEON3 SPARC_V8 RISCV LOONGARCH CSKY SW6B


可选基础组件

除必选的 libsylixos 外,还可按需选择以下 23 个组件:

组件说明
libcurlHTTP 客户端库
opensslSSL/TLS 加密库
openssl-devOpenSSL 开发头文件
opensshSSH 协议实现
luaLua 脚本引擎
sqlite3嵌入式数据库
zlib数据压缩库
libxml2XML 解析库
libcrypt加密工具库
libsctpSCTP 协议库
libftpFTP 客户端库
libgtestGoogle 测试框架
libpcre正则表达式库
libjson-cJSON 解析库
libedit命令行编辑库
libgd图形绘制库
libpngPNG 图像库
libjpegJPEG 图像库
freetype字体渲染库
neonWebDAV/HTTP 客户端库
libcexternC 扩展库
其他根据版本可能有额外组件