OpenHarmony轻量系统开发【2】源码下载和开发环境

今日头条

1142人已加入

描述

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

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

 

2.1源码下载

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

 

本文这里做下总结:

(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 v3.1 Beta (2021-12-31)
OpenHarmony v3.0.1 LTS (2022-01-12)
OpenHarmony v3.0 LTS (2021-09-30)
OpenHarmony 2.x Releases

OpenHarmony v2.2 beta2 (2021-08-04)
OpenHarmony 2.0 Canary (2021-06-02)
OpenHarmony 1.x Releases

OpenHarmony v1.1.3 LTS (2021-09-30)
OpenHarmony v1.1.2 LTS (2021-08-04)
OpenHarmony 1.1.1 LTS (2021-06-22)
OpenHarmony 1.1.0 LTS (2021-04-01)
OpenHarmony 1.0 (2020-09-10)
 

2.3开发环境

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

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

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

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

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

 

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

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

OpenHarmony代码所需的公共部分:这里主要是安装python、hb等,这些都是必须的。
具体开发板所需的开发环境:这个跟具体芯片、开发板相关,例如对应的交叉编译器、或者制作文件系统相关的脚本组件等。这些看自己所需的芯片环境是哪些。
 

2.3.1 OpenHarmony开发环境

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

 

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

ls -l /bin/sh

 

源码


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

sudo dpkg-reconfigure dash

 

源码



 

(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开发环境

最好参考官方文档

 

这里做下记录

 

(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以上

 
 

源码

(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模组类编译工具链)

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

 

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

 

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

审核编辑:符乾江

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分