W800开发套件鸿蒙系统教程

W800开发套件鸿蒙系统教程


6.2 OpenHarmony开发环境搭建

下载OpenHarmony源码,这里介绍从Gitee下载,前提条件:

  1. 注册码云gitee帐号
  2. 注册码云SSH公钥,请参考码云官方介绍:https://gitee.com/help/articles/4191
  3. 安装git客户端和git-lfs并配置用户信息:
git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store
  1. 安装码云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

在Ubuntu系统中可以直接通过sudo apt install repo命令来安装repo工具。安装git-lfs工具,执行命令:sudo apt install git-lfs

OpenHarmony主干代码获取:

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

执行repo init的时候会遇到如下图显示的连接错误

![18](https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=f39c1e81d7f7feb1ddf9fc6440be05ca "18")

这时可以通过更换镜像解决该问题,使用如下命令更换镜像:

repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify --repo-url=https://gerrit-googlesource.proxy.ustclug.org/git-repo

执行repo sync命令会下载主干代码,时间较长。

下载完OpenHarmony主干代码后,需要下载三个润和软件提供的子仓库(如果源码中已经有这三个仓库则可不单独下载):

注意,这三个代码子仓库的仓库名分别代表了该代码需要存放在OpenHarmony中的相对路径,例如device_soc_winnermicro这一仓库需要存放在OpenHarmony源码根目录下面的device/soc/winnermicro路径下。

另外两个仓库同理。Vendor目录下如果源码中已经存在有hihope目录,需删除该目录并替换为润和提供的vendor_hihope仓库代码。

编译工具链下载,从平头哥网站下载csky交叉编译工具链:https://occ.t-head.cn/community/download?id=3885366095506644992 选择下载 csky-elfabiv2-tools-x86_64-minilibc-20210423.tar。下载后解压并将解压得到的bin目录路径添加到PATH。设置完后执行csky-elfabiv2-gcc -v如果有输出gcc版本号,则说明设置成功,可以进行源码编译。

安装hb,运行下面命令安装:

sudo apt-get install python3-setuptools python3-pip -y #如果没安装pip,要安装
pip3 uninstall ohos-build # 如果安装了hb,先卸载
pip3 install build/lite

设置环境变量:

vim ~/.bashrc
export PATH=~/.local/bin:$PATH
source ~/.bashrc

执行hb -h,有打印以下信息即表示安装成功

![19](https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=abb3b6aed958ae83de0e0906ca3408dc "19")

如果提示类似:Unhandled error: cannot import name 'Mapping' from 'collections'的错误信息,则需要将~/.local/lib/python3.10/site-packages/prompt_toolkit/styles/from_dict.py的"from collections import Mapping" 改为"from collections.abc import Mapping"即可。

推荐使用的烧录工具是联盛德官方的软件Upgrade Tools,可在联盛德官网下载,本文档编写时最新版本为v1.4.13。该软件自带串口调试功能,可以接收和发送串口数据,无需另外下载串口调试助手。

构建示例:在OpenHarmony根目录执行hb set,选择

![20](https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=e9ca922fd919ff6c8f6af05ba98a40a7 "20")

neptune_iotlink_demo,然后执行hb build -f即可开始构建编译润和提供的测试示例,如果build执行后出现下面图中的错误提示

![21](https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=e21d1d385ee3bdadd0ce15ffe45b2b82 "21")

则需要去掉单元测试功能,安照下面方法关闭测试功能:

在vendor目录下的config.json中可删除xts、kv_store、文件管理子系统,保留kernel、startup、hiviewdfx、distributedschedule等必要的子系统,可移除如下代码段: 在bin_list字段中将其enable字段设置为fales,重新build即可编译通过。

![22](https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=5e50af87690ebcc141ad7119dd981a38 "22")

OpenHarmony启动时,串口输出信息如上图所示。

页面列表

ITEM_HTML