W800开发套件鸿蒙系统教程

W800开发套件鸿蒙系统教程


6.2 OpenHarmony开发环境搭建

<p>下载OpenHarmony源码,这里介绍从Gitee下载,前提条件:</p> <ol> <li>注册码云gitee帐号</li> <li>注册码云SSH公钥,请参考码云官方介绍:<a href="https://gitee.com/help/articles/4191">https://gitee.com/help/articles/4191</a></li> <li>安装git客户端和git-lfs并配置用户信息:</li> </ol> <pre><code>git config --global user.name "yourname" git config --global user.email "your-email-address" git config --global credential.helper store </code></pre> <ol> <li>安装码云repo工具,可以执行如下命令</li> </ol> <pre><code>curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 &gt; /usr/local/bin/repo #如果没有权限,可下载至其他目录,并将其配置到环境变量中 chmod a+x /usr/local/bin/repo pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests </code></pre> <p>在Ubuntu系统中可以直接通过<code>sudo apt install repo</code>命令来安装repo工具。安装git-lfs工具,执行命令:<code>sudo apt install git-lfs</code></p> <p>OpenHarmony主干代码获取:</p> <pre><code>repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify repo sync -c repo forall -c 'git lfs pull' </code></pre> <p>执行<code>repo init</code>的时候会遇到如下图显示的连接错误</p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=f39c1e81d7f7feb1ddf9fc6440be05ca" alt="18" title="18" /></p> <p>这时可以通过更换镜像解决该问题,使用如下命令更换镜像:</p> <pre><code>repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify --repo-url=https://gerrit-googlesource.proxy.ustclug.org/git-repo</code></pre> <p>执行repo sync命令会下载主干代码,时间较长。</p> <p>下载完OpenHarmony主干代码后,需要下载三个润和软件提供的子仓库(如果源码中已经有这三个仓库则可不单独下载):</p> <ul> <li><a href="https://gitee.com/openharmony/device_soc_winnermicro">https://gitee.com/openharmony/device_soc_winnermicro</a></li> <li><a href="https://gitee.com/openharmony-sig/device_board_hihope">https://gitee.com/openharmony-sig/device_board_hihope</a></li> <li><a href="https://gitee.com/openharmony/vendor_hihope">https://gitee.com/openharmony/vendor_hihope</a></li> </ul> <p>注意,这三个代码子仓库的仓库名分别代表了该代码需要存放在OpenHarmony中的相对路径,例如device_soc_winnermicro这一仓库需要存放在OpenHarmony源码根目录下面的device/soc/winnermicro路径下。</p> <p>另外两个仓库同理。Vendor目录下如果源码中已经存在有hihope目录,需删除该目录并替换为润和提供的vendor_hihope仓库代码。</p> <p>编译工具链下载,从平头哥网站下载csky交叉编译工具链:<a href="https://occ.t-head.cn/community/download?id=3885366095506644992">https://occ.t-head.cn/community/download?id=3885366095506644992</a> 选择下载 csky-elfabiv2-tools-x86_64-minilibc-20210423.tar。下载后解压并将解压得到的bin目录路径添加到PATH。设置完后执行csky-elfabiv2-gcc -v如果有输出gcc版本号,则说明设置成功,可以进行源码编译。</p> <p>安装hb,运行下面命令安装:</p> <pre><code>sudo apt-get install python3-setuptools python3-pip -y #如果没安装pip,要安装 pip3 uninstall ohos-build # 如果安装了hb,先卸载 pip3 install build/lite </code></pre> <p>设置环境变量:</p> <pre><code>vim ~/.bashrc export PATH=~/.local/bin:$PATH source ~/.bashrc </code></pre> <p>执行<code>hb -h</code>,有打印以下信息即表示安装成功</p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=abb3b6aed958ae83de0e0906ca3408dc" alt="19" title="19" /></p> <p>如果提示类似:Unhandled error: cannot import name 'Mapping' from 'collections'的错误信息,则需要将~/.local/lib/python3.10/site-packages/prompt_toolkit/styles/from_dict.py的&quot;from collections import Mapping&quot; 改为&quot;from collections.abc import Mapping&quot;即可。</p> <p>推荐使用的烧录工具是联盛德官方的软件Upgrade Tools,可在联盛德官网下载,本文档编写时最新版本为v1.4.13。该软件自带串口调试功能,可以接收和发送串口数据,无需另外下载串口调试助手。</p> <p>构建示例:在OpenHarmony根目录执行<code>hb set</code>,选择</p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=e9ca922fd919ff6c8f6af05ba98a40a7" alt="20" title="20" /></p> <p>neptune_iotlink_demo,然后执行hb build -f即可开始构建编译润和提供的测试示例,如果build执行后出现下面图中的错误提示</p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=e21d1d385ee3bdadd0ce15ffe45b2b82" alt="21" title="21" /></p> <p>则需要去掉单元测试功能,安照下面方法关闭测试功能:</p> <p>在vendor目录下的config.json中可删除xts、kv_store、文件管理子系统,保留kernel、startup、hiviewdfx、distributedschedule等必要的子系统,可移除如下代码段: 在bin_list字段中将其enable字段设置为fales,重新build即可编译通过。</p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=5e50af87690ebcc141ad7119dd981a38" alt="22" title="22" /></p> <p>OpenHarmony启动时,串口输出信息如上图所示。</p>

页面列表

ITEM_HTML