社区编辑申请
注册/登录
Niobe开发板中基于OpenHarmony添加应用程序HelloWorld
系统 OpenHarmony
Niobe开发套件是拓维信息基于OpenHarmony L0系统研发出的一套智能家居物联网开发套件,搭载主芯片Hi3861.

​想了解更多内容,请访问:​

​51CTO和华为官方合作共建的鸿蒙技术社区​

​https://harmonyos.51cto.com​

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

等待编译成功

烧录

编译成功后,bin文件会保存在out/niobe/niobe_wifi_iot目录下:

用HiBurn.exe将Hi3861_wifiiot_app_allinone.bin文件烧录到niobe核心板上:

首先用typeC线连接电脑和Niobe核心板,可通过设备管理确定Niobe连接的端口号,该端口号后续HiBurn和sscom都需要。

再通过HiBurn.exe工具将固件烧录到Niobe上,HiBurn工具的获取和操作可参考烧录指导

调试

采用串口调试工具sscom查看串口打印信息,先对sscom进行配置,设置端口号、波特率等:

点击打开串口,按下Niobe核心板上的复位按键,可通过sscom看到串口打印日志如下:

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

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

​想了解更多内容,请访问:​

​51CTO和华为官方合作共建的鸿蒙技术社区​

​https://harmonyos.51cto.com​

责任编辑:jianghua 来源: 鸿蒙社区
相关推荐

2022-04-14 11:44:25

LiteOS线程鸿蒙

2022-04-02 20:45:04

Hi3516开发板操作系统鸿蒙

2022-04-15 14:31:02

鸿蒙操作系统

2022-05-24 15:55:37

避障小车华为

2022-03-28 15:40:34

harmony鸿蒙操作系统

2022-06-09 14:40:14

系统移植鸿蒙

2022-06-06 10:55:51

本地服务鸿蒙

2022-05-31 16:06:24

udp通信wifi鸿蒙

2022-02-16 16:01:02

Hi3516开发板鸿蒙

2022-06-13 12:43:13

Java模块

2022-05-05 09:02:24

Go函数调用栈

2022-05-26 11:06:33

加密勒索软件网络攻击

2022-05-14 08:05:18

Linux内存管理

2022-05-28 16:14:13

手机更新APP

2021-11-09 15:28:41

2022-05-03 22:25:57

Python浏览器语言

2022-01-05 20:27:45

2021-12-29 16:13:03

2021-12-15 15:28:18

2022-04-26 09:23:07

Hare编程语言C

同话题下的热门内容

OHOS构建自定义服务实战基于OpenHarmony3.1的购物车应用的实现啃论文俱乐部—数据密集型应用内存压缩HarmonyOS - 方舟开发框架ArkUI 流光按钮效果华为智慧屏分布式语音音乐软件,可见即可说OpenHarmony3.1-Ace-Formcomponent源码解析HarmonyOS Canvas 实现时钟HarmonyOS门锁品类的临时密码、照片编解码工具技术

编辑推荐

HarmonyOS 2.0鸿蒙第二期开发者Beta公测申请指南HarmonyOS LYEVK-3861开发板播放《蜜雪冰城》鸿蒙HarmonyOS分布式软总线:构建低时延、高带宽的多设备虚拟网络华为HarmonyOS的强势突围: 直面物联网迷宫的蓄力进击鸿蒙HarmonyOS2.0发布会现场回忆录
我收藏的内容
点赞
收藏

51CTO技术栈公众号