Blogger Information
Blog 291
fans 0
comment 0
visits 350607
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
OpenHarmony-RK3568开发板操作梳理
Original
1503 people have browsed it

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

写在前面可参考

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

  1. $ sudo apt-get -y update
  2. $ 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,将里面的内容清空,把下面的内容复制进去,保存退出

  1. deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
  2. deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
  3. deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
  4. deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
  5. deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
  6. deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
  7. deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
  8. deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
  9. deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
  10. deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

s3: 更新缓存和升级:

  1. sudo apt-get update
  2. 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客户端

执行:

  1. sudo apt install git-all

安装git-lfs

依次执行以下命令:

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

配置用户信息

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

安装repo工具

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

执行:

  1. curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo
  2. chmod a+x /usr/local/bin/repo
  3. pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

下载主干master分支源码

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

ps:git lfs

file

rk3568对应仓库

device/hihope/rk3568

file

四、编译

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

编译环境准备

S1:安装依赖工具

  1. 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的环境,没有的话安装下

  1. sudo apt install openjdk-17-jre-headless

如图:

file

file

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

  1. bash build/prebuilts_download.sh

版本编译

进入源码根目录,执行:

  1. ./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

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post