前言
本文详细介绍了如何下载和编译OpenHarmony源码,源码目录简介,烧录工具,串口终端工具MobaXterm的基本使用方法和配置。
一、获取OpenHarmony源码
OpenHarmony 代码仓库地址
https://gitee.com/openharmonyps:在OpenHarmony代码仓库官网还可以充分了解OpenHarmony的技术架构,技术特性,系统类型,详细特征,支持的开发板等。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
源码版本主要有1.0.1 1.1.3 3.0三个版本,本文主要介绍的是1.1.3版本源码的获取。其他版本获取方式类似。
准备工作
启动Ubuntu虚拟机,如果电脑没有安装虚拟机,可以看一下前面一篇文章进行安装。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
ps:预搭建的编译环境是自带1.1.3源码的,但为了学习源码下载的过程,需要先把它删除。
打开home目录,进入openharmony文件夹。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
选中1.1.3文件,按下键盘V进行删除操作。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
回到桌面,右击鼠标,点击在终端打开。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
进入终端,准备工作结束,开始使用指令。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
1.1.3版本
1、在虚拟机中建立一个相应的文件夹,用来放置源码
mkdir -p ~/openharmony/1.1.3
2、使用cd指令进入到这个文件夹
cd ~/openharmony/1.1.3
3、使用repo工具初始化源码仓
ps:初始化时,我们采用指定分支或者分支标签的方法,来拉取特定版本的OpenHarmony源码,本文拉取的是1.1.3LTS版本,也就是长期支持版本
repo init -u https://gitee.com/openharmony/manifest.git -brefs/tags/OpenHarmony-v1.1.3-LTS --no-repo-verify
4、使用repo工具去同步源码仓
ps:这一步需要一点时间,因为1.1.3版本有1.2GB,耐心等待…
repo sync -c
5、使用repo工具将源码仓中的大型文件拉取下来
repo forall -c 'git lfs pull'
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
至此,OpenHarmony1.1.3版本的源码下载完毕了。
1.0.1版本
mkdir -p ~/openharmony/1.0.1
cd ~/openharmony/1.0.1
repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
3.0版本
ps:3.0版本有6.5GB
mkdir -p ~/openharmony/3.0
cd ~/openharmony/3.0
repo init -u https://gitee.com/openharmony/manifest.git -brefs/tags/OpenHarmony-v3.0-LTS --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
二、源码目录简介
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
- applications 应用程序样例(应用层)
- base 基础软件服务子系统集 & 硬件服务子系统集(服务层 + 框架层)
- build 组件化编译、构建和配置脚本
- device 各个厂商开发板的 HAL 和 SDK 接口
- docs 说明文档
- domains 增强软件服务子系统集(服务层 + 框架层)
- drivers 驱动子系统(内核层)
- foundation 系统基础能力子系统集(服务层 + 框架层)
- kernel 内核子系统(内核层)
- prebuilts 编译器及工具链子系统
- test 测试子系统
- third_party 开源第三方组件
- utils 常用的工具集
- vendor 厂商提供的软件
- build.py 编译脚本文件
三、编译源码
1、设置目标开发板
进入源码顶层目录,也就是根目录。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
选中1.1.3文件夹,右击鼠标,点击在终端打开。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
进入终端,开始使用指令。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
ps:根据前一篇文章所述,目前版本hb安装,需要在源码的根目录下去执行相关指令,所以先进行hb安装。
python3 -m pip install --user build/lite
echo 'export PATH=~/.local/bin:$PATH' | tee -a ~/.bashrc
source ~/.bashrc
检查是否安装成功。
hb -h
再执行set指令。
hb set
ps:仅需设置一次即可。
接下来会有input code path的提示,只需按下键盘enter键即可继续。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
使用键盘上下键,选择wifiiot_hispark_pegasus,继续。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
至此,开发板就设置完成了。
2、开始编译
执行指令。
hb build
查看编译结果。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
编译成功完成。
ps:预先配置好的编译环境,在首次编译源码的时候,它需要联网下载一些必要的工具,所以要确保虚拟机能够连接到外网
3、hb快速入门
hb 即 OHOS Build System显示帮助。
hb -h
设置要编译的产品(目标开发板)。
hb set
增量编译。
hb build
全量编译(等同于hb build + hb clean)。
hb build -f
清除out目录对应产品的编译产物。
hb clean
四、烧录固件
ps:从这里开始需要用到烧录工具HiBurn和串口终端工具MobaXterm,本文不介绍安装方法,一镜到底式安装。
网址 https://ost.51cto.com/resource/29,https://mobaxterm.mobatek.net/download.html。
1、编译生成的固件位置
./out/hispark_pegasus/wifiiot_hispark_pegasus/Hi3861_wifiiot_app_allinone.bin。
查看并记录虚拟机的ip地址。
ps:因为我们需要使用Windows下的HiBurn工具对开发板进行烧录,所以需要通过Windows来访问Ubuntu虚拟机。
在右上角找到网卡标记,点击有线已连接,点击有线设置。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
在有线设置中,点击齿轮设置。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
ipv4地址就是当前虚拟机的ip地址。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
2、准备开发套件
底板 + 核心板。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
3、烧录
连接核心板。
(1)启动并配置HiBurn
点击setting,点击Com settings。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
波特率选择2000000,确定。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
选择串口号,我这里是COM3,勾选上Auto burn。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
(2)选择固件
点击select file。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
在打开文件的窗口中,我们要通过Ubuntu虚拟机的ip地址来访问虚拟机内部的固件文件,在文件名的输入框先输入两个\,然后输入你的虚拟机的ip地址,点击打开。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
输入用户名,passwd。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
双击进入home目录。
找到openharmony文件夹,双击进入。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
进入1.1.3源码目录,找到out文件夹,双击。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
一直双击,直到当前界面找到allinone.bin固件文件,选中点击打开。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
(3)开始烧录
点击connect
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
当出现connecting… 按一下核心板右下角的RST键,烧录开始。
ps:确保虚拟机关闭,否则虚拟机和主机会对端口产生分歧,保证端口连接到主机。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
(4)烧录完成
成功结束,点击disconnec。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
五、在智能家居套件上运行
1、创建session
启动MobaXterm,在开始之前需要先创建一个session。
点击左上角sessions,点击new session。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
在session设置窗口选择serial(串口),展开串口端口列表选择COM3,也可根据实际情况选择,串口速度选择115200,点击ok。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
2、运行
ps:一定要连接oled板,否则可能会出现未连接oled的英文error。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
双击session,开发板正通过串口进行信息输出。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
尝试重启下,按下RST键,开发板进行了重启操作。
【OpenHarmony下载和编译源码】详解下载和编译OpenHarmony源码以及烧录工具,MobaXTerm的基本使用-开源基础软件社区
至此,下载和编译源码以及烧录,MobaXterm的使用介绍完毕了。