本帖最后由 l_xy 于 2021-12-25 15:32 编辑
本文主要介绍windows环境下RK3568 开发板全流程操作梳理,供参考,含代码下载、版本编译、烧写、测试套编译、执行等操作梳理(注:除过烧写和用例执行,其他代码下载编译等都是在Ubuntu环境下操作,建议个人用户家目录下存放个人数据:工具安装、代码下载等),代码上库和hdc的相关命令操作等参考本人另一篇OpenH ARMony-代码操作总结相关部分。
一、板子组装 二、WSL2安装 三、获取源码 注册码云gitee账号 注册码云SSH公钥 安装git客户端和git-lfs并配置用户信息 安装repo工具 下载主干master分支源码 四、编译 编译环境准备 版本编译 daily构建版本或转测版本获取 五、烧写 六、Hdc工具连接设备 七、 测试套编译和执行
写在前面可参考 PS:使用wsl2作为Windows下Ubuntu环境时提升代码编译等效率的几个点:
1.安装完wsl后,检查wsl的版本,确保是版本2(cmd执行wsl -l -v查看,如果不是,可通过wsl.exe -set-version Ubuntu-20.04 2转换成版本2)。
3.默认是安装在系统盘的,可安装完后迁移到非系统盘。
4.OpenHarmony代码相关操作建议在wsl2个人用户家目录下操作。
一、板子组装
板子组装按照方便,使用安全组装即可,注意屏幕和摄像头的排线插的顺序,插反可能会导致屏幕不亮、摄像头不能用等情况
二、WSL2安装InsStep: 1.打开设置->安全和更新->开发者选项,选择为“开发人员模式”; 2.Win + R运行control appwiz.cpl指令,在启用或关闭Windows功能中勾选适用于Linux的Windows子系统和虚拟机平台两项启用,重启(注:没有虚拟机平台的,请升级Windows系统,Win10 版本号为 2004(内部版本19041或更高),); 3.以管理员身份打开PowerShell并运行:dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 开启Windows子系统功能; 4.打开Microsoft Store搜索Ubuntu,安装Ubuntu20.04:
5.安装完直接打开,设置用户名和密码以及root用户密码:
6.安装完成,用户账号设置好之后,打开命令行窗口执行wsl -l -v查看下wsl的版本(注:cmd,wsl找不到的请更新windows版本),确保是wsl2,如果是版本1,可执行wsl.exe --set-version Ubuntu-20.04 2命令升级为版本2,执行后等待转换完成即可!!注意一定要是WSL2,如果是版本1,编译速度会慢几十倍! PS:执行 wsl.exe --set-version Ubuntu-20.04 2出现内核组件问题,先下载安装
wsl_update_x64.msi后,在执行切换命令,即可开始转换,等待转换完成即可。
8.wsl2安装完成后,切换软件源为国内软件源: s1:备份原来的源:
- cp -ra /etc/apt/sources.list /etc/apt/sources.list.bak
复制代码
s2: 将源换成阿里源:sudo gedit /etc/apt/sources.list,将里面的内容清空,把下面的内容复制进去,保存退出 s3: 更新缓存和升级: sudo apt-get update
sudo apt-get upgrade
PS:按上述步骤切换软件源后可解决一Ubuntu20.04一些依赖工具安装失败的问题
三、获取源码代码初次下载需要做一些前期准备工作:主要有码云gitee账号注册、添加码云SSH公钥、安装git和git-lfs、配置用户信息、repo工具安装 注册码云gitee账号电话号码注册即可,并添加工作邮箱为主邮箱,如图:
注册码云SSH公钥如图:
安装git客户端和git-lfs并配置用户信息安装git客户端 执行: sudo apt install git-all
安装git-lfs 依次执行以下命令:
配置用户信息 git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store
安装repo工具安装码云repo工具,由于权限可切换到root用户下安装,安装后再切换个人用户目录操作既可: 执行:
chmod a+x /usr/local/bin/repo
下载主干master分支源码 repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
rk3568对应仓库
device/hihope/rk3568
四、编译代码下载后初次编译需要做一些前期准备工作:主要有依赖工具安装、预编译 编译环境准备 S1:安装依赖工具
- sudo apt-get update && sudo apt-get install binutils git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev libtinfo5 lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby
复制代码
S2:执行prebuilts,在源码根目录下执行,安装编译器及二进制工具 bash build/prebuilts_download.sh版本编译进入源码根目录,执行:
- ./build.sh --product-name rk3568 --ccache
复制代码
编译结果 编译完成后,log显示如下: 镜像路径:outrk3568packagesphoneimages daily构建版本或转测版本获取daily构建版本
http://ci.openharmony.cn/dailybuilds
PS:hdc工具除过自己本地编译,也可以从流水线构建本下载: daily构建版本
转测版本
Release-Testing-Version.md · OpenHarmony-SIG/oh-inner-release-management - Gitee.com
五、烧写u***驱动安装 双击代码路径openharmonyMasterdevicehihoperk3568toolswindowsDriverAssitantDriverInstall.exe安装u***驱动 烧写
双击代码路径下openharmonyMasterdevicehihoperk3568toolswindowsRKDevTool.exe(工具可copy到Windows本地)打开烧写工具,工具界面击烧写步骤如图所示: PS:
烧写的镜像文件Loader和Parameter由设备厂商制定,不用烧写,Uboot如果不改内核的话,也不用烧写。
六、Hdc工具连接设备hdc的版本和设备版本保持一致,可自己编译最新hdc工具:源码根目录执行./build.sh --product-name ohos-sdk --ccache,直接copy到本地路径(可将hdc_std.exe改为hdc.exe方便点)加入环境变量,如图:
七、 测试套编译和执行测试套编译 到/test/xts/acts目录下执行./build.sh product_name=rk3568 system_size=standard target_subsystem=××××可编译单个子系统测试套 编译结果查看:/out/rk3568/suites/acts/
用例执行编译生成的可执行文件(C++用例等)和hap包(js用例等)在testcases目录下,用例执行可以将可执行文件或hap包通过hdc send到设备制定目录,通过./***或aa start的方式执行,也可以连接设备后,将编译生成的acts文件夹coay到Windows本地,cmd命令行进入acts目录,运行run.bat,然后执行run acts的方式开始执行用例,用例执行的报告和log会在acts目录下生成。 PS:运行run.bat依赖于编译生成的tools文件夹下的工具,tools文件夹如果为空,请检查编译工具是否安装全。 举个例子 以本地手动执行js测试用例为例,ps:安装到设备上的应用信息,可通过bm dump -命令查看,比如应用包名,应用Mainability等,C++用例直接将可执行文件send到设备指定目录,chmod权限后,./***执行即可。 如图: S1:子系统测试套编译
S2:hap安装
S3:启动应用执行测试用例,并将hilog日志保存到本地方便产看
日志查看:
PS:rk3568开发板的测试套执行和hdc操作和L2-3516是一样的,可参考OpenHarmony-L2操作总结
PS:代码上库,issue创建等参考OpenHarmony代码操作总结代码上库部分
|