USER GUIDE / COMMAND REFERENCE
命令详解
imde 是 IMDE(Ingenic MCU Development Environment)的命令行入口,统一封装了 SDK 的环境检查、配置选择、编译清理、产物查询和工具链准备。命令随 SDK 提供,使用前需要先引入环境;引入后全局参数与命令可以自由组合,既适合在终端里逐步执行,也适合写进脚本和 CI 流程。
PREREQUISITES
使用前提:引入环境
imde 不需要单独安装,它随 SDK 提供,位于 SDK 根目录的 tools/imde/ 下;但在终端里直接执行 imde 之前,需要先运行一次环境初始化脚本,把工具路径注册到当前终端。脚本只对当前会话生效,每开一个新终端都要重新执行:
# Linux / macOS / Git Bash source tools/imde/env.sh # Windows PowerShell . .\tools\imde\env.ps1
引入环境后,脚本会自动执行 imde doctor 检查环境,全部通过即可直接开始使用;如果提示有工具尚未准备就绪,再执行 imde setup-toolchain 准备。
也可以参考「快速入门 / 环境搭建」一节,改用 VS Code 插件方式使用 IMDE,插件会在内部完成同样的环境准备。
COMMANDS
命令汇总
下表按「环境与状态 → 配置管理 → 构建与清理 → 产物与工具链」汇总 imde 提供的命令;在 SDK 根目录执行 imde -h,也可以随时查看当前版本的帮助输出:
| 分类 | 命令 | 作用 |
|---|---|---|
| 环境与状态 | doctor | 检查主机环境与工具链是否就绪。 |
| 环境与状态 | status | 显示当前 SDK、构建目录与配置状态。 |
| 环境与状态 | properties | 列出 Kconfig 的 CONFIG_* 属性,供补全工具使用。 |
| 配置管理 | list-defconfigs | 列出当前可用的 defconfig 文件。 |
| 配置管理 | list-bsps | 列出工程目录与测试目录下的 BSP。 |
| 配置管理 | use-defconfig | 把指定 defconfig 复制为工程 .config。 |
| 配置管理 | save-defconfig | 从当前 .config 生成最小化 defconfig。 |
| 配置管理 | menuconfig | 直接打开 Kconfig 菜单界面调整配置。 |
| 构建与清理 | configure | 执行 CMake configure,生成构建配置。 |
| 构建与清理 | build | 构建默认的 artifacts 目标。 |
| 构建与清理 | clean | 执行构建系统的 clean 目标。 |
| 构建与清理 | fullclean | 递归删除整个构建目录。 |
| 产物与工具链 | artifacts | 显示已知产物路径以及文件是否存在。 |
| 产物与工具链 | setup-toolchain | 识别当前平台,并在固定本地路径准备工具链。 |
帮助输出里的 sync-config、pack-firmware、list-configs、select-defconfig、toolchain-bootstrap、__complete 属于内部或扩展命令,帮助信息中不展示说明,日常构建流程不需要直接调用。
OPTIONS
全局参数
全局参数写在 imde 和命令之间,例如 imde --verbose build。同一份参数对后续所有命令生效:
| 参数 | 说明 |
|---|---|
-h, --help | 显示帮助信息。 |
-C, --project-dir | 指定 SDK 工程目录,默认自动识别。 |
-B, --build-dir | 指定构建目录;相对路径基于工程目录解析,默认 build。 |
-D | 追加 CMake 缓存定义,格式为 KEY=VALUE,可重复使用。 |
--toolchain-root | 覆盖工具链根目录对应的环境变量(见 manifest 的 toolchain.envVar)。 |
--toolchain-file | 覆盖 CMAKE_TOOLCHAIN_FILE;通常由 Kconfig 选择,无需手动指定。 |
--generator | CMake 生成器,目前仅支持 Ninja,为高级用途保留。 |
--no-preset | 关闭 preset 模式,改为直接执行 cmake -S/-B。 |
--configure-preset | configure preset 名称,默认 default。 |
--build-preset | build preset 名称,默认 default。 |
--json | 对支持结构化输出的命令输出 JSON,便于脚本解析。 |
--verbose | 打印实际执行的子命令,排查构建问题时建议开启。 |
--extension | 启用可选的配置扩展 manifest,可重复使用。 |
EXAMPLES
常用组合
从零开始到拿到固件,常用流程如下;每一步都可以单独执行,也可以追加 --verbose 观察实际命令:
# 检查环境与工具链 imde doctor # 选择一套 defconfig 并完成配置 imde list-defconfigs imde use-defconfig g32s10 g32s10_v1_mini_defconfig imde configure # 编译并查看产物 imde build imde artifacts # 调整配置后重新编译 imde menuconfig imde build # 需要完全重来时清理构建目录 imde fullclean