新增 reference 案例
本文介绍如何在现有板仓下新增 reference(产品核心功能案例)类型的案例。
适用场景
| APP_TYPE | 场景 | 说明 |
|---|---|---|
reference |
参考应用 | 产品的核心功能案例 |
前置条件:已完成环境搭建与 repo 安装配置。
步骤
1. 创建案例目录
2. 编写 app.defconfig
在案例根目录下创建 app.defconfig。reference 案例通常涉及多模块、SDK patch 与 rootfs 打包,字段说明与参考样例见 新增 sample(单点功能示例)。
3. 编写 CMakeLists.txt
多模块案例建议按以下目录组织,用 add_subdirectory 分模块聚合:
apps/<BOARD>/references/<APP_NAME>/
├── CMakeLists.txt # 编译入口(add_subdirectory 聚合)
├── app.defconfig # Kconfig 差异配置
├── source/ # 案例源码
│ └── CMakeLists.txt
├── rootfs/ # 文件系统打包(UBIFS 镜像生成与板端文件)
│ └── CMakeLists.txt
└── patch/ # SDK 补丁
├── apply_patches.sh # SDK 源码补丁脚本
└── bsp_make_opts # BSP 自定义参数
- 依赖 SDK 改动时,在
patch/下放置apply_patches.sh与可选的bsp_make_opts。 - 引入新的第三方开源软件时,按 《添加第三方开源组件文档》 完成合规登记。
4. 编译
5. 验证
- 编译成功,确认
_build/bin/下生成了案例的二进制文件; - 含 rootfs / BSP 的案例,烧录镜像生成在
_build/install/image/<VARIANT>/。
相关文档
| 文档 | 说明 |
|---|---|
| 新增 sample(单点功能示例) | samples 类型案例的新增流程与 app.defconfig 字段清单 |
| 新增开发板 | 新建板仓并纳入 repo 多仓管理 |
| 新增组件模块 | 在现有组件仓下创建可复用的组件模块 |
| 构建文档 | 编译命令、烧写方法与产物说明 |
| 添加第三方开源组件 | 开源库注册与合规登记 |