Niobe开发板中基于OpenHarmony添加应用程序HelloWorld 原创 精华

发布于 2022-2-23 11:32
浏览
7收藏

上一篇:OpenHarmony设备开发环境搭建/源码获取/编译/烧录

@toc
Niobe开发套件是拓维信息基于OpenHarmony L0系统研发出的一套智能家居物联网开发套件,搭载主芯片Hi3861. 想进一步认识Niobe的请前往Niobe行业物联网开发板及套件详解

而如何在Niobe上开发OpenHarmony的应用程序呢,请你往下看!

修改源码

1 确定目录结构

先在路径./applications/app下新建一个目录,用于存放业务源码文件。其中“.”表示OpenHarmony源码的根目录。
例如:在app下新增业务NIOBE_OS_helloworld,其中hello_world.c为业务代码,BUILD.gn为编译脚本,其目录结构如下:

.
└── applications
    └── app
           │── NIOBE_OS_helloworld
           │    │── hello_world.c
           │    └── BUILD.gn
           └── BUILD.gn

2 编写业务代码

在hello_world.c文件中新建业务入口函数HelloWorld,并实现业务逻辑。并在代码最下方,使用OpenHarmony启动恢复模块接口SYS_RUN()或者APP_FEATURE_INIT()启动业务。(启动恢复模块接口定义在ohos_init.h文件中)

#include "ohos_init.h"
#include "ohos_types.h"

void HelloWorld(void)
{
    printf("\n\n");
    printf("**********************\n");
    printf("[Talkweb] Hello world.\n");
    printf("**********************\n");

    return;
}

SYS_RUN(HelloWorld);

3 编写将业务构建成静态库的BUILD.gn

在./applications/app/NIOBE_OS_helloworld下的BUILD.gn文件中添加如下代码。

static_library("helloworld"){
    sources = [
        "hello_world.c"
    ]
}
  • static_library中指定业务模块的编译结果,为静态库文件helloworld.a
  • sources中指定静态库.a所依赖的.c文件及其路径,若路径中包含"//“则表示绝对路径(此处为代码根路径),若不包含”//"则表示相对路径。

4 编写模块BUILD.gn文件

编写模块BUILD.gn文件,指定需参与构建的特性模块。
在./applications/app下的BUILD.gn文件中添加如下代码

import("//build/lite/config/component/lite_component.gni")

lite_component("app") {
    features = [
         "NIOBE_OS_helloworld:helloworld",
    ]
}
  • NIOBE_OS_helloworld是相对路径,指向./applications/app/NIOBE_OS_helloworld/BUILD.gn。
  • helloworld是目标,指向./applications/app/NIOBE_OS_helloworld/BUILD.gn中的static_library(“helloworld”)。

编译

用docker编译,进入OpenHarmony代码根目录,运行命令进入docker镜像,在镜像中用hb编译:

sudo docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.5   

hb set
.

//继续回车选择niobe_wifi_iot

hb build -b release -f    

Niobe开发板中基于OpenHarmony添加应用程序HelloWorld-开源基础软件社区
等待编译成功
Niobe开发板中基于OpenHarmony添加应用程序HelloWorld-开源基础软件社区

烧录

编译成功后,bin文件会保存在out/niobe/niobe_wifi_iot目录下:
Niobe开发板中基于OpenHarmony添加应用程序HelloWorld-开源基础软件社区
用HiBurn.exe将Hi3861_wifiiot_app_allinone.bin文件烧录到niobe核心板上:
首先用typeC线连接电脑和Niobe核心板,可通过设备管理确定Niobe连接的端口号,该端口号后续HiBurn和sscom都需要。
Niobe开发板中基于OpenHarmony添加应用程序HelloWorld-开源基础软件社区
再通过HiBurn.exe工具将固件烧录到Niobe上,HiBurn工具的获取和操作可参考烧录指导

调试

采用串口调试工具sscom查看串口打印信息,先对sscom进行配置,设置端口号、波特率等:
Niobe开发板中基于OpenHarmony添加应用程序HelloWorld-开源基础软件社区
点击打开串口,按下Niobe核心板上的复位按键,可通过sscom看到串口打印日志如下:

**********************
[Talkweb] Hello world.
**********************

到此,已在OpneHarmony中添加应用程序HelloWorld,并成功在Niobe调试。

相关工具获取

HiBurn和sscom工具获取

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
已于2022-2-23 14:20:57修改
9
收藏 7
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