当前位置: 首页 > 科技观察

跟着小白一起学鸿蒙之运行OpenHarmony

时间:2023-03-21 01:22:18 科技观察

关注小白学习如何运行OpenHarmony??了解更多开源请访问:开源基础软件社区https://ost.51cto.comgraphLRA[构建库和tools]-->B(配置远程访问环境)-->M(编译image和sdk)-->N(运行测试集群)x[burning]-->N(运行测试集群)N->C{是否有bug}C-->|NotAppeared|D[Result1:passed:51]C-->|出现|E【Result2:errordebuggingbug】搭建标准系统环境1、基础环境Windows系统为:Windows1164位系统。Ubuntu虚拟机:Ubuntu20.04版本,建议16GB以上内存,建议最大处理器数,建议300GB以上硬盘空间。硬件:RK3568(可以是DAYU200)工具软件:VsCode(代码编辑工具)、MobaXterm(远程连接工具)Windows和Ubuntu系统的用户名不能包含中文。2、安装必要的库和工具(1)使用apt-get命令安装后续操作需要的库和工具sudoapt-getupdate&&sudoapt-getinstallbinutilsbinutils-devgitgit-lfsgnupgflexbisongperfbuild-essentialzipcurlzlib1g-devgcc-multilibg+±multilibgcc-arm-linux-gnueabilibc6-dev-i386libc6-dev-amd64lib32ncurses5-devx11proto-core-devlibx11-devlib32z1-devccachelibgl1-mesa-devlibxml2-utilsxsltprocunzipm4bcgnutls-binpython3.8python3-pipruby??genext2fsdevice-tree-compilermakelibffi-deve2fsprogspkg-configperlopenssllibssl-devlibelf-devlibdwarf-devu-boot-toolsmtd-utilscpiodoxygenliblz4-toolopenjdk-8-jregccg++texinfodosfstoolsmtoolsdefault-jredefault-jdklibncurses5apt-utilswgetsconspython3.8-distutilstarrsyncgit-corelibxml2-devlib32z-devgrsyncxxdlibglibpixman2。0--1-devkmodjfsutilsreiserfsprogsxfsprogssquashfs-toolspcmciautilsquotappplibtinfo-devlibtinfo5libncurses5-devlibncursesw5libstdc++6gcc-arm-none-eabivimssh语言环境[1](2)设置python版本设置python3.8为默认python版本查看python3.8的位置:whichpython3.8switchpythonandpython3topython3.8[2]:sudoupdate-alternatives--install/usr/bin/pythonpython{python3.8path}1#{python3.8path}是上一步查看的python3.8的位置sudoupdate-alternatives--install/usr/bin/python3python3{python3.8path}1#{python3.8path}是上一步查看到的python3.8的位置3、修改shell环境将UbuntuShell环境改成bash。执行以下命令以确认输出是bash。如果输出不是bash,则按照步骤2将Ubuntushell改为bash。ls-l/bin/sh打开终端工具,执行以下命令,输入密码,然后选择No,将Ubuntushell由dash改为猛击。sudodpkg-重新配置dash4。配置Windows远程访问Ubuntu环境(1)安装SSH服务,获取远程访问的IP地址。在Ubuntu系统中,打开终端工具,执行以下命令[3],安装SSH服务。sudoapt-getinstallopenssh-server执行以下命令启动SSH服务。sudosystemctlstartssh执行以下命令获取当前用户的IP地址,用于Windows系统远程访问Ubuntu环境。ifconfig(2)安装RemoteSSH在Windows系统下打开VisualStudioCode,点击,在插件市场的搜索输入框中输入“remote-ssh”。单击Remote-SSH的安装按钮以安装Remote-SSH。安装成功后,在INSTALLED下可以看到Remote-SSH已经安装好了。(3)远程连接Ubuntu环境,打开Windows系统的VisualStudioCode,点击,在REMOTEEXOPLORER页面点击+按钮。在弹出的SSH连接命令输入框中输入“sshusername@ip_address”,其中ip_address为要连接的远程计算机的IP地址,username为登录远程计算机的账号。在弹出的输入框中选择SSH配置文件,选择默认第一个选项。在SSHTARGETS中找到远程电脑,点击![zh-cn_image_0000001194080414]打开远程电脑。在弹出的输入框中选择Linux,选择Continue,输入远程电脑的密码,连接到远程电脑。[4]5.获取源码准备工作注册码云gitee账号。注册码云SSH公钥。安装git客户端和git-lfs。(以上工具已在Installingnecessarylibrariesandtools一节中安装,如已安装请忽略)。更新软件源:sudoapt-getupdate通过以下命令安装:sudoapt-getinstallgitgit-lfs配置用户信息。gitconfig--globaluser.name"yourname"gitconfig--globaluser.email"your-email-address"gitconfig--globalcredential.helperstore执行以下命令安装码云repo工具。以下命令中的安装路径以“~/bin”为例,请自行创建所需目录。mkdir~/bincurlhttps://gitee.com/oschina/repo/raw/fork_flow/repo-py3-o~/bin/repochmoda+x~/bin/repopip3install-ihttps://repo.huaweicloud.com/repository/pypi/simple请求将repo添加到环境变量。vim~/.bashrc#编辑环境变量exportPATH=~/bin:$PATH#在环境变量末尾添加一行repo路径信息source~/.bashrc#应用环境变量openharmony3的下载命令。2beta2[5]:mkdiroh32cdoh32repoinit-ugit@gitee.com:openharmony/manifest.git-bOpenHarmony-3.2-Beta2--no-repo-verifyreposync-crepoforall-c'gitlfspull'executeprebuiltsinsourceroot执行目录下的prebuilts脚本安装编译器和二进制工具。bashbuild/prebuilts_download.sh6.安装编译工具hb是OpenHarmony的编译工具,在Ubuntu下可以通过以下步骤安装。运行以下命令安装hb并更新到最新版本:pip3install--userbuild/lite设置环境变量:vim~/.bashrc将以下命令复制到.bashrc文件的最后一行,保存退出。(vim/vi的命令和操作)。exportPATH=~/.local/bin:$PATH执行以下命令更新环境变量。source~/.bashrc在源码目录下执行“hb-h”,界面打印如下信息,表示安装成功:可以使用如下命令卸载hb:pip3uninstallohos-build7,安装完成后运行查看可执行版本~/oh32$lsproductdefine/common/products/。显示结果。hrt@ubuntu:~/oh32/productdefine/common/products$lsDAYU.jsonHi3516DV300.jsonohos-arm64.jsonohos-sdk.jsonrk3568.json编译3568镜像,生成的镜像文件在这里。./build.sh--product-namerk3568编译开源鸿蒙sdk,生成的工具文件在out/sdk/ohos-sdk文件夹下,有两个子文件夹(windows|linux),复制windows文件夹即可到windowsHost,然后在工具链中可以看到hdc_std.exe./build.sh--product-nameohos-sdk烧录工程分区配置文件,烧录前准备。按照图片提示连接电源线、usb线、网线。下图左边蓝色的是usb线,直接连接电脑;下面中间的黑线是网线,通过usb转网口连接电脑(所以电脑上会有两个网卡;右下角是电源线。下载烧录工具。烧录工具下载链接:https://gitee.com/hihope_iot/docs/tree/master/HiHope_DAYU200/烧录工具和指南。拷贝分区配置文件。在moba上完成分区配置文件,镜像文件目录是拷贝一份并下载/out/rk3568/packages/phone/images/(开源鸿蒙工具文件目录oh32/out/sdk/ohos-sdk/windows),打开烧录工具,双击windows\RKDevTool.exe打开烧录工具,如图,默认为Maskrom模式[6]:master之前的版本或者3.1Release版本,对于老版本,我们只需要如下配置即可,双击白色后面的按钮,查看需要烧录的固件,确认开发板是否是在燃烧模式。①如果界面显示“foundaLOADERdevice”,表示开发板进入Loader模式,等待烧写固件。②如果界面显示“foundaMASKROMdevice”,说明开发板进入Maskrom模式,等待烧写固件。③如果界面显示“Nodevicefound”,说明开发板还没有进入编程模式。请按照以下步骤让开发板进入编程模式。A。按住VOL-/RECOVERY键和RESET键不松开,烧录工具会显示“找不到设备”。b.松开RESET键,电脑会显示“检测到一个新的USB设备”。连接上主机后,烧录工具会显示“foundaloaderdevice”,表示此时已经进入烧录模式。c.松开按键,等待几秒,点击Execute开始烧录。注意:如果烧写成功,工具界面右侧会显示下载完成。如果烧录失败,工具界面右侧会以红色字体显示烧录错误信息。有关更多错误信息,请检查:Log目录中的文件。设备连接及IP配置1.连接确保板子连接正常,电脑会显示“检测到新的usb设备”,连接到电脑主机。2、共享网络开发板通过USB口连接电脑后,电脑的网络设置中会有两个网卡。以笔者的电脑为例:Ethernet2是电脑联网的适配器,Ethernet3是电脑连接开发板的适配器。为了让开发板上网,需要设置以太网2共享连接(如下图),让以太网3通过以太网2连接到互联网。3.检查电脑网络适配器ip并在cmd中查询。C:\Users\kaihong>ipconfigEthernet2192.168.62.26(电脑网络ip地址)Ethernet3192.168.137.1(电脑ip地址和开发连接)4.登录开发板的shell通过hdc工具[7]//ohos-sdk编译生成hdc_std.exe工具文件,需要复制到windows环境hdc_std.exe在toolchains目录下F:\windows\toolchains>hdc_std.exeshell5,设置开发板ip地址//启动网卡eth0#ifconfigeth0up//设置网卡IP地址#ifconfigeth0192.168.137.1056,查看开发板是否连接电脑#ping192.168.137.17、配置开发板网络调试端口(hdcd网络调试配置)paramsetpersist.hdc.modeallparamsetpersist.hdc.port10178//设置配置完成后需要重启开发板reboot8,启动hdc服务,在newter中启动serverUbuntu的最小窗口(无法关闭)。//hdc_std是编译openharmonysdk后生成的工具,hdc_std-m-s0.0.0.0:87109,绑定开发板调试串口hdc_std-s127.0.0.1:8710tconn192.168.137.105:10178编译OpenHarmony测试套件//你可以配置环境变量vi~/.bashrc//在文件末尾添加exportXTS_SUITENAME=acts启动acts测试集群//配置环境变量source~/.bashrc//编译测试套件./build.sh--product-namerk3568--gn-argsbuild_xts=true--build-target"acts"--gn-argsis_standard_system=true运行测试集群1.确保hdc_std正常连接-s127.0.0.1:8710tconn192.168.137.105:101782,在~/oh32/out/rk3568/suites/acts目录下启动xdevice。python-mxdevice3,测试~/oh32/out/rk3568/suites/acts/testcases目录下的测试文件ActsZlibTest。run-lActsZlibTest4,results[2022-08-0201:47:24,762][ReporterHelper][INFO][生成数据报告:/home/hrt/oh32/out/rk3568/suites/acts/reports/2022-08-02-01-46-51/summary_report.xml][2022-08-0201:47:24,980][ResultReporter][INFO][摘要结果:模块:1,运行模块:1,总计:51,通过:51,失败:0,被阻止:0,被忽略:0,不可用:0]一些可能的bugxdevice不完整。问题描述:~/oh32/out/rk3568/suites/acts$./run.sh找不到xdevice包!解决方法:安装xdevice相关包。~$cdoh32/test/xdevice~/oh32/test/xdevice$sudopythonsetup.pyinstall~/oh32/test/xdevice$cdextension~/oh32/test/xdevice/extension$sudopythonsetup.py安装服务器进程存在。问题描述:其他实例已经运行。解决方法:kill-9pid关闭进程。总结本文主要介绍开源鸿蒙下载、编译、烧录、测试套件的程序操作。下一期,我们将学习如何编译开发helloworld程序。因为代码太长,安装的时候可能会出现不知道哪个部分没有安装的问题。解决方案:拆分!请记住在每个段落中添加sudoapt-getinstall。??由于前期没有完全搭建好库和工具,所以报错。错误提示:python必须设置为整数版本。解决方法:sudoln-s/usr/bin/python3/usr/bin/python??如果这条命令执行失败,会提示openssh-server和openssh-client依赖版本不同。请根据CLI界面的提示信息相应安装openssh-client之后的版本(例如:sudoapt-getinstallopenssh-client=1:8.2p1-4),再次执行该命令安装openssh-server。??连接成功后,等待远程电脑自动安装插件。使用指定用户名完成远程连接,即可在moba界面下进行Ubuntu目录查看、文件复制、开发编译等操作。??repobug:fatalcannotmake.repodirectorypermissiondenied.解决方法`lsdirectorycd/usr/bin/ls/usr/binsudochmod+xrepocdlsmkdiroh32(新建一个文件夹目录)cd这个文件夹??如果下载的固件是5月9日trunk(master)上午11点后的branch。需要导入镜像包中的config.cfg配置选择烧录这个文件(3.2版本烧录时也是如此)。导入新配置后,misc、sys-prod、chip-prod这三个分区没有镜像(预留位置),编程时无法查看。??hdc_stdlisttargets可以查看设备表;ps辅助|grephdc可以查看正在运行的hdc,如果其他hdc被占用,可以使用kill-9pid或者hdc_stdstart-r重启。??了解更多开源知识,请访问:开源基础软件社区https://ost.51cto.com。