电子说
YY3568开发板
YY3568开发板是基于Rockchip RK3568 芯片平台设计的开发板,四核 64Cortex-A55 核,主频最高达 2GHz,集成双核心架构GPU以及高效能NPU,芯片性能优异。开发板功能接口丰富,多媒体性能强悍、可在物联网、工业控制、智慧交通、轻量级人工智能等领域发挥独特优势。
板载有 2路DSI、1路HDMI 和 1路edp显示接口。支持双屏异显输出和4K分辨率。强大的显示性能,并且适配了自研的7寸mipi屏和edp屏。在多屏广告机、电子站牌、自助服务机、工业HMI等领域可发挥强大优势以及更低的成本。
板载 2 路千兆 以太网,可通过双网口访问和传输内外网的数据。拥有WIFI/BT,PCIE 3.0接口及 SIM 座,可接 4G 通信模块,提高网络传输效率。满足NVR、工业网关等多网口产品需求。
板载 5路 串口,能够大大降低通信成本。2 路IIC,可接多个IIC设备。1路CAN,能够满足汽车电子领域需求。
板载PCIE3.0和SATA接口,支持固态硬盘M.2,SATA硬盘,可扩展大容量硬盘。
硬件接口定义
YY3568详细的硬件说明
YY3568正面硬件描述
YY3568背面硬件描述
固件升级及调试
官方开发板默认支持系统
Android系统
开发指南
Debian系统
开发板支持配件
对YY3568开发板提供了丰富的配件,包括显示屏,摄像头,雷达,通信模块等
适配OpenHarmony到YY3568
适配准备知识
OpenHarmony是华为开源出来的一个操作系统,目前支持4个内核,分别为:liteos_m,liteos_a,uniproton,linux。而我们本次移植适配的内核是Linux。
如果从0开始移植是非常麻烦的,润和公司已经针对DAYU200开发板(核心RK3568)适配了OpenHarmony。所以我们可以基于这个开发板来适配YY3568开发板。
OpenHarmony的linux内核支持两个版本,分别:4.19和5.10。DAYU200开发板是基于内核版本5.10做了适配。
适配OpenHarmony,如果该芯片没有人移植的话,我们需要关注三个仓库,分别board仓,soc仓和vendor仓。由于润和公司适配过RK3568,所以我们不用关心soc仓,我们只需要关注两个仓库,分别board仓和vendor仓。
环境搭建
安装依赖工具
安装命令如下:
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 lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby
说明:以上安装命令适用于Ubuntu18.04,其他版本请根据安装包名称采用对应的安装命令。
获取标准系统源码
前提条件
注册码云gitee账号。
注册码云SSH公钥,请参考码云帮助中心。
安装git客户端和git-lfs并配置用户信息。
git config --global user.name "yourname" git config --global user.email "your-email-address" git config --global credential.helper store
安装码云repo工具,可以执行如下命令。
curl -s 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://repo.huaweicloud.com/repository/pypi/simple requests
获取源码操作步骤
通过repo + ssh 下载(需注册公钥,请参考码云帮助中心)。
repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v3.2-Beta5 --no-repo-verify repo sync -c repo forall -c 'git lfs pull'
通过repo + https 下载。
repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v3.2-Beta5 --no-repo-verify repo sync -c repo forall -c 'git lfs pull'
适配YY3568
适配vendor仓
作者已经适配好了对应的vendor仓库,仓库如下:https://gitee.com/RiceChen0/vendor_yy3568
直接克隆适配好的vendor操作流程:
youyootee@youyootee:~/ohos/project/youyootee/yy3568$ cd vendor youyootee@youyootee:~/ohos/project/youyootee/yy3568/vendor$ mkdir youyootee youyootee@youyootee:~/ohos/project/youyootee/yy3568/vendor$ cd youyootee youyootee@youyootee:~/ohos/project/youyootee/yy3568/vendor/youyootee$ git clone https://gitee.com/RiceChen0/vendor_yy3568.git yy3568
适配board仓
作者已经适配好了对应的vendor仓库,仓库如下:https://gitee.com/RiceChen0/board_yy3568
直接克隆适配好的board操作流程:
youyootee@youyootee:~/ohos/project/youyootee/yy3568$ cd device/board/ youyootee@youyootee:~/ohos/project/youyootee/yy3568/device/board$ mkdir youyootee youyootee@youyootee:~/ohos/project/youyootee/yy3568/device/board$ cd youyootee youyootee@youyootee:~/ohos/project/youyootee/yy3568/device/board/youyootee$ git clone https://gitee.com/RiceChen0/board_yy3568.git yy3568
修改依赖
在OpenHarmony中的hdf_core/adapter/khdf/linux/model/audio目录下的Makefile存在芯片板机相关的依赖,这一点是很不友好的,这类基础组件不应该有依赖关系。将Makefile的内容修改如下:
KHDF_AUDIO_BASE_ROOT_DIR = ../../../../../../.. KHDF_AUDIO_KHDF_ROOT_DIR = drivers/hdf/khdf KHDF_FRAMEWORK_ROOT_DIR = drivers/hdf/framework KHDF_AUDIO_ROOT_DIR = ../../../../../framework/model/audio obj-$(CONFIG_DRIVERS_HDF_AUDIO) += $(KHDF_AUDIO_ROOT_DIR)/core/src/audio_core.o $(KHDF_AUDIO_ROOT_DIR)/core/src/audio_host.o $(KHDF_AUDIO_ROOT_DIR)/core/src/audio_parse.o $(KHDF_AUDIO_ROOT_DIR)/common/src/audio_codec_base.o $(KHDF_AUDIO_ROOT_DIR)/common/src/audio_dsp_base.o $(KHDF_AUDIO_ROOT_DIR)/common/src/audio_dai_base.o $(KHDF_AUDIO_ROOT_DIR)/common/src/audio_platform_base.o $(KHDF_AUDIO_ROOT_DIR)/common/src/audio_dma_base.o $(KHDF_AUDIO_ROOT_DIR)/sapm/src/audio_sapm.o $(KHDF_AUDIO_ROOT_DIR)/dispatch/src/audio_stream_dispatch.o $(KHDF_AUDIO_ROOT_DIR)/dispatch/src/audio_control_dispatch.o obj-$(CONFIG_DRIVERS_HDF_AUDIO_RK3568) += $(KHDF_AUDIO_BASE_ROOT_DIR)/device/board/youyootee/yy3568/audio_drivers/ ccflags-$(CONFIG_DRIVERS_HDF_AUDIO) += -lm -lc -lgcc -std=gnu99 -Werror -I$(srctree)/$(KHDF_AUDIO_KHDF_ROOT_DIR)/osal/include -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/include/core -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/include/utils -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/include/osal -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/include/platform -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/include/config -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/include/audio -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/ability/sbuf/include -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/core/common/include/host -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/core/host/include -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/model/audio/core/include -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/model/audio/sapm/include -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/model/audio/dispatch/include -I$(srctree)/$(KHDF_FRAMEWORK_ROOT_DIR)/model/audio/common/include -I$(srctree)/bounds_checking_function/include ccflags-$(CONFIG_DRIVERS_HDF_AUDIO_CAP_REPORT) += -DAUDIO_ENABLE_CAP_THRESHOLD
构建YY3568
安装编译器及二进制工具
在源码根目录执行如下命令:
youyootee@youyootee:~/ohos/project/youyootee/yy3568$ bash build/prebuilts_download.sh Looking in indexes: http://repo.huaweicloud.com/repository/pypi/simple Requirement already satisfied: rich in /home/rice/.local/lib/python3.8/site-packages (13.3.1) Requirement already satisfied: markdown-it-py<3.0.0,>=2.1.0 in /home/rice/.local/lib/python3.8/site-packages (from rich) (2.2.0) Requirement already satisfied: pygments<3.0.0,>=2.14.0 in /home/rice/.local/lib/python3.8/site-packages (from rich) (2.14.0) ..... (from prompt_toolkit==1.0.14) (1.16.0) Requirement already satisfied: wcwidth in ./prebuilts/python/linux-x86/3.9.2/lib/python3.9/site-packages (from prompt_toolkit==1.0.14) (0.2.5) WARNING: You are using pip version 20.2.3; however, version 23.0.1 is available. You should consider upgrading via the '/home/rice/ohos/project/youyootee/yy3568/prebuilts/python/linux-x86/3.9.2/bin/python3.9 -m pip install --upgrade pip' command. youyootee@youyootee:~/ohos/project/youyootee/yy3568$
构建工程
源码根目录执行如下命令:
youyootee@youyootee:~/ohos/project/youyootee/yy3568$ ./build.sh --product-name yy3568 –ccache ++++++++++++++++++++++++++++++++++++++++ The system shell is bash 5.0.17(1)-release ++++++++++++++++++++++++++++++++++++++++ 2023-04-03 17:45:50 --product-name yy3568 –ccache [OHOS INFO] Set cache size limit to 100.0 GB ...... [OHOS INFO] c overall build overlap rate: 1.06 [OHOS INFO] [OHOS INFO] [OHOS INFO] yy3568 build success [OHOS INFO] cost time: 0:13:17 =====build successful===== 2023-04-03 17:59:08 ++++++++++++++++++++++++++++++++++++++++ youyootee@youyootee:~/ohos/project/youyootee/yy3568$
烧录验证
编译完成之后,固件生成到目录:
youyootee@youyootee:~/ohos/project/youyootee/yy3568/out/yy3568/packages/phone/images$ ls boot_linux.img config.cfg parameter.txt resource.img system.img updater.img vendor.img chip_prod.img MiniLoaderAll.bin ramdisk.img sys_prod.img uboot.img userdata.img youyootee@youyootee:~/ohos/project/youyootee/yy3568/out/yy3568/packages/phone/images$
使用RKDevTool.exe烧录固件,在镜像目录中存在一个config.cfg,在RKDevTool.exe导入该配置,导入完配置确定一下你的镜像目录是不是全部正确。
YY3568烧录导入配置
板子按住RECOVERY键,然后上电,这时设备进入loader模式,RKDevTool.exe会显示发现一个LOADER设备,点击执行。
YY3568烧录流程
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !