跳转至

Hi-AIoT-Solution 目录结构

本文档介绍 Hi-AIoT-Solution 的文件目录结构与代码仓管理方式。项目采用多仓架构:主仓库 hi_aiot_solution 负责整体构建、配置与文档,各业务模块(组件、开发板应用等)以独立子仓形式维护,通过 repo 工具统一下载与管理。下文将说明各目录的职责划分及子仓与主仓库的关联关系。

文件目录结构

项目整体目录结构如下:

hi_aiot_solution/
├── .agents/                     # AI 编程辅助工具
├── apps/                        # 开发板应用
│   └── cv610_ev_board/          # Sunniwell CV610 DevBoard 开发板目录
├── components/                  # 可复用组件
│   ├── adapter/                 # 屏幕/sensor等外设硬件适配
│   ├── hiai/                    # AI 能力组件
│   ├── hichannel/               # 通信组件
│   ├── media/                   # 媒体处理组件
│   └── network/                 # 网络组件
├── configs/                     # 统一构建配置(config.cmake、Kconfig、sdk.cmake)
├── docs/                        # 项目核心文档
├── open_source/                 # 第三方开源库源码包
├── ohos/                        # OpenHarmony 社区代码(非子仓,OHOS 构建时使用)
├── ohos_adapt/                  # OpenHarmony 适配层(patch)子仓
├── scripts/                     # 构建脚本
├── sdk/                         # 海思芯片 SDK
├── tools/                       # 工具
└── vendor/                      # 三方厂商适配

代码仓管理

多仓管理模型

项目由 1 个主仓与多个子仓组成,各仓库职责如下:

  • 主仓(hi_aiot_solution):承载统一构建入口(scripts/build.shCMakePresets.jsonconfigs/)、文档(docs/)与 AI 编程辅助(.agents/),不承载具体业务代码。
  • 子仓:按业务领域拆分(组件、板卡应用、OpenHarmony 适配等),每个子仓是独立的 git 仓库,拥有独立的提交历史、分支与权限,可单独开发、评审与发布。

主仓与子仓的关联关系由 manifest 仓描述:manifest 文件记录每个子仓的远程地址、分支与本地路径映射,repo 工具据此将各子仓下载到主仓对应的目录下,形成完整工程。manifest 通过 groups 区分两种构建形态:

  • default:OHOS 构建,下载全部代码仓(含 OpenHarmony 社区代码与 ohos_adapt)。
  • linux:Linux 构建,不含 OpenHarmony 社区代码与 ohos_adapt(repo init 时通过 -g linux 指定)。

源码下载步骤详见相关文档

仓库介绍

主仓库 hi_aiot_solution 是项目核心,仓库地址:https://gitcode.com/HiSpark/hi_aiot_solution 。项目涉及的代码仓按用途分为五类,清单如下。

组件子仓

子仓 说明 仓库地址
components/adapter 硬件抽象与驱动适配(LCD、触摸屏、ADC、Wi-Fi 等) HiSpark/hi_aiot_solution_adapter
components/hiai AI 能力(云端 Agent、离线语音、ZeroClaw) HiSpark/hi_aiot_solution_hiai
components/hichannel 通信与消息通道 HiSpark/hi_aiot_solution_hichannel
components/media 媒体与显示(DRM 图形、LVGL UI) HiSpark/hi_aiot_solution_media
components/network 网络通信 HiSpark/hi_aiot_solution_network

板卡应用子仓

子仓 说明 仓库地址
apps/cv610_ev_board Hi3516CV610 Sunniwell 开发板应用,含参考方案与功能示例 HiSpark/hi_aiot_solution_cv610_ev_board

芯片 SDK 仓

仓库 说明 仓库地址
sdk/Hi3516CV610 Hi3516CV610 芯片 BSP/MPP SDK HiSpark/Hi3516CV610
  • SDK 由 manifest(chipsets/hi3516cv610/components/sdk.xml)引入,随 repo sync 下载到 sdk/Hi3516CV610/;其内部的 3 个子仓库(linux、u-boot、busybox)同样展开为独立 project 一并下载。
  • 编译时由 sdk/prepare.cmake 处理:hispark版本SDK对已下载的 SDK 应用 sdk/patches/ 中的补丁;hisupport版本SDK则解压 sdk/*.tgz 包落地。
  • SDK 落地目录已被主仓 gitignore,不入主仓版本管理;主仓仅保留编译脚本(build.cmakeprepare.cmake 等)与补丁。

OpenHarmony 仓

仓库 说明 仓库地址
ohos_adapt OpenHarmony 适配层(patch),完成 OHOS 构建 HiSpark/hi_aiot_solution_ohos
ohos/ OpenHarmony 社区代码(v6.1-LTS),由 manifest 以多个 project 形式从 openharmony 社区仓下载,仅 OHOS 构建需要
  • ohos/ 下的社区代码仓数量众多且由 OpenHarmony 社区维护,不在本页面逐一列出。
  • ohos_adapt/ 存放适配层 patch,配合 ohos/ 下的社区代码完成 OHOS 构建。

多仓管理配置仓

仓库 说明 仓库地址
manifest 多仓结构配置,记录各代码仓的远程地址、分支与本地路径映射 HiSpark/hi_aiot_solution_manifest

相关文档