#jitoa#【Openharmony轻量设备开发】润和智能家居套件-openharmony开发入门-helloworld 原创 精华
此博客由金陵科技学院-开放原子开源社-孙启涵编写
1.前言:
本文我们将介绍使用VMware虚拟机安装Ubuntu的过程以及配置编译环境,下载和编译源码,使用vscode导入源码并编写入门程序,烧录工具Hiburn的使用,串口终端工具MobaXterm的使用。
笔者使用的是润和智能家居开发套件。下面是关于轻量系统的介绍和开发套件模版。
2.使用VMware虚拟机安装Ubuntu的过程以及配置编译环境
关于安装虚拟机,大家可以看我同学写的一篇博客,写的很详细用心: https://ost.51cto.com/posts/24872
3.下载和编译源码。
下载源码
下面给出openharmony的代码仓库网址。 OpenHarmony
1.打开虚拟机,点击左边的文件,然后点击openharmony。我们在搭建虚拟机的环境时,自动下载了1.1.3的文件,由于这个文件里的内容并不完整,所有我们把它删除,并学习一下如何获取源码。
选中1.1.3文件,点击键盘上的delete键即可删除。
2.回到桌面,鼠标右击,选择在终端中打开。
执行以下命令:
这个命令在你的用户主目录(~)下创建一个名为1.1.3的新目录。选项-p确保如果目录不存在,就创建整个路径。
mkdir -p ~/openharmony/1.1.3
这个命令将当前工作目录切换到刚刚创建的1.1.3目录。现在你将在这个目录中工作。
cd ~/openharmony/1.1.3
这个命令用指定的参数来初始化"repo"工具:
-u 指定要使用的 Git 仓库的 URL,这里是 Gitee 上的 OpenHarmony manifest 仓库。
-b 指定用于初始化的分支或标签,设置为 refs/tags/OpenHarmony-v1.1.3-LTS,表示将使用 OpenHarmony 的 v1.1.3-LTS 版本。
–no-repo-verify 禁用 repo 工具对清单仓库的验证。这个选项用于跳过 GPG 签名验证。
repo init -u https://gitee.com/openharmony/manifest.git -brefs/tags/OpenHarmony-v1.1.3-LTS --no-repo-verify
这个命令用于在初始化之后,将本地工作区与远程仓库进行同步。选项 -c 用于启用智能检出,这意味着只会同步在 repo init 命令中指定的当前分支,从而节省时间和磁盘空间。
repo sync -c
这个命令遍历 repo 工具管理的所有 Git 仓库,并在每个仓库中执行 git lfs pull 命令。git lfs pull 用于获取使用 Git Large File Storage (LFS) 管理的大文件。这一步确保所有仓库中的 LFS 文件被正确地拉取到你的本地工作区。
repo forall -c ‘git lfs pull’
执行完以上命令后,OpenHarmony1.1.3版本的源码就下载好了。
以下是一些别的版本的下载方式
编译源码
1.打开虚拟机,选择文件,点击openharmony,点击1.1.1,鼠标右键选择在终端中打开。
2.在编译之前,我们要进行hb安装,因为hb安装需要在源码的根目录下去执行相关指令,我们之前在配置Ubuntu时,并没有安装hb
python3 -m pip install --user build/lite
echo ‘export PATH=~/.local/bin:$PATH’ | tee -a ~/.bashrc
source ~/.bashrc
hb -h
安装完hb后,执行
hb build
然后会出现input code path的提示,按下键盘enter键,使用键盘上下键选择中间的wifiiot_hispark_pegasus。
接着执行
hb build
出现如下提示,即为编译成功。
下面给出一些hb的相关知识。
以上就是下载和编译源码的过程,下面我们讲解如何从vscode中导入源码和编写入门程序案例。
4.从vscode中导入源码和编写入门程序案例
从vscode中导入源码
1.打开vscode,选择文件,点击打开文件夹
2.输入\+虚拟机地址。
如何你不知道虚拟机的地址,下面有流程。
1.点击右上角的图标,然后点击有线已连接
2.点击有线设置
3.点击如下这个小图标
4.IPv4地址就是你的虚拟机地址。
当你输入完\+虚拟机地址时,会出现如下提示:
这里的用户名是在进行ubuntu配置中smaba服务里配置的。
进入home文件后,一直点击到openharmony,然后到了1.1.3文件,选择文件夹打开。
以下是打开后的文件目录展示。
下面我们来编写一个helloworld入门案例。
首先,在applications\sample\wifi-iot\app\startup下,点击新建文件。
文件命名为:hello.c
在hello.c文件下编写代码。这里头文件有爆红先不管。
#include <stdio.h>
#include “ohos_init.h”
void hello(void)
{
printf(“Hello World\n”);
}
SYS_RUN(hello);
接着打开 applications\sample\wifi-iot\app\startup\BUILD.gn
做如下修改,把source_set改成static_library和修改include目录,然后保存文件
然后再打开 applications\sample\wifi-iot\app\ BUILD.gn,并做如下修改。features:用于指定目标模块参与编译。点击保存文件。
再以上文件的编写完成后,笔者就打开虚拟机进行了编译。但是出现了如下报错。
可能原因是:笔者在编写hello.c文件时,#include <stdio.h>也爆红了。
下面分享解放方法。
1.打开.vsde下的c_cpp_properties.json
2.在includePath中添加如下的配置。
${workspaceFolder}/device/hisilicon/hispark_pegasus/sdk_liteos/platform/os/Huawei_LiteOS/components/lib/libc/musl/include
然后保存文件。就会发现,#include <stdio.h>就不爆红了。
关于#include "ohos_init.h"爆红
我们点击这个小黄灯泡,选择编辑includepath设置。
找到包含路径,添加如下
${workspaceFolder}/utils/native/lite/include
上图中是建议添加的配置。
接下来我们来编译源码。
1.打开虚拟机,点击文件,进去openharmony文件夹,点击1.1.3,鼠标右键选择在终端中打开。
执行hb build -f进行全量编译
hb build -f
出现如上提示,说明编译成功了。
下面我们进行烧录。
在计算机和电子设备领域中,"烧录"指的是将软件(如固件、操作系统或应用程序)加载到特定的硬件设备中的过程。这个过程通常通过将二进制数据(编译后的代码)写入设备的存储器(如闪存、EPROM、EEPROM或固件存储器)来完成。
5.烧录
在烧录中,笔者采用的是Hiburn烧录工具,
和 DevEco Device Tool方式对比
使用HiBurn烧录相对于使用DevEco Device Tool烧录而言,好处主要有以下几点:
-
不依赖VSCode,你可以不用安装VSCode、nodejs、JDK、以及一些npm包;
-
下载速度更快,HiBurn.exe最大波特率可以设置到3000000,而DevEco Device Tool最大只能为921600,是它的三倍;
HiBurn方式烧录目前的缺点主要是:
-
需要手动点Disconnect主动断开连接,否则默认会重复下载;烧录成功后,如果你不断开串口,并且再次按了一下RESET按键,你会发现,它又烧录了一遍。
-
HiBurn的串口参数无法保存,你关闭之后下次打开还需要重新设置,而DevEco则会可以保存串口参数;
-
HiBurn相对DevEco来说,操作步骤更多一些,也稍微复杂一点;
1.准备开发板
当电脑插上USB时,会弹出这样的窗口,我们选择连接到主机。否则在后续烧录过程中可能会出现主机跟虚拟机抢串口的问题。
2.下载烧录工具Hiburn
下面给出下载地址,一键式安装即可。```
https://ost.51cto.com/resource/29
``
1.打开Hiburn,选择Setting,选择Com settings
2.将Baud调为2000000,然后点击确定
下面我们配置串口号,就是COM,关于获取串口号,我们打开设备管理器,点击端口,在USB-SERIAL CH
340后面的,就是串口号。我这里是COM5。
然后勾选上Autoburn。
然后我们选择Select file。输入\+虚拟机号,进入openharmony下的1.1.3.
找到out,点击进去。
一直点击,选择如下文件,然后点击右下角的打开。
然后点击connect,当下面提示connecting…时,按下开发板中的RST键。
出现如下提示,表示烧录成功,然后我们点击Disconnect,关闭烧录工具。
至此烧录就完成了。下面我们讲解在智能家居开发板上查看运行结果。
6.运行
查看运行结果,我们使用串口终端工具MobaXterm。
下面提供下载网址: https://mobaxterm.mobatek.net/download.html
1.打开MobaXterm,选择Sessions.
然后点击Serial。
选择串口号,修改波频为115200.
双击打开COM5
此时重启开发板,点击开发板上的RST键。
此时我们看到,输出了HelloWorld。至此,openharmony的入门开发程序helloworld到这就结束了。
整个流程就是,从虚拟机中下载拉取源码,通过vscode访问虚拟机来获取源码并进行编写。通过Hiburn烧录工具来进行烧录,通过MobaXterm来查看输出。
总结:以上可能有一些疏忽,如有不足之处,欢迎大家指出并在评论区留言,笔者看到就会及时回复。让我们共同努力。
笔者将会在下一篇博客中讲解轻量系统的编译构建。
相当详细的讲解!
本小白就需要这样的教学