0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

触觉智能RK3568_OpenHarmony开发板适配

虹喵小仙女 来源:jf_40637039 作者:jf_40637039 2023-06-07 16:18 次阅读

在这里插入图片描述

触觉智能RK3568_OpenHarmony开发板适配

2023-5-24 master openharmony 4.0.7.3

openharmony版本更新代码会变化,请看当前文件夹其他md

准备环境

确保无任何修改能编译RK3568

docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0

编译方式

./build.sh --product-name rk3568

如果出现

root@3de51292b422:/home/openharmony# hb build -f
[OHOS INFO] Set cache size limit to 100.0 GB
[OHOS INFO] root_out_dir=//out/rk3568
[OHOS INFO] root_build_dir=//out/rk3568
[OHOS INFO] root_gen_dir=//out/rk3568/gen
[OHOS INFO] current_toolchain=//build/toolchain/ohos:ohos_clang_arm
[OHOS INFO] host_toolchain=//build/toolchain/linux:clang_x64
[OHOS INFO] build configs generation is complete.
[OHOS INFO] ERROR at //build/core/gn/BUILD.gn:59:14: Unable to load "/home/openharmony/out/rk3568/build_configs/BUILD.gn".
[OHOS INFO]     deps = [ "$root_build_dir/build_configs:inner_kits" ]
[OHOS INFO]              ^-----------------------------------------
[OHOS INFO] ---------------------------------------------
[OHOS INFO] ccache summary:
[OHOS INFO] cache hit (direct)  : 0
[OHOS INFO] cache hit (preprocessed)  : 0
[OHOS INFO] cache miss  : 0
[OHOS INFO] hit rate:  0.00%
[OHOS INFO] mis rate: 0.00%
[OHOS INFO] ---------------------------------------------
[OHOS INFO] file: /home/openharmony/out/rk3568/.ninja_log not exists
[OHOS INFO] parse file fail
[OHOS ERROR] Please check build log in /home/openharmony/out/rk3568/build.log

请执行下面的命令安装新版本

python -m pip uninstall ohos-build
python -m pip install --user build/hb

适配

复制下面三个文件到device/board/hihope/rk3568/kernel

image-20230524135059560.png

image-20230524135221859.png

修改build_kernel.sh文件

image-20230524192703351.png

image-20230524193029377.png

修改make-ohos.sh文件

image-20230524193332433.png

文件完整内容

device/board/hihope/rk3568/kernel/build_kernel.sh

#!/bin/bash

# Copyright (c) 2021-2023 HiHope Open Source Organization .
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

set -e

pushd ${1}
ROOT_DIR=${5}
export PRODUCT_PATH=${4}
export DEVICE_COMPANY=${6}
export DEVICE_NAME=${7}
export PRODUCT_COMPANY=${8}
KERNEL_FORM=${9}
KERNEL_PROD=${10}
ENABLE_LTO_O0=${11}

KERNEL_SRC_TMP_PATH=${ROOT_DIR}/out/kernel/src_tmp/linux-5.10
KERNEL_OBJ_TMP_PATH=${ROOT_DIR}/out/kernel/OBJ/linux-5.10
KERNEL_SOURCE=${ROOT_DIR}/kernel/linux/linux-5.10
KERNEL_PATCH_PATH=${ROOT_DIR}/kernel/linux/patches/linux-5.10
KERNEL_PATCH=${ROOT_DIR}/kernel/linux/patches/linux-5.10/rk3568_patch/kernel.patch
BUILD_SCRIPT_PATH=${3}
NEWIP_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/newip/apply_newip.sh
XPM_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/xpm/apply_xpm.sh

KERNEL_CONFIG_FILE=${ROOT_DIR}/device/board/hihope/rk3568/kernel/rk3568_standard_defconfig
KERNEL_DTS_FILE=${ROOT_DIR}/device/board/hihope/rk3568/kernel/ido-evb3568-hdmi.dts
KERNEL_DTSI_FILE=${ROOT_DIR}/device/board/hihope/rk3568/kernel/ido-som3568.dtsi
KERNEL_MAKE_OHOS_FILE=${ROOT_DIR}/device/board/hihope/rk3568/kernel/make-ohos.sh


HARMONY_CONFIG_PATH=${ROOT_DIR}/kernel/linux/config/linux-5.10
DEVICE_CONFIG_PATH=${ROOT_DIR}/kernel/linux/config/linux-5.10/${DEVICE_NAME}
DEFCONFIG_BASE_FILE=${HARMONY_CONFIG_PATH}/base_defconfig
DEFCONFIG_TYPE_FILE=${HARMONY_CONFIG_PATH}/type/standard_defconfig
DEFCONFIG_FORM_FILE=${HARMONY_CONFIG_PATH}/form/${KERNEL_FORM}_defconfig
DEFCONFIG_ARCH_FILE=${DEVICE_CONFIG_PATH}/arch/arm64_defconfig
DEFCONFIG_PROC_FILE=${DEVICE_CONFIG_PATH}/product/${KERNEL_PROD}_defconfig

RAMDISK_ARG="disable_ramdisk"
MAKE_OHOS_ENV="GPUDRIVER=mali"
export KBUILD_OUTPUT=${KERNEL_OBJ_TMP_PATH}

source ${BUILD_SCRIPT_PATH}/kernel/kernel_source_checker.sh

for i in "$@"
do
    case $i in
        enable_ramdisk)
            RAMDISK_ARG=enable_ramdisk
            ;;
        enable_mesa3d)
            MAKE_OHOS_ENV="GPUDRIVER=mesa3d"
            ;;
    esac
done

