【OpenHarmony编译构建系统】介绍新增组件以及组件模块开发
  noedAHRF1iby 2023年11月13日 25 0

前言

本文介绍了编译构建系统的使用,新增组件的步骤,组件模块开发的方法

新增组件

准备好开发套件 _1476361649__15687ea4184dfb84bb137bdb18c1a399_1986918176_IMG_20230703_202708__0wifi_0.jpg

1.编写组件源码

在applications\sample目录下新建component_demo目录 image.png 之后在component_demo目录下新建demo.c文件 image.png 开始编写... 保存文件 ps: 源码各部分组成简介可以看我的另一篇文章 https://ost.51cto.com/posts/25049 image.png

2.编写编译脚本

在component_demo目录下新建BUILD.gn文件 image.png 开始编写编译脚本... 保存文件 ps1: static_library是静态库 testdemo是库名称,最终会被编译成libtestdemo.a ps2: sources 指定要编译的demo.c源文件 ps3: include_dirs是指定的include目录 "//"表示源码根目录,后面是目录名称 ps4: 注意逗号 image.png

3.单独编译目标

打开虚拟机,找到1.1.3源码根目录,选择在终端打开 image.png 查看具体用法

hb build -h

ps:语法是 hb build -T 路径 : 目标

hb build -f -T //applications/sample/component_demo:testdemo

image.png

4.添加组件定义

回到VSCode 根据路径 build\lite\components\applications.json 打开applications.json 定义组件,保存文件 ps1: targets是编译入口 是源码根目录下的applications/sample/component_demo:testdemo ps2: adapted_kernel是适配内核 image.png

5.将组件配置到产品

根据路径 vendor\hisilicon\hispark_pegasus\config.json 打开config.json 找到 "subsystem": "applications" 进行配置,保存文件 ps: 注意逗号 image.png 单独编译组件

hb build -f testdemo

image.png ps:在轻量系统中,单独编译的目标或组件,不能独立运行,适合发现编译错误 烧录运行的话,需要进行固件的全量编译

hb build -f

image.png

6.烧录固件

image.png

7.运行

烧录完成之后,打开MobaXterm,连接串口,重启开发板 image.png

组件模块开发

1.建立根目录

根据路径 applications\sample\wifi-iot\app 找到app目录 新建gn_practice目录 image.png

2.建立目录树

应用程序模块: application 驱动模块: driver 库模块: library image.png

3.编写各模块源码

ps:每写完一个文件记得保存 先是application模块,建立一个子模块的c文件和头文件 image.png 子模块的c文件include对应的头文件 ps: 爆红只需要点击黄色小灯泡,添加到includePath即可 不会添加的可以看我的上一篇文章 image.png 新建一个主程序文件 image.png 编写主程序文件 image.png 接下来是driver模块和library模块 image.png image.png 在主程序文件include两个模块的头文件 image.png

4.编写各模块脚本

先编写application模块脚本 ps: cflags是编译参数 这三种情况在默认编译方式下是不允许的,会引发编译错误,设置这三个参数后,编译系统会把它们不当作错误来处理 image.png 接下来编写driver和library模块 image.png image.png

5.定位组件编译入口

image.png applications\sample\wifi-iot\app\BUILD.gn 修改三个模块的编译 image.png

6.编译烧录运行

设置

hb set

image.png 编译

hb build -f

编译成功 image.png 烧录成功 image.png 运行成功 image.png

本文作者:他们都叫我KAI

想了解更多关于开源的内容,请访问:​

​51CTO 开源基础软件社区​

​https://ost.51cto.com/#bkwz​

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
noedAHRF1iby