DevEco Device Tool 实战从源码获取到Hello World(轻量系统)

DevEco Device Tool 实战从源码获取到Hello World(轻量系统)

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

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

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

前言

官方使用文档:

https://device.harmonyos.com/cn/docs/documentation/guide/service_introduction-0000001050166905。

前面已经介绍了使用DevEco Device Tool设备开发的全流程,这次我将会以hispark_pegasus(Hi3861)为例,使用OpenHarmony-v3.1-Release轻量系统实战从源码获取到编写Hello World的设备开发流程。

开发环境

  • 开发板:hispark_pegasus(Hi3861)。
  • OpenHarmony版本:OpenHarmony-v3.1-Release。
  • DevEco Device Tool:Windows+Ubuntu混合开发环境。

新建工程

源码获取

提供以下三种配置方式,这里我选择第二种。

1.可以选择下载OpenHarmony3.1release 全量代码并按如图配置好SOC,开发板等信息。

DevEco Device Tool 实战从源码获取到Hello World(轻量系统)

2.想快速体验的还是建议选择Openharmony已有样例WLAN连接类产品即hispark_pegasus的发行版源码,很快就能下完。

DevEco Device Tool 实战从源码获取到Hello World(轻量系统)

选择后会自动配置开发板信息,点击确认进入下一步。

DevEco Device Tool 实战从源码获取到Hello World(轻量系统)

3.已有OpenHarmony 3.1release全量代码也可以直接在工程配置添加新的开发板,添加完后点击保存。

DevEco Device Tool 实战从源码获取到Hello World(轻量系统)

1,2种方法选择完毕后会弹出新的窗口进行下载源码,等待源码下载完成。

DevEco Device Tool 实战从源码获取到Hello World(轻量系统)

编译

进入工程配置,检查工具链,确实工具链则点击安装。

DevEco Device Tool 实战从源码获取到Hello World(轻量系统)

安装完成后如下:

DevEco Device Tool 实战从源码获取到Hello World(轻量系统)

点击Build进行编译,很快即完成编译。

DevEco Device Tool 实战从源码获取到Hello World(轻量系统)

烧录

将开发板连接到电脑,若被虚拟机拦截,选择连接到主机。

查看Ubuntu与本地计算机的连接状态,点击Connect,输入虚拟机password。

DevEco Device Tool 实战从源码获取到Hello World(轻量系统)

再次回到工程配置页面,选择Hi3861,找到upload_port,配置好串口号,upload_protocol是它的烧录工具,upload_partitions是待烧录的文件,默认即可。

DevEco Device Tool 实战从源码获取到Hello World(轻量系统)

现在就可以点击Upload进行烧录,根据提示,按下开发板reset键。

DevEco Device Tool 实战从源码获取到Hello World(轻量系统)

烧录成功。

DevEco Device Tool 实战从源码获取到Hello World(轻量系统)

实战HelloWorld

以上没问题后,就可以开始尝试写我们的第一个demo了。

1.确定目录结构在./applications/sample/wifi-iot/app 路径下新建一个目录/my_first_app,用于存放业务源码文件。在该目录下新建hello_world.c ,和BUILD.gn文件。其中 hello_world.c 为业务代码,BUILD.gn 为编译脚本,具体规划目录结构如下:

DevEco Device Tool 实战从源码获取到Hello World(轻量系统)

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

#include <stdio.h>
#include "ohos_init.h"
#include "ohos_types.h"
void HelloWorld(void)
{
printf("[DEMO] Hello world.\n");
}

SYS_RUN(HelloWorld);

3.编写用于将业务构建成静态库的 BUILD.gn 文件。

在my_first_app/BUILD.gn下编写目标、源文件、头文件路径等配置,如下:

static_library("myapp"){
sources=[
"hello_world.c"
]
include_dirs=[
"//utils/native/liteos/include"
]
}

4.编写模块 BUILD.gn 文件,指定需参与构建的特性模块。配置./applications/sample/wifi-iot/app/BUILD.gn 文件,也就是和my_first_app同级下的BUILD.gn文件,在 features 字段中增加索引,使目标模块参与编译。features 字段指定业务模块的路径和目标,添加:

"my_first_app:myapp",

DevEco Device Tool 实战从源码获取到Hello World(轻量系统)

5.按之前的步骤进行编译烧录。

6.打开串口,按一下开发板的reset键,查看输出。

DevEco Device Tool 实战从源码获取到Hello World(轻量系统)

成功输出Hello World!

后记

以上就是使用DevEco Device Tool 进行Hi3861开发板设备开发的流程,全程都是在vscode上进行的。短短几步就能实现学习几章内容才能搞完的操作,对比起传统开发方式只能说有手就行,我直接吹爆。

DevEco Device Tool 实战从源码获取到Hello World(轻量系统)

手里有开发板的现在就可以试试,官方文档中也有各种开发板的开发教程,希望这篇文章能帮到大家。

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

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

​https://ost.51cto.com​​。

© 版权声明

相关文章