function copy_and_patch_kernel_source()
{
    rm -rf ${KERNEL_SRC_TMP_PATH}
    mkdir -p ${KERNEL_SRC_TMP_PATH}

    rm -rf ${KERNEL_OBJ_TMP_PATH}
    mkdir -p ${KERNEL_OBJ_TMP_PATH}

    cp -arf ${KERNEL_SOURCE}/* ${KERNEL_SRC_TMP_PATH}/

    cd ${KERNEL_SRC_TMP_PATH}

    #HDF patch
    bash ${ROOT_DIR}/drivers/hdf_core/adapter/khdf/linux/patch_hdf.sh ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${KERNEL_PATCH_PATH} ${DEVICE_NAME}

    #kernel patch
    patch -p1 < ${KERNEL_PATCH}

    #newip
    if [ -f $NEWIP_PATCH_FILE ]; then
        bash $NEWIP_PATCH_FILE ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${DEVICE_NAME} linux-5.10
    fi

    #xpm
    if [ -f $XPM_PATCH_FILE ]; then
        bash $XPM_PATCH_FILE ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${DEVICE_NAME} linux-5.10
    fi

    cp -rf ${BUILD_SCRIPT_PATH}/kernel/logo* ${KERNEL_SRC_TMP_PATH}/

    #config
    if [ ! -f "$DEFCONFIG_FORM_FILE" ]; then
        DEFCONFIG_FORM_FILE=
        echo "warning no form config file $(DEFCONFIG_FORM_FILE)"
    fi
    if [ ! -f "$DEFCONFIG_PROC_FILE" ]; then
        DEFCONFIG_PROC_FILE=
        echo "warning no prod config file $(DEFCONFIG_PROC_FILE)"
    fi
    bash ${ROOT_DIR}/kernel/linux/linux-5.10/scripts/kconfig/merge_config.sh -O ${KERNEL_SRC_TMP_PATH}/arch/arm64/configs/ -m ${DEFCONFIG_TYPE_FILE} ${DEFCONFIG_FORM_FILE} ${DEFCONFIG_ARCH_FILE} ${DEFCONFIG_PROC_FILE} ${DEFCONFIG_BASE_FILE}
    mv ${KERNEL_SRC_TMP_PATH}/arch/arm64/configs/.config ${KERNEL_SRC_TMP_PATH}/arch/arm64/configs/rockchip_linux_defconfig

    # cp -rf ${KERNEL_DTS_FILE} ${KERNEL_SRC_TMP_PATH}/arch/arm64/boot/dts/rockchip/ido-evb3568-hdmi.dts
    # cp -rf ${KERNEL_DTSI_FILE} ${KERNEL_SRC_TMP_PATH}/arch/arm64/boot/dts/rockchip/ido-som3568.dtsi
    # cp -rf ${KERNEL_MAKE_OHOS_FILE} ${KERNEL_SRC_TMP_PATH}/make-ohos.sh



    #selinux config patch
    for arg in "$@"; do
        if [ "$arg" = "is_release" ]; then
            echo "close selinux kernel config CONFIG_SECURITY_SELINUX_DEVELOP in release version"
            ${KERNEL_SOURCE}/scripts/config --file ${KERNEL_SRC_TMP_PATH}/arch/arm64/configs/rockchip_linux_defconfig -d SECURITY_SELINUX_DEVELOP
        fi
    done

    if [ $MAKE_OHOS_ENV == "GPUDRIVER=mesa3d" ]; then
        python ${ROOT_DIR}/third_party/mesa3d/ohos/modifyDtsi.py ${KERNEL_SRC_TMP_PATH}/arch/arm64/boot/dts/rockchip/rk3568.dtsi
    fi
}

set +e
is_kernel_change ${ROOT_DIR}
KERNEL_SOURCE_CHANGED=$?
set -e
if [ ${KERNEL_SOURCE_CHANGED}  -ne 0 ]; then
    echo "kernel or it's deps changed, start source update."
    copy_and_patch_kernel_source
else
    echo "no changes to kernel, skip source copy."
fi

cp -rf ${KERNEL_DTS_FILE} ${KERNEL_SRC_TMP_PATH}/arch/arm64/boot/dts/rockchip/ido-evb3568-hdmi.dts
cp -rf ${KERNEL_DTSI_FILE} ${KERNEL_SRC_TMP_PATH}/arch/arm64/boot/dts/rockchip/ido-som3568.dtsi
cp -rf ${KERNEL_MAKE_OHOS_FILE} ${KERNEL_SRC_TMP_PATH}/make-ohos.sh

cd ${KERNEL_SRC_TMP_PATH}

eval $MAKE_OHOS_ENV ./make-ohos.sh EVB3568 $RAMDISK_ARG ${ENABLE_LTO_O0}

mkdir -p ${2}

if [ "enable_ramdisk" != "${12}" ]; then
    cp ${KERNEL_OBJ_TMP_PATH}/boot_linux.img ${2}/boot_linux.img
fi
cp ${KERNEL_OBJ_TMP_PATH}/resource.img ${2}/resource.img
cp ${3}/loader/MiniLoaderAll.bin ${2}/MiniLoaderAll.bin
cp ${3}/loader/uboot.img ${2}/uboot.img

if [ "enable_absystem" == "${14}" ]; then
    cp ${3}/loader/parameter_ab.txt ${2}/parameter_ab.txt
    cp ${3}/loader/config_ab.cfg ${2}/config_ab.cfg
else
    cp ${3}/loader/parameter.txt ${2}/parameter.txt
    cp ${3}/loader/config.cfg ${2}/config.cfg
fi

popd

../kernel/src_tmp/linux-5.10/make-boot.sh ..

if [ ${KERNEL_SOURCE_CHANGED} -ne 0 ]; then
    cp ${ROOT_DIR}/out/kernel/checkpoint/last_build.info ${ROOT_DIR}/out/kernel/checkpoint/last_build.backup
    cp ${ROOT_DIR}/out/kernel/checkpoint/current_build.info ${ROOT_DIR}/out/kernel/checkpoint/last_build.info
    echo "kernel compile finish, save build info."
else
    echo "kernel compile finish."
fi

device/board/hihope/rk3568/kernel/make-ohos.sh

#!/bin/bash

set -e

SCRIPTPATH=$(dirname $realpath "$0")
export PATH=$(realpath $SCRIPTPATH/../../../../)/prebuilts/clang/ohos/linux-x86_64/llvm/bin/:$(realpath $SCRIPTPATH/../../../../)/prebuilts/develop_tools/pahole/bin/:$PATH
export PRODUCT_PATH=vendor/hihope/rk3568
IMAGE_SIZE=64  # 64M
IMAGE_BLOCKS=4096
ENABLE_LTO_O0=${3}

CPUs=`sed -n "N;/processor/p" /proc/cpuinfo|wc -l`
MAKE="make LLVM=1 LLVM_IAS=1 CROSS_COMPILE=aarch64-linux-gnu-"
[ "${ENABLE_LTO_O0}" == "enable_lto_O0" ] && MAKE="${MAKE} KCFLAGS=-Wl,--lto-O0"
BUILD_PATH=boot_linux
EXTLINUX_PATH=${BUILD_PATH}/extlinux
EXTLINUX_CONF=${EXTLINUX_PATH}/extlinux.conf
TOYBRICK_DTB=toybrick.dtb
if [ ${KBUILD_OUTPUT} ]; then
	OBJ_PATH=${KBUILD_OUTPUT}/
fi

ID_MODEL=1
ID_ARCH=2
ID_UART=3
ID_DTB=4
ID_IMAGE=5
ID_CONF=6
model_list=(
	"EVB3568  arm64 0xfe660000 ido-evb3568-hdmi Image rockchip_linux_defconfig"
	"TB-RK3568X0   arm64 0xfe660000 rk3568-toybrick-x0-linux  Image rockchip_linux_defconfig"
	"TB-RK3568X10  arm64 0xfe660000 rk3568-toybrick-x10-linux Image rockchip_linux_defconfig"
)


function help()
{
	echo "Usage: ./make-ohos.sh {BOARD_NAME}"
	echo "e.g."
	for i in "${model_list[@]}"; do
		echo "  ./make-ohos.sh $(echo $i | awk '{print $1}')"
	done
}


function make_extlinux_conf()
{
	dtb_path=$1
	uart=$2
	image=$3
	
	echo "label rockchip-kernel-5.10" > ${EXTLINUX_CONF}
	echo "	kernel /extlinux/${image}" > > ${EXTLINUX_CONF}
	echo "	fdt /extlinux/${TOYBRICK_DTB}" > > ${EXTLINUX_CONF}
	cmdline="append earlycon=uart8250,mmio32,${uart} root=PARTUUID=614e0000-0000-4b53-8000-1d28000054a9 rw rootwait rootfstype=ext4"
	echo "  ${cmdline}" > > ${EXTLINUX_CONF}
}

function make_kernel_image()
{
	arch=$1
	conf=$2
	dtb=$3
	
	if [ "$GPUDRIVER" == "mesa3d" ]; then 
		config_base="arch/${arch}/configs/${conf}"
		config_frag="../../../../device/soc/rockchip/panfrost.config"
		ARCH=${arch} ./scripts/kconfig/merge_config.sh ${config_base} ${config_frag}
	else
		${MAKE} ARCH=${arch} ${conf}
	fi

	if [ $? -ne 0 ]; then
		echo "FAIL: ${MAKE} ARCH=${arch} ${conf}"
		return -1
	fi

	${MAKE} ARCH=${arch} ${dtb}.img -j${CPUs}
	if [ $? -ne 0 ]; then
		echo "FAIL: ${MAKE} ARCH=${arch} ${dtb}.img"
		return -2
	fi

	return 0
}

function make_ext2_image()
{
	blocks=${IMAGE_BLOCKS}
	block_size=$((${IMAGE_SIZE} * 1024 * 1024 / ${blocks}))

	if [ "`uname -m`" == "aarch64" ]; then
		echo y | sudo mke2fs -b ${block_size} -d boot_linux -i 8192 -t ext2 boot_linux.img ${blocks}
	else
		genext2fs -B ${blocks} -b ${block_size} -d boot_linux -i 8192 -U boot_linux.img
	fi

	return $?
}

function make_boot_linux()
{
	arch=${!ID_ARCH}
	uart=${!ID_UART}
	dtb=${!ID_DTB}
	image=${!ID_IMAGE}
	conf=${!ID_CONF}
	if [ ${arch} == "arm" ]; then
		dtb_path=arch/arm/boot/dts
	else
		dtb_path=arch/arm64/boot/dts/rockchip
	fi

	rm -rf ${BUILD_PATH}
	mkdir -p ${EXTLINUX_PATH}

	make_kernel_image ${arch} ${conf} ${dtb}
	if [ $? -ne 0 ]; then
		exit 1
	fi
	make_extlinux_conf ${dtb_path} ${uart} ${image}
	cp -f ${OBJ_PATH}arch/${arch}/boot/${image} ${EXTLINUX_PATH}/
	cp -f ${OBJ_PATH}${dtb_path}/${dtb}.dtb ${EXTLINUX_PATH}/${TOYBRICK_DTB}
	cp -f logo*.bmp ${BUILD_PATH}/
	if [ "enable_ramdisk" != "${ramdisk_flag}" ]; then
		make_ext2_image
	fi
}

ramdisk_flag=$2
found=0
for i in "${model_list[@]}"; do
	if [ "$(echo $i | awk '{print $1}')" == "$1" ]; then
		make_boot_linux $i
		found=1
	fi
done

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    5032

    浏览量

    97371
  • OpenHarmony
    +关注

    关注

    25

    文章

    3713

    浏览量

    16252
收藏 人收藏

    评论

    相关推荐

    优博终端基于RK3568工控开发板通过OpenHarmony兼容性测评

    领域。优博终端基于RK3568工控开发板所有外设驱动全面完成OpenHarmony适配,包括LVDS屏幕显示、以太网接口、WiFi、蓝牙、USB HOST、Speaker、Mic、GP
    发表于 09-27 14:13

    【ROC-RK3568-PC开发板试用体验】RK3568Openharmony系统构建过程

    本文来源电子发烧友社区,作者:羁傲不驯, 帖子地址: https://bbs.elecfans.com/jishu_2303965_1_1.html 前言 roc-rk3568-pc开发板出厂系统为
    的头像 发表于 10-18 15:46 2210次阅读
    【ROC-<b class='flag-5'>RK3568</b>-PC<b class='flag-5'>开发板</b>试用体验】<b class='flag-5'>RK3568</b>的<b class='flag-5'>Openharmony</b>系统构建过程

    【ROC-RK3568-PC开发板试用体验】Firefly ROC-RK3568-PC开发板初探

    是天启智能科技推出的嵌入式开发板,基于 Rockchip RK3568 处理器设计,该处理器具有高性能、低功耗特点,四核 64 位 Cortex-A55 处理器,采用全新ARM v8.2-A架构,主频高达
    的头像 发表于 10-18 16:11 3834次阅读
    【ROC-<b class='flag-5'>RK3568</b>-PC<b class='flag-5'>开发板</b>试用体验】Firefly ROC-<b class='flag-5'>RK3568</b>-PC<b class='flag-5'>开发板</b>初探

    RK3568/RK3588开发板人工智能AI摄像头识别功能方案

    RK3568/RK3588开发板人工智能AI摄像头识别功能方案
    的头像 发表于 03-27 17:15 2054次阅读
    <b class='flag-5'>RK3568</b>/<b class='flag-5'>RK</b>3588<b class='flag-5'>开发板</b>人工<b class='flag-5'>智能</b>AI摄像头识别功能方案

    瑞芯微RK3568主板开发板PET_RK3568_P01简述

    瑞芯微RK3568主板开发板PET_RK3568_P01简述
    的头像 发表于 08-08 11:41 3074次阅读
    瑞芯微<b class='flag-5'>RK3568</b>主板<b class='flag-5'>开发板</b>PET_<b class='flag-5'>RK3568</b>_P01简述

    RK3568开发板规格书

    RK3568开发板规格书
    发表于 03-23 15:28 69次下载

    迅为RK3568开发板助力智能车载产业快速发展

    迅为RK3568开发板助力智能车载产业快速发展
    的头像 发表于 01-23 13:59 565次阅读
    迅为<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>助力<b class='flag-5'>智能</b>车载产业快速发展

    RK3568开发板支持AMP双系统

    RK3568开发板支持AMP双系统
    的头像 发表于 06-04 15:33 706次阅读
    <b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>支持AMP双系统

    瑞芯微RK3568鸿蒙开发板OpenHarmony系统修改cfg文件权限方法

    本文适用于OpenHarmony开源鸿蒙系统修改cfg文件权限方法,深圳触觉智能研发的RK3566、RK3568
    的头像 发表于 09-11 13:26 893次阅读
    瑞芯微<b class='flag-5'>RK3568</b>鸿蒙<b class='flag-5'>开发板</b><b class='flag-5'>OpenHarmony</b>系统修改cfg文件权限方法

    迅为iTOP-RK3568/RK3588开发板获麒麟软件适配认证

    迅为iTOP-RK3568/RK3588开发板获麒麟软件适配认证
    的头像 发表于 10-18 14:56 513次阅读
    迅为iTOP-<b class='flag-5'>RK3568</b>/<b class='flag-5'>RK</b>3588<b class='flag-5'>开发板</b>获麒麟软件<b class='flag-5'>适配</b>认证

    瑞芯微RK3568开发板Linux编译报错404怎么办?触觉智能教你轻松解决

    本文介绍瑞芯微RK3568主板/开发板SDK编译流程和编译报错404的解决方法,使用触觉智能EVB3568鸿蒙
    的头像 发表于 11-05 11:02 346次阅读
    瑞芯微<b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>Linux编译报错404怎么办?<b class='flag-5'>触觉</b><b class='flag-5'>智能</b>教你轻松解决

    OpenHarmony4.1蓝牙芯片如何适配触觉智能RK3568主板SBC3568演示

    当打开蓝牙后没有反应时,需要排查蓝牙节点是否对应、固件是否加载成功,本文介绍开源鸿蒙OpenHarmony4.1系统下适配蓝牙的方法,触觉智能SBC
    的头像 发表于 11-08 10:11 290次阅读
    <b class='flag-5'>OpenHarmony</b>4.1蓝牙芯片如何<b class='flag-5'>适配</b>?<b class='flag-5'>触觉</b><b class='flag-5'>智能</b><b class='flag-5'>RK3568</b>主板SBC<b class='flag-5'>3568</b>演示

    【迅为】瑞芯微RK3588开发板RK3568开发板区别及优势

    RK3568开发板
    的头像 发表于 11-18 14:19 343次阅读
    【迅为】瑞芯微<b class='flag-5'>RK</b>3588<b class='flag-5'>开发板</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>区别及优势

    Android11修改摄像头前后置方法,触觉智能RK3568开发板演示

    本文介绍在Android11系统下,修改摄像头前后置属性的方法。使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55
    的头像 发表于 11-28 15:25 71次阅读
    Android11修改摄像头前后置方法,<b class='flag-5'>触觉</b><b class='flag-5'>智能</b><b class='flag-5'>RK3568</b><b class='flag-5'>开发板</b>演示

    瑞芯微主板/开发板Linux系统播放音频方法,触觉智能RK3562开发板演示

    本文介绍瑞芯微方案主板/开发板Linux系统播放音频的方法,触觉智能RK3562开发板演示,通用RK
    的头像 发表于 12-13 11:40 175次阅读
    瑞芯微主板/<b class='flag-5'>开发板</b>Linux系统播放音频方法,<b class='flag-5'>触觉</b><b class='flag-5'>智能</b><b class='flag-5'>RK</b>3562<b class='flag-5'>开发板</b>演示