跳转至

新增开发板

本文介绍如何创建新的板仓目录、编写板入口 CMakeLists.txt,并将自定义板仓纳入 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> 选择板仓目录。

  1. 在主仓 apps/ 下创建板仓目录:

    cd hi_aiot_solution/apps
    mkdir -p <board>
    
  2. 创建板入口 CMakeLists.txt

    参考复制 apps/cv610_ev_board/CMakeLists.txt 作为板仓编译入口模板(包含 add_app_targets 宏与公共链接库收集),按需调整其中的公共链接库列表段。

  3. 创建 bsp 目录

    bsp/ 子目录,存放该板各案例共享的 uboot / linux patch。

  4. 添加案例

按案例类型添加该板的案例:

纳入 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,把已有开发板仓库的 namepath 改为新增开发板的仓库路径和本地路径。

参数说明:

  • 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

验证

  1. 编译成功,确认 _build/bin/ 下生成了案例的二进制文件;含 rootfs / BSP 的案例镜像在 _build/install/image/<VARIANT>/
  2. 若进行了纳入 repo 多仓操作,repo sync 后能看到 hi_aiot_solution/apps/<new_board>/ 目录,且 git -C hi_aiot_solution/apps/<new_board> log 能正常显示提交历史。

相关文档

文档 说明
repo 安装与源码下载 repo 工具安装与多仓同步
新增sample示例 单点功能类型示例的新增流程
新增reference案例 产品核心功能类型案例的新增流程
构建文档 编译命令、烧写方法与产物说明