鸿蒙OpenHarmony【集成三方SDK】 (基于Hi3861开发板)

本文介绍了如何将第三方SDK集成到OpenHarmony中,包括规划适配代码目录结构、编译业务库、创建厂商目录以及编写适配和业务代码。重点展示了如何在Hi3861开发板上操作,并提供了详细的步骤和示例代码。
摘要由CSDN通过智能技术生成

 OpenHarmony致力于打造一套更加开放完善的IoT生态系统,为此OpenHarmony规划了一组目录,用于将各厂商的SDK集成到OpenHarmony中。本文档基于Hi3861开发板,向平台开发者介绍将SDK集成到OpenHarmony的方法。

规划目录结构

三方SDK通常由静态库和适配代码构成。SDK的业务逻辑通过硬件模组工具链编译得到静态库libs,每款模组都有其对应的libs。SDK的南向API与OpenHarmony 的API存在使用差异,该差异可通过adapter适配代码屏蔽,不同模组可共用一套adapter。

基于以上特征,在OpenHarmony目录结构中,可以对三方SDK目录做如下划分。

  • 适配代码adapter,放置到domains/iot/link/ 目录下,与模组解耦。
  • 业务库libs,放置到device/hisilicon/hispark_pegasus/sdk_liteos/3rd_sdk/ 目录下,与模组绑定。

平台开发者在适配前,务必先依次完成以下步骤,下面以demolink SDK举例,进行介绍。

  1. 创建厂商目录,domains/iot/link/demolink/、device/hisilicon/hispark_pegasus/sdk_liteos/3rd_sdk/demolink/ ,用于厂商隔离。
  2. 创建domains/iot/link/demolink/BUILD.gn ,用于构建适配代码。
  3. 创建device/hisilicon/hispark_pegasus/sdk_liteos/3rd_sdk/demolink/libs/ 目录,用于存放业务库libs。

鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。

搜狗高速浏览器截图20240326151547.png

.
├── domains
│   └── iot
│       └── link
│           ├── demolink
│           │   └── BUILD.gn
│           ├── libbuild
│           │   └── BUILD.gn
│           └── BUILD.gn
└── device
     └── hisilicon
         └── hispark_pegasus
             └── sdk_liteos
                 └── 3rd_sdk
                     └── demolink
                         └── libs
HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿

构建业务libs

平台SDK业务一般以静态库的形式提供,平台厂商在获取到OpenHarmony代码后,需要根据对应的硬件模组vendor,编译业务libs,并将编译结果放置在device/hisilicon/hispark_pegasus/sdk_liteos/3rd_sdk/demolink/libs/ 目录下。下面介绍业务libs的构建方法。

OpenHarmony已规划用于编译业务libs的目录domains/iot/link/libbuild/ ,该目录中包含domains/iot/link/libbuild/BUILD.gn和domains/iot/link/BUILD.gn文件,目录结构如下。

.
└── domains
    └── iot
        └── link
            ├── demolink
            │   └── BUILD.gn
            ├── libbuild
            │   └── BUILD.gn
            └── BUILD.gn

平台开发者在构建libs前,务必先完成如下步骤。

  1. 在domains/iot/link/libbuild/ 目录下放置业务源码文件,包括.c和.h文件。

    .
    └── domains
        └── iot
            └── link
                ├── demolink
                │   ├── demosdk_adapter.c
                │   ├── demosdk_adapter.h
                │   └── BUILD.gn
                ├── libbuild
                │   ├── demosdk.c
                │   ├── demosdk.h
                │   └── BUILD.gn
                └── BUILD.gn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值