摘要:本文简单介绍OpenHarmony开发环境,代码下载、版本更新日志等。

适合群体:想要上手开发OpenHarmony设备

2.1 源码下载

关于源码下载的,读者可以直接查看官网:

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

本文这里做下总结:

(1)注册码云gitee账号。

(2)注册码云SSH公钥,具体可以百度

(3)安装git客户端和git-lfs并配置用户信息。

git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store

(3)安装码云repo工具,可以执行如下命令。

curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo  

#注意,如果没有权限,可下载至其他目录,并将其配置到环境变量中

chmod a+x /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

以下是主干代码的下载方式,但是主干代码可能会不稳定,不推荐大家使用,推荐大家使用TLS版本。

OpenHarmony主干代码获取

方式一:通过repo + ssh下载(需注册公钥,请参考码云帮助中心)。

repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

方式二(个人推荐这个):通过repo + https下载。

repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

2.2 Release版本下载

OpenHarmony 3.x Releases

OpenHarmony 2.x Releases

OpenHarmony 1.x Releases

2.3 开发环境

OpenHarmony的开发环境主要分为window、Linux两个。

其中window环境用于编写代码、下载程序等。

Linux环境用于代码下载、编译等。

这里推荐大家只使用Linux环境即可,Linux可以使用Ubuntu 20.04版本。关于Windows环境,大家可装可以不装,编写代码可以使用自己喜欢的IDE、下载的话,不同开发板都会提供不同的下载工具。

Ubuntu的开发环境可以参考官网:

https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-lite-package-environment.md 

本文也会列出来,但是后面官方可能会更新,导致本文不一定适用。

需要注意的是,关于Ubuntu的环境主要分为两部分:

1. OpenHarmony代码所需的公共部分:这里主要是安装python、hb等,这些都是必须的。

2. 具体开发板所需的开发环境:这个跟具体芯片、开发板相关,例如对应的交叉编译器、或者制作文件系统相关的脚本组件等。这些看自己所需的芯片环境是哪些。

2.3.1 OpenHarmony开发环境

(1)将Ubuntu Shell环境修改为bash。

执行如下命令,确认输出结果为bash。如果输出结果不是bash,请根据步骤2,将Ubuntu shell修改为bash。

ls -l /bin/sh
image.png

(2)打开终端工具,执行如下命令,输入密码,然后选择No,将Ubuntu shell由dash修改为bash。

sudo dpkg-reconfigure dash
image.png

(3)使用如下apt-get命令安装编译所需的必要的库和工具:

sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi cpio device-tree-compiler

(4)安装hb

在源码根目录下载运行如下命令安装hb

python3 -m pip install build/lite

设置环境变量

vim ~/.bashrc

将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

export PATH=~/.local/bin:$PATH

执行如下命令更新环境变量。

source ~/.bashrc

执行"hb -h",界面打印以下信息即表示安装成功:

usage: hb
OHOS build system
positional arguments:
  {build,set,env,clean}
    build               Build source code
    set                 OHOS build settings
    env                 Show OHOS build env
    clean               Clean output
optional arguments:
  -h, --help            show this help message and exit

2.3.2 Hi3861开发环境

最好参考官方文档:

https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-setting.md 

这里做下记录

(1)安装编译依赖基础软件(仅Ubuntu 20+需要)

执行以下命令进行安装:

sudo apt-get install build-essential gcc g++ make zlib* libffi-dev

(2)安装Scons

运行如下命令,安装SCons安装包。

python3 -m pip install scons

运行如下命令,查看是否安装成功。如果安装成功,查询结果下图所示。

scons -v

图 1 SCons安装成功界面,版本要求3.0.4以上

image.png

(3)安装python模块

运行如下命令,安装python模块setuptools。

pip3 install setuptools

(4)安装GUI menuconfig工具(Kconfiglib),建议安装Kconfiglib 13.2.0+版本,任选如下一种方式。

命令行方式:

sudo pip3 install kconfiglib

(5)安装pycryptodome,任选如下一种方式。

安装升级文件签名依赖的Python组件包,包括:pycryptodome、six、ecdsa。安装ecdsa依赖six,请先安装six,再安装ecdsa。

命令行方式:

sudo pip3 install pycryptodome

(6)安装six,任选如下一种方式。

命令行方式:

sudo pip3 install six --upgrade --ignore-installed six

(7)安装ecdsa,任选如下一种方式。

命令行方式:

sudo pip3 install ecdsa

(8)安装gcc_riscv32(WLAN模组类编译工具链)

下载以下交叉编译工具链:

https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fharmonyos%2Fcompiler%2Fgcc_riscv32%2F7.3.0%2Flinux%2Fgcc_riscv32-linux-7.3.0.tar.gz 

请先执行以下命令将压缩包解压到根目录:

tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~
vim ~/.bashrc

将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

export PATH=~/gcc_riscv32/bin:$PATH

生效环境变量。

source ~/.bashrc

Shell命令行中输入如下命令,如果能正确显示编译器版本号,表明编译器安装成功。

riscv32-unknown-elf-gcc -v