本文面向公开发布的 ARCS-MINI 工程。
板型说明:本文默认以 Arcs-Mini(Mini)的 arcs_mini 板型为例。Arcs-Mini3 使用独立的 arcs_mini3 板型,芯片引脚复用、外设连接和固件镜像与 Mini 存在差异,Mini 与 Mini3 固件不通用;涉及板级参数时请以目标开发板的板型配置和硬件资料为准。
| 路径 | 用途 |
|---|---|
| apps/arcs-mini/ | ARCS-MINI 的 CP 核应用入口、应用配置和功能模块。产品功能优先在这里实现。 |
| src/ | ARCS-MINI 使用的项目级通用业务、中间件、服务和工具代码。 |
| arcs-sdk/boards/arcs_mini/、arcs-sdk/boards/arcs_mini3/ | Mini 使用 arcs_mini,Mini3 使用 arcs_mini3;这里分别维护对应板型的基础配置与 pinmux。只有基础板型确有问题时才修改;产品变体的覆盖配置放在根目录 boards/。 |
| res/arcs-mini/ | 分区表、提示音、唤醒词、资源包等 ARCS-MINI 资源。 |
| arcs-sdk/ | ARCS 平台 SDK,提供 SoC、系统、LISA 驱动、组件、基础板型和构建能力。非必要不要直接修改。 |
| modules/ | 项目依赖的公共模块,例如事件总线、云端 SDK 和 UI 组件。 |
| build.sh、build.ps1 | Linux/macOS/WSL 与 Windows 的构建入口。 |
| adb_download.sh、adb_download.ps1 | 通过 ADB 下载 ARCS-MINI 固件。 |
| .agents/skills/ | Agent 的项目工作流说明;用于协助开发、构建、烧录、日志和提交。 |
默认板型为 arcs_mini。使用 Arcs-Mini3 时,请将目标板型切换为 arcs_mini3;应用级默认配置位于 apps/arcs-mini/prj.conf,实际生效的配置以构建后的 build/.config 为准。Mini 和 Mini3 的板级参数及固件不通用。
在仓库根目录执行:
.\\build.ps1 -S .\\apps\\arcs-mini -DBOARD=arcs_mini
使用 Arcs-Mini3 时:
.\\build.ps1 -S .\\apps\\arcs-mini -DBOARD=arcs_mini3
只修改 CP 应用代码时,优先烧录 app 分区:
.\\adb_download.ps1 -S res\\arcs-mini app
完整命令、资源更新和设备异常恢复方式以对应 Skill 为准。
Skill 是保存在 .agents/skills/<skill>/SKILL.md 中的开发工作流。它不会被编译进固件,而是指导 Agent 在正确的目录中使用正确的命令,并遵守设备操作、提交和安全边界。
可以直接使用 /build、/flash 等命令,也可以用自然语言描述目标。例如“修改唤醒逻辑后编译、只烧 CP 固件并抓日志”,Agent 会按顺序选择 coding、build、flash、run-log。
| Skill | 适用场景 |
|---|---|
| coding | 修改 arcs-mini 应用逻辑、公共业务代码、ebus、AT 命令、Kconfig 或 CMake。优先改 apps/,其次改 src/,避免无必要修改 arcs-sdk/。 |
| build | 编译或构建 ARCS-MINI 工程。 |
| device | GPIO、PWM、I2C、SPI、UART、音频、屏幕、pinmux、设备配置等硬件适配。 |
| flash | 烧录或刷写固件;正常情况优先 ADB,无法进入 ADB 时再使用串口烧录。 |
| run-log | 获取和分析 ADB shell 或串口日志。 |
| review | 审查代码;默认以 arcs-mini/main 为差异基准。 |
| commit | 规范化 Git 提交、暂存范围和提交信息;不会主动推送。 |
| local-memory | 用户明确要求保存本机开发偏好时,写入不提交的本地记忆。 |
ARCS-MINI 产品功能?
→ apps/arcs-mini/
多个 ARCS-MINI 模块共用的业务能力?
→ src/
ARCS-MINI 的产品板型变体或覆盖配置?
→ boards/<variant>/
Arcs-Mini3 的板型配置或 pinmux?
→ arcs-sdk/boards/arcs_mini3/
默认 arcs_mini 板型的基础 pinmux?
→ 确有必要时才修改 arcs-sdk/boards/arcs_mini/
通用 SoC、RTOS、LISA 驱动或 SDK 框架能力?
→ 确有必要时才修改 arcs-sdk/
这套边界让公开工程始终聚焦 ARCS-MINI,也降低后续 SDK 升级和产品维护的成本。