OpenHarmony-RK3568开发板操作梳理

镜像下载、域名解析、时间同步请点击 阿里云开源镜像站

写在前面可参考

PS:使用wsl2作为Windows下Ubuntu环境时提升代码编译等效率的几个点:

1.安装完wsl后,检查wsl的版本,确保是版本2(cmd执行wsl -l -v查看,如果不是,可通过wsl.exe -set-version Ubuntu-20.04 2转换成版本2)

2.wsl2安装完成后,切换软件源为国内软件源,可参考(亲测好用) Ubuntu20.04换阿里源(解决安装build-essential失败问题)_AnChenliang

3.默认是安装在系统盘的,可安装完后迁移到非系统盘

4.OpenHarmony代码相关操作建议在wsl2个人用户家目录下操作

一、板子组装

板子组装按照方便,使用安全组装即可,注意屏幕和摄像头的排线插的顺序,插反可能会导致屏幕不亮、摄像头不能用等情况。

file

二、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:

file

5.安装完直接打开,设置用户名和密码以及root用户密码:

file

6.将Ubuntu Shell环境修改为bash

执行sudo dpkg-reconfigure dash,选择No,将Ubuntu shell由dash修改为bash

file

如图,执行ls -l /bin/sh查看:

file

7.python3环境

Ubuntu20已自带python3.8.5,执行sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150切换python3:

file

安装pip3

$ sudo apt-get -y update

$ sudo apt-get install python3-pip

8.安装完成,用户账号设置好之后,打开命令行窗口执行wsl -l -v查看下wsl的版本(注:cmd,wsl找不到的请更新windows版本),确保是wsl2,如果是版本1,可执行wsl.exe --set-version Ubuntu-20.04 2命令升级为版本2,执行后等待转换完成即可!!注意一定要是WSL2,如果是版本1,编译速度会慢几十倍!

file
file

PS:执行wsl.exe --set-version Ubuntu-20.04 2出现内核组件问题,先下载安装
wsl_update_x64.msi后,在执行切换命令,即可开始转换,等待转换完成即可。

9.wsl2迁移参考OpenHarmony代码操作总结wsl迁移部分

10.wsl2安装完成后,切换软件源为国内软件源:

s1:备份原来的源:cp -ra /etc/apt/sources.list /etc/apt/sources.list.bak

s2: 将源换成阿里源:sudo gedit /etc/apt/sources.list,将里面的内容清空,把下面的内容复制进去,保存退出

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

s3: 更新缓存和升级:

sudo apt-get update

sudo apt-get upgrade

PS:按上述步骤切换软件源后可解决一Ubuntu20.04一些依赖工具安装失败的问题

11.WSL映射到本地

file

如图:

本地方便查看

file

三、获取源码

代码初次下载需要做一些前期准备工作:主要有码云gitee账号注册、添加码云SSH公钥、安装git和git-lfs、配置用户信息、repo工具安装

注册码云gitee账号

电话号码注册即可,并添加工作邮箱为主邮箱,如图:

file

注册码云SSH公钥

参考码云 生成/添加SSH公钥

如图:

file

如图,检测公钥是否添加成功:

file

安装git客户端和git-lfs并配置用户信息

安装git客户端

执行:

sudo apt install git-all

安装git-lfs

依次执行以下命令:

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash

sudo apt-get install git-lfs

git lfs install

配置用户信息

git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store

安装repo工具

安装码云repo工具,由于权限可切换到root用户下安装,安装后再切换个人用户目录操作既可:

执行:

 curl 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://pypi.tuna.tsinghua.edu.cn/simple requests

下载主干master分支源码

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

ps:git lfs

file

rk3568对应仓库

device/hihope/rk3568

file

四、编译

代码下载后初次编译需要做一些前期准备工作:主要有依赖工具安装、预编译

编译环境准备

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 genext2fs liblz4-tool libssl-dev libtinfo5 lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby

S2:执行java --version看是否有java的环境,没有的话安装下

sudo apt install openjdk-17-jre-headless

如图:

file
file

S3:执行prebuilts,在源码根目录下执行,安装编译器及二进制工具

bash build/prebuilts_download.sh

版本编译

进入源码根目录,执行:

./build.sh --product-name rk3568 --ccache

编译结果

编译完成后,log显示如下:

file

镜像路径:\out\rk3568\packages\phone\images\

file

daily构建版本或转测版本获取

daily构建版本

http://ci.openharmony.cn/dailybuilds

file

PS:hdc工具除过自己本地编译,也可以从流水线构建本下载:

