[文章]【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】第2章 OpenHarmony开发环境搭建

阅读量0
1
5
开发环境:
开发系统:Ubuntu 20.04
开发板:Pegasus物联网开发板
MCU:Hi3861
OpenHarmony版本:3.0.1-LTS

本文将介绍如何搭建OpenHarmony开发环境,OpenHarmony主要在Linux平台上开发,因此需要使用Linux环境开发,要想使用Linux开发环境,可以选择安装Linux系统,也可在Windows上安装虚拟机,笔者就是使用的该方式,这种方式的好处是可以随时拷贝,非常方便。

笔者的虚拟机使用的是VMwareWorkstation,Linux系统使用的是Ubuntu 20.04,关于VMwareWorkstation的安装和Ubuntu的安装笔者这里就不在赘述了,笔者默认大家已经装好VMware  Workstation和Ubuntu。

2.1安装依赖包
更新主机的源列表:
$ sudo apt-get update
安装依赖包:
$ sudo apt-get install build-essential gcc g++ make zlib*libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-devlibelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utilscpio device-tree-compiler git git-lfs curl python3-pip tree

值得注意的是,如果Ubuntu Shell环境如果不是bash,则需要修改为bash。检测命令如下:
$ ls -l /bin/sh
20220528-2-t1.png

打开终端工具,执行如下命令:
$ sudo dpkg-reconfigure dash
然后选择No,即可将Ubuntu shell由dash修改为bash。
2.2获取源码
OpenHarmony的最新版本是3.1(2022-03-30),关于OpenHarmony的所有版本的更新信息请参看Release Notes。
Release Notes:
https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/Readme.md

20220528-2-t2.png

1.检查Python环境
首先检查下Python版本。
20220528-2-t3.png

可以看到,Ubuntu 20.04默认的Python版本是3.8.10。因此,无需升级Python。
值得注意的是,如果无法使用python命令,可做一个软链接,命令如下:
$sudo ln -s /usr/bin/python3.8 /usr/bin/python
2.配置Git
配置Git用户信息:
$git config --global user.name "yourname"
$git config --global user.email"your-email-address"
如果想使用ssh下载源码,还需要配置ssh。
关于如何配置gitee的SSH公钥,请参看gitee的帮助中心。

3.安装repo
新建目录:
$ mkdir OpenHarmony
$ cd OpenHarmony
接下来安装码云repo工具,命令如下:
$sudo curlhttps://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o /usr/local/bin/repo  #也可下载至其他目录,并将其配置到环境变量中
20220528-2-t4.png

$sudo chmod a+x /usr/local/bin/repo

20220528-2-t5.png
4.获取OpenHarmony源码
接下来获取源码OpenHarmony,OpenHarmony源码下载有两种方式:
方式一:通过repo + ssh下载(需注册公钥)。
$repo init -u git@gitee.com:openharmony/manifest.git -bmaster --no-repo-verify
$repo sync –c #代码同步,时间还有点久,请耐心等待
$repo forall -c 'git lfs pull'

方式二:通过repo + https下载。
$repo init -u https://gitee.com/openharmony/manifest.git -bmaster --no-repo-verify

$repo sync -c
$repo forall -c 'git lfs pull'

20220528-2-t6.png
或者:
$repo init -u https://gitee.com/openharmony/manifest.git -bOpenHarmony-v3.0-LTS --no-repo-verify

笔者使用的是https下载。
源码下载完成后,其目录如下:
$tree -L 1

20220528-2-t7.png

当然啦,如果觉得使用Git麻烦,那么就到华为的repo网站下载。

20220528-2-t8.png

当然也可下载最新的版本(V3.1)。

官方手册:
https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-ide-lite-sourcecode-acquire.md

2.3安装hb工具
hb是HarmonyOS2.0里新增加的编译构建命令行工具。需要Python 3.7.4及以上版本的支持,建议安装3.8.x。Ubuntu 20.04默认安装的是Python 3.8.10。
在源码根目录下执行:
$ cd ~/OpenHarmony
$python3 -m pip install --user build/lite

20220528-2-t9.png

然后设置环境变量
$ vim ~/.bashrc
将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
exportPATH=~/.local/bin:$PATH
执行如下命令更新环境变量。
$ source ~/.bashrc
执行hb -h有相关帮助信息,有打印信息即表示安装成功:

20220528-2-t10.png
卸载方法:
$ python3 -m pip uninstall ohos-build

官方手册:
https://gitee.com/openharmony/build_lite
2.4安装Python工具
1.安装Scons
运行如下命令,安装SCons安装包。
$ python3 -m pip install scons
运行如下命令,查看是否安装成功。如果安装成功,查询结果下图所示。
$ scons -v
20220528-2-t11.png

版本要求3.0.4以上。

2.安装python工具模块
运行如下命令,安装python模块setuptools。
$ pip3 install setuptools

3.安装Kconfiglib
安装GUI menuconfig工具(Kconfiglib),建议安装Kconfiglib13.2.0+版本,命令如下:
$ pip3 installkconfiglib

4.安装Python签名依赖的组件包
安装升级文件签名依赖的Python组件包,包括:pycryptodome、six、ecdsa。安装ecdsa依赖six,请先安装six,再安装ecdsa。
命令如下:
$ pip3 install pycryptodome
$ pip3 install six --upgrade --ignore-installed six
$ pip3 install ecdsa

2.5安装交叉编译工具链
下载以下交叉编译工具链:

将下载的压缩包拷贝到Ubuntu的/opt目录。
然后解压gcc_riscv32-linux-7.3.0.tar.gz:
$ sudo tar -xvf gcc_riscv32-linux-7.3.0.tar.gz
接着修改环境变量:
$vim ~/.bashrc
将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
export PATH=/opt/gcc_riscv32/bin:$PATH
生效环境变量。
$ source ~/.bashrc
检查编译器信息,命令如下:
$ riscv32-unknown-elf-gcc -v
20220528-2-t12.png

表明编译器安装成功。


小贴士:UbuntuWindows互传文件-创建链接
1)虚拟机->设置->共享文件夹
20220528-2-t13.png

2)选择下一步,然后选择共享文件夹路径
20220528-2-t14.png

再下一步->完成就可。
3)进行软链接
输入命令:
$ln -s /mnt/hgfs/share
好了,现在Ubuntu和Windows就能互传文件了。





回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友