新增开发板
本文介绍如何创建新的板仓目录、编写板入口 CMakeLists.txt,并将自定义板仓纳入 repo 多仓管理。
前置条件
- 已完成 repo 安装与配置(见 repo 安装与源码下载)
- 已通过 repo 命令将多仓源码拉取到本地
板仓目录结构参考:
apps/<new_board>/ ← 独立 git 仓库,由 repo 管理
├── CMakeLists.txt # 板入口(add_app_targets 宏、公共链接库收集)
├── bsp/ # 板级 patch(uboot / linux)
├── hardware/ # 硬件资料(原理图、引脚表)
├── references/ # 参考应用
│ └── <app>/
│ ├── app.defconfig
│ ├── CMakeLists.txt
│ ├── source/ # 源文件目录
│ └── patch/ # 可选,应用专属 SDK patch
├── samples/ # 功能示例
└── README.md
步骤
板仓是独立 git 仓库,由 repo 按 manifest 检出到主仓 apps/<board>/ 下。主仓的构建脚本 build.sh 通过 -DBOARD=<name> 选择板仓目录。
-
在主仓
apps/下创建板仓目录: -
创建板入口 CMakeLists.txt
参考复制
apps/cv610_ev_board/CMakeLists.txt作为板仓编译入口模板(包含add_app_targets宏与公共链接库收集),按需调整其中的公共链接库列表段。 -
创建 bsp 目录
建
bsp/子目录,存放该板各案例共享的 uboot / linux patch。 -
添加案例
按案例类型添加该板的案例:
- 新增 sample(单点功能示例) →
samples/ -
新增 reference 案例 →
references/ -
编译新增案例:
纳入 repo 多仓管理
该步骤可选
将自定义开发板仓库纳入 hi_aiot_solution 的 repo 多仓管理体系,使多开发者能通过 repo sync 统一同步。
方式一:下载 manifest 仓库到本地,编辑 default.xml,在板卡应用注释块下追加:
<project name="<your_org>/<your_board_repo>"
path="hi_aiot_solution/apps/<new_board>" revision="master" />
方式二:以 default.xml 为模板新增 <new_board>.xml,把已有开发板仓库的 name、path 改为新增开发板的仓库路径和本地路径。
参数说明:
name:开发板仓库在 GitCode 上的路径path:必须为hi_aiot_solution/apps/<new_board>,与主仓构建系统的-DBOARD=<new_board>对应
注意:在主仓的
.gitignore中为新板仓添加排除条目(如!/apps/<new_board>/),确保 repo 管理的子仓不被主仓 git 跟踪。
使用修改后的 manifest 重新初始化:
repo init -u <your_manifest_repo_url> -b main
# 或指定新增的 manifest 文件
repo init -u <your_manifest_repo_url> -b main -m <new_board>.xml
repo sync
repo start master --all
验证
- 编译成功,确认
_build/bin/下生成了案例的二进制文件;含 rootfs / BSP 的案例镜像在_build/install/image/<VARIANT>/。 - 若进行了纳入 repo 多仓操作,
repo sync后能看到hi_aiot_solution/apps/<new_board>/目录,且git -C hi_aiot_solution/apps/<new_board> log能正常显示提交历史。
相关文档
| 文档 | 说明 |
|---|---|
| repo 安装与源码下载 | repo 工具安装与多仓同步 |
| 新增sample示例 | 单点功能类型示例的新增流程 |
| 新增reference案例 | 产品核心功能类型案例的新增流程 |
| 构建文档 | 编译命令、烧写方法与产物说明 |