file

转测版本

Release-Testing-Version.md · OpenHarmony-SIG/oh-inner-release-management - Gitee.com

file

五、烧写

烧写所需驱动和工具获取

usb驱动安装

双击windows\DriverAssitant\DriverInstall.exe安装usb驱动

正常烧写

烧写

双击\windows\RKDevTool.exe打开烧写工具,工具界面击烧写步骤如图所示:

MASKROM模式和LOADER模式两种模式下可供烧写,推荐LOADER模式烧写,非必要不使用MASKROM按键操作烧写。

LOADER模式烧写:板子上电状态,PC usb线连接板子,先按住板子上的Recovery键,然后按一下reset键,待工具界面显示LOADER设备后,松开Recovery键,设备进入loader模式,点击执行开始烧写,如图:

file

MASKROM模式烧写: 设备断开电源状态,PC usb线连接设备,先按住板子上的MASKROM按键,设备上电,待工具界面显示MASKROM设备后,松开MASKROM键,系统进入MASKROM模式,点击执行开始烧写,具体步骤截图与上图一样(注:MASKROM模式烧写,需勾选Loader下载项)。

变砖拯救

烧写时由于烧写不当,比如uboot文件烧错等,导致烧写工具MASKROM和Loader模式都发现不了设备,设备无法启动的情况下,可按照如下操作进行烧写:

Windows下,设备连接电源状态,PC连接设备(通过USB),同时按住reset 键maskrom 按键,然后先松开reset键,待工具界面显示MASKROM设备后,再松开MASKROM键,设备进入MASKROM模式,勾选Loader,MASKROM模式下点击执行开始烧写即可。

如图:沟通Loader下载项,MASKROM模式开始烧写:

file

PS:MaskRom 模式是设备变砖的最后一条防线。强行进入 MaskRom 涉及硬件操作,有一定风险,因此仅在设备进入不了 Loader 模式的情况下,方可尝试 MaskRom 模式。进入 MaskRom 的原理是人为的把 EMMC 的数据脚与地线短接,系统会认为 EMMC 数据出错,从而清除 EMMC 数据。

参考MaskRom模式 — Firefly Wiki

六、Hdc工具连接设备

hdc的版本和设备版本保持一致,可自己编译最新hdc工具:源码根目录执行./build.sh --product-name ohos-sdk --ccache,直接copy到本地路径(可将hdc_std.exe改为hdc.exe方便点)加入环境变量,如图:

file

七、 测试套编译和执行

测试套编译

到/test/xts/acts目录下执行./build.sh product_name=rk3568 system_size=standard target_subsystem=××××可编译单个子系统测试套

编译结果查看:/out/rk3568/suites/acts/

file

用例执行

编译生成的可执行文件(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文件夹如果为空,请检查编译工具是否安装全。

举个例子

1.手动执行

以本地手动执行js测试用例为例,ps:安装到设备上的应用信息,可通过bm dump -命令查看,比如应用包名,应用Mainability等,C++用例直接将可执行文件send到设备指定目录,chmod权限后,./***执行即可。

如图:

S1:子系统测试套编译

file

S2:hap安装

file

S3:启动应用执行测试用例,并将hilog日志保存到本地方便产看

file

日志查看:

file

2.xdevice自动执行

本地环境需求:python(最好python3.7)、安装pthon依赖包setuptools,最新版本的hdc_std,并将hdc_std.ext的路径加入到环境变量path中;

file

1>.将测试套编译生生成\out\rk3568\suites\目录下的acts文件夹copy到本地任意目录方便执行

file

2>.cmd进入acts所在目录运行acts目录下的run.bat脚本:

file

ps:可执行list查看本地设备是否连接成功:

file

3>.执行run acts即可自动化开始全量执行acts目录下所有的用例并完成执行报告解析以及日志收集等:

ps:按模块执行(具体模块可以查看\acts\testcases):run –l ActsResourcescheduleReminderAgentTest

file

用例执行报告查看:

file
file

日志查看:

file

八、串口调试

file

S1.用串口线连接 PC 与开发板,在设备管理器查看端口

file

S2.使用IPOP工具或者其他串口工具(有些串口工具可能不支持,连接上打印乱码,目前试过的IPOP和securtCRT 是OK的,XShell不行)通过串口连接设备,串口波特率配置为 1500000,如图:

file

S3.确定连接

连接后就可以进行debug调试,查看串口打印等操作

file

本文转自:https://blog.csdn.net/nanzhanfei/article/details/121951919

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容