• TQ3568_CoreA
  • 前言

    概述

    为方便广大客户使用,本WIKI网站主要介绍天嵌科技 TQ3568_COREA 开发板从入门到开发的指引。力求以最简洁的语言,让您能在最短时间内快速入门,逐步熟悉 TQ3568_COREA 产品的硬件特性、使用及开发 方法,提高开发效率。

    文档修订记录

    修订日期 修订人 修订记录 备注
    2022-11-30 Tanya 初版 修订仅针对本网站文档

    关于TQ3568_COREA开发板产品资料更新说明:《TQ3568_COREA_V1.0核心板产品规格书-20221208.pdf》

    产品介绍

    核心板简介

    天嵌科技 TQ3568_COREA_V1.0 核心板是基于 Rockchip RK3568 系列处理器推出的核心板。TQ3568_COREA_V1.0核心板和其配套的评估底板 TQ3568_BASEA_V1.0 组成评估套件。RK3568 是瑞芯微一款定位中高端的通用型 SOC,采用 22nm 制程工艺,集成 4 核 ARM 架构 A55 处理器和 Mali G52 2EE 图形处理器,支持 4K 解码和 1080P 编码。RK3568 支持 SATA/PCIE/USB3.0 等各类型外围接口,内置独立的 NPU,可用于轻量级人工智能应用。RK3568 支持Android 11 和 Linux 系统,主要面向物联网网关、NVR 存储、工控平板、工业检测、工控盒、云终端、车载中控等行业定制市场。

    详细核心板参数介绍请查看:《TQ3568_COREA开发板产品资料更新手册.pdf》

    底板介绍

    为了方便广大用户对TQ3568核心板的功能进行快速了解,提高产品开发的速度,我司提供配套的底板。

    详细底板参数介绍请查看:《TQ3568_COREA&BaseA开发板硬件手册-20220812(初版).pdf》

    套板支持的配件

    模块名称 模块参数 规格型号 Android11 Linux4.19.193 +Qt5.9.0
    5寸MIPI电容显示模组 720x1280 FRD500H30111-A 支持 支持
    10.1寸MIPI电容显示模组 800x1280 群创VI101GP351 暂不支持 支持
    10.1LVDS电容显示模组 1280x800 群创VI101IA14 支持 支持
    10.1LVDS电容显示模组 1280x800 京东方 支持 支持
    Wifi蓝牙模块6221A-SRC   SDIO 2.4G/5G双频WIFI+BT4 支持 支持
    美格4G-750模块(数据版本)(含天线)   美格4G模块(数据版本)+天线(750-C7C) 支持 支持
    UVC摄像头     支持 支持

    说明:该章节配件支持基于本网站最新系统镜像文件测试,其他版本镜像仅做参考。


    入门指南

    登录目标板系统

    连接调试串口线

    通过PC-Windows或者PC-Linux系统登录请连接调试串口线,接线如下:

    image.png

    通过PC-Windows系统


    在这里我们介绍在window平台下如何测试评估套版,首先需要在PC机安装一个串口终端,这里以Putty调试串口工具作为示范,您可以自行下载SecureCRT、xshell等工具进行调试串口的设置与连接。 一般需要设置端口、校验位、波特率,RTS/CTS等,常用串口工具配置说明如下:

    (1)端口选项根据您的实际使用的端口进行配置:计算机->设备管理器->端口

    (2)校验位在串口通信中一种简单的检错方式,一般选择8位

    (3)波特率需根据实际使用平台的串口配置进行选择

    (4)RTS/CTS一定不能选,否则可能出现串口有输出,没法输入的情况

    Putty的配置如下:Putty.exe

    协议选择Serial、设置端口为COM16(这个根据自己实际的端口选择)、波特率为1500000

    image.png

    点击连接后进入Putty界面,正常情况下上电即可以看到开发板的启动打印信息,如下图所示:

    image.png

    说明:
    1、如果没有串口打印信息,检查数据线有没有损坏
    2、确认使用串口线是否为TTL电平
    目标板正常启动打印信息如下,敲Enter可进入系统串口终端[root@RK356x:~]$

    通过PC-Linux系统登录

    如果您已经熟悉使用Linux系统开发,可以使用Linux终端工具minicom进行连接目标板,minicom使用基于PC-Linux环境下进行,以下是安装及配置过程:
    (1)安装minicom工具

    #sudo apt-get install minicom

    (2)配置minicom
    安装minicom完成后,输入命令minicom -s启动,将出现配置菜单:使用PC键盘的上下键选中serial port setup选项后,用回车键进入串口配置。

    image.png

    进入串口配置界面,输入A配置串口驱动为/dev/ttyS0(不管在windows中是COMn(n可以是任意数),在虚拟机的Ubuntu下均是ttyS0)后回车,如果是usb转串口设备名应该作用/dev/ttyUSBn(n为数字,视实际而定,一般为0)。输入E配置速率为15000000 8N1输入F将Hardware Flow Control设为NO,回车退出。

    image.png

    由于我们使用minicom是作为超级终端连接评估套件的, 而不是控制modem,所以需要修改modem and dialing。
    将Modem and dialing配置单中得Init string、 Reset string、Hang-up string设置为空。
    image.png
    设置完成后选择Save setup as dfl选项将当前设置保存为默认设置;在配置菜单上选择Save setup as dfl保存配置单(一定要做这一步,否则下次启动minicom时还需要重新配置);选择Exit退出配置并进入minicom的操作界面。
    image.png
    (3)配置完成,输入minicom可以直接启动,此时上电即可以看到开发板的启动打印信息。

    说明1:
    如果您是在虚拟机中使用minicom,您需要在启动虚拟机中的Ubuntu之前先在您的虚拟机中添加串口设备,然后再启动虚拟机中的Ubuntu。特别注意一点:当Windows中使用了串口设备(比如启动了SecureCRT软件,并且已经使用COM3这个串口端口),然后如果在虚拟机中设置的也是COM3这个端口,那么在虚拟机中的Ubuntu启动后,在minicom中是没法使用串口的,只能选择关闭SecureCRT软件,释放COM3,然后虚拟机中的Ubuntu才能够使用该串口。

    说明2:
    输入sudo minicom -D /dev/ttyUSB0可以直接指定USB串口设备。

    ARM-Linux系统基础操作

    登录到目标板系统之后,您可以通过Linux常用命令对目标板进行查看、修改等操作:
    查看系统版本信息

    cat /proc/version 

    查看CPU信息

    cat /proc/cpuinfo 

    查看内存使用情况

    free -m

    查看磁盘使用情况

    df -hT

    查看分区信息

    fdisk -l

    获取和保存系统log信息

    ls -l  /var/log/messages

    获取内核启动参数

    cat /proc/cmdline

    目标板系统更新

    出厂默认已经烧写Android系统,FLASH启动模式下可以正常启动系统,如果需要更新为Linux系统,或者更换为自己定制的系统,则需要使用USB、SD卡等方式重新烧录板子。

    USB更新

    1.安装USB更新工具:FactoryTool_1.66.zip
    2.下载镜像文件
    3.参考:TQ3568_镜像更新手册_V1.0_20221028.pdf

    SD卡/TF卡更新

    1、安装SD卡更新工具:SDDiskTool_v1.61.zip
    2、下载镜像文件
    3、参考:TQ3568_镜像更新手册_V1.0_20221028.pdf

    常规功能测试

    评估板常规功能测试

    关于TQ3568评估套板外设功能测试参照手册:TQ3568_测试手册_V1.1_20220811.pdf

    其他功能使用

    该章节补充基于TQ3568其他功能使用方法。

    Linux系统开发指南

    说明1:以下环境是在ubuntu16.04、64bit系统下搭建,其他系统或其他版本仅供参考。进行Linux系统开发之前请先参考《PC开发环境搭建》章节搭建开发环境。
    说明2:详细的编译步骤请参考手册:TQ3568编译手册_V1.0_20221028.pdf
    说明3:由于版本持续更新,以下涉及到源码及镜像版本请以实际使用版本为准。

    解压Linux源码包

    Linux源码下载:TQ3568_Linux_v1.0_R1.0.tar.bz2。 Linux源码中包含u-boot、内核、文件系统。解压之前请先对比一下md5的值。以免后面解压与编译中浪费不必要的时间。
    网盘中如果是多个分卷压缩包TQ3568_Linux_V1.0_R1.0.tar.bz2a* ,解压命令:

    cat TQ3568_Linux_V1.0_R1.0.tar.bz2a* | tar xj -C /

    网盘如果是单个压缩包,TQ3568_Linux_v1.0_R1.0.tar.bz2,解压命令:

    tar jxvf TQ3568_Linux_v1.0_R2.0.tar.bz2

    源码会被解压到/opt/EmbedSky/TQ3568/CoreA/Linux_SDK_V1.0_R1.0/目录下。解压前请保证/opt目录下有权限。
    以下是笔者执行结果:(以分卷压缩为例子)

    ➜  cat TQ3568_Linux_v1.0_R1.0.tar.bz2.* | tar jx -C /       # 等待较长时间
    ➜  Linux_SDK_V1.0_R1.0 ls 
    app     buildroot  debian  envsetup.sh  IMAGE   Makefile       prebuilts  rkbin       rockdev  u-boot
    br.log  build.sh   device  external     kernel  mkfirmware.sh  README.md  rkflash.sh  tools    yocto
    ➜  Linux_SDK_V1.0_R1.0  

    源码编译说明

    解压后Linux_SDK_V1.0_R1.0/文件夹为Linux系统的源码,含buildroot、yocto、debian、内核与u-boot的源码。

    编译脚本说明

    编译系统时使用源码目录下的build.sh脚本。常用编译选项有:

    配置 用途
    uboot 编译u-boot,不带参数
    kernel 编译内核,不带参数
    buildroot 编译buildroot源码, 不带参数
    yocto 编译yocto
    debian 编译debian
    all 编译所有,u-boot,内核,recovery,默认文件系统(默认为buildroot),不打包成update.img
    lunch 选择bsp包的配置
    updateimg 将现有镜像打包成update.img
    cleanall 清除uboot, kernel, rootfs, recovery

    各个选项相关独立,可随意组合,如:

    ./build.sh  kernel uboot    # 编译u-boot,编译内核
    ./build.sh                      # 编译u-boot,内核源码,buidlroot,recovery。并打包成update.img

    如果要使用打包选项(update.img),请先保证所有镜像都在rockdev/里。

    镜像说明

    使用build.sh 脚本生成的镜像都会放到rockdev/中,最后烧写也是烧写这里面的镜像。

    ➜ linux_sdk-v1.3.0 : ls -lh rockdev/  
    total 569M
    lrwxrwxrwx 1 qingleqq qingleqq   68 8月  18 09:11 boot.img -> /compile3/work/tq/rk3568/work/linux/linux_sdk-v1.3.0/kernel/boot.img
    lrwxrwxrwx 1 qingleqq qingleqq   41 8月  16 13:51 MiniLoaderAll.bin -> ../u-boot/rk356x_spl_loader_v1.13.112.bin
    lrwxrwxrwx 1 qingleqq qingleqq   44 8月  16 13:51 misc.img -> ../device/rockchip/rockimg/wipe_all-misc.img
    -rw-rw-r-- 1 qingleqq qingleqq  17M 8月  16 13:51 oem.img
    lrwxrwxrwx 1 qingleqq qingleqq   53 8月  16 13:51 parameter.txt -> ../device/rockchip/rk356x/parameter-buildroot-fit.txt
    lrwxrwxrwx 1 qingleqq qingleqq   64 8月  16 13:51 recovery.img -> ../buildroot/output/rockchip_rk356x_recovery/images/recovery.img
    lrwxrwxrwx 1 qingleqq qingleqq   54 8月  16 15:24 rootfs.ext4 -> ../buildroot/output/rockchip_rk3568/images/rootfs.ext2
    lrwxrwxrwx 1 qingleqq qingleqq   54 8月  16 13:51 rootfs.img -> ../buildroot/output/rockchip_rk3568/images/rootfs.ext2
    lrwxrwxrwx 1 qingleqq qingleqq   19 8月  16 13:51 uboot.img -> ../u-boot/uboot.img
    -rw-rw-r-- 1 qingleqq qingleqq 557M 8月  16 13:51 update.img
    -rw-rw-r-- 1 qingleqq qingleqq 4.3M 8月  16 13:51 userdata.img
     ➜ linux_sdk-v1.3.0 : 

    以下列出常用的镜像与说明:

    镜像名称 说明
    boot.img 包含ramdis、kernel、dtb
    MiniLoaderAll.bin 包含一级loader
    recovery.img 包含recovery-ramdis、kernel、dtb
    Rootfs.ext4 包含文件系统分区内容
    uboot.img 包含uboot固件
    update.img 包含以上需要烧写的img文件,可以用于工具直接烧写整个固件包

    一键编译

    RK3568支持一条命令编译所有镜像,也可以分步编译不同的镜像,二选一即可,初次使用建议使用一键编译,后续根据实际开发需要使用对应的部分单独编译即可。
    一键编译Linux,要编译的东西比较多,整体时间比较长,请耐心等待。

    以下是笔者的执行过程。不同版本的SDK执行过程可能会有不一样,以下仅供参考,一切以实际为准。

    ➜  linux_sdk-v1.3.0 :./build.sh  lunch 
    processing option: lunch
    
    You're building on Linux
    Lunch menu...pick a combo:
    
    0. default BoardConfig.mk
    1. BoardConfig-rk3566-evb2-lp4x-v10-32bit.mk
    2. BoardConfig-rk3566-evb2-lp4x-v10.mk
    3. BoardConfig-rk3568-evb1-ddr4-v10-32bit.mk
    4. BoardConfig-rk3568-evb1-ddr4-v10-spi-nor-64M.mk
    5. BoardConfig-rk3568-evb1-ddr4-v10.mk      # 选择这个配置
    6. BoardConfig-rk3568-nvr-spi-nand.mk
    7. BoardConfig-rk3568-nvr.mk
    8. BoardConfig-rk3568-uvc-evb1-ddr4-v10.mk
    9. BoardConfig.mk
    Which would you like? [0]: 5        # 选择配置5
    switching to board: /compile3/work/tq/rk3568/work/linux/linux_sdk-v1.3.0/device/rockchip/rk356x/BoardConfig-rk3568-evb1-ddr4-v10.mk
    ➜  linux_sdk-v1.3.0 :./build.sh  # 编译内核,u-boot,内核,文件系统源码,并打包成update.img ,并复制rockdev目录下的固件到IMAGE/***_RELEASE_TEST/IMAGES目录中。(请按实际情况定期清理一下IMAGE,否则后期此目录会占用大量空间)
    processing option: allsave
    ============================================
    TARGET_ARCH=arm64
    TARGET_PLATFORM=rk356x          # 硬件平台
    TARGET_UBOOT_CONFIG=rk3568      # u-boot的配置,等效于rk3568_defconfig
    TARGET_SPL_CONFIG=
    TARGET_KERNEL_CONFIG=rockchip_linux_defconfig       # 内核的配置
    TARGET_KERNEL_DTS=rk3568-tqcoreA-BaseA_v1-defaultPanel  # 内核用到的dts文件
    TARGET_TOOLCHAIN_CONFIG=
    TARGET_BUILDROOT_CONFIG=rockchip_rk3568     # buildroot的配置
    TARGET_RECOVERY_CONFIG=rockchip_rk356x_recovery 
    TARGET_PCBA_CONFIG=
    TARGET_RAMBOOT_CONFIG=
    ============================================
    ============Start building uboot============
    TARGET_UBOOT_CONFIG=rk3568
    =========================================
    ## make rk3568_defconfig -j8
    #
    ......
    ......
    ......
    Add file: ./Image/rootfs.img done,offset=0x38e7000,size=0x2edd4000,userspace=0x5dba8
    Add file: ./Image/oem.img
    Add file: ./Image/oem.img done,offset=0x326bb000,size=0x1100000,userspace=0x2200
    Add file: ./Image/userdata.img
    Add file: ./Image/userdata.img done,offset=0x337bb000,size=0x500000,userspace=0xa00
    Add CRC...
    Make firmware OK!
    ------ OK ------
    ********RKImageMaker ver 1.66********
    Generating new image, please wait...
    Writing head info...
    Writing boot file...
    Writing firmware...
    Generating MD5 data...
    MD5 data generated successfully!
    New image generated successfully!
    Making ./Image/update.img OK.
    Running build_updateimg succeeded.
    Running build_save succeeded.
     PLEASE CHECK BOARD GPIO POWER DOMAIN CONFIGURATION !!!!!
     <<< ESPECIALLY Wi-Fi/Flash/Ethernet IO power domain >>> !!!!!
     Check Node [pmu_io_domains] in the file: /opt/Embedsky/TQ3568/coreA/TQ3568_linux-sdk-v1.1.2/kernel/arch/arm64/boot/dts/rockchip/rk3568-tqcoreA-BaseA_v1-defaultPanel.dts 
    
     请再次确认板级的电源域配置!!!!!!
     <<< 特别是Wi-Fi,FLASH,以太网这几路IO电源的配置 >>> !!!!!
     检查内核文件 /opt/Embedsky/TQ3568/coreA/TQ3568_linux-sdk-v1.1.2/kernel/arch/arm64/boot/dts/rockchip/rk3568-tqcoreA-BaseA_v1-defaultPanel.dts 的节点 [pmu_io_domains] 
    
    pmuio1-supply 
    regulator-min-microvolt =  3300mV
    regulator-max-microvolt =  3300mV
    
    pmuio2-supply 
    regulator-min-microvolt =  3300mV
    regulator-max-microvolt =  3300mV
    
    vccio1-supply 
    regulator-min-microvolt =  3300mV
    regulator-max-microvolt =  3300mV
    
    vccio3-supply 
    regulator-min-microvolt =  1800mV
    regulator-max-microvolt =  3300mV
    
    vccio4-supply 
    regulator-min-microvolt =  1800mV
    regulator-max-microvolt =  1800mV
    
    vccio6-supply 
    regulator-min-microvolt =  1800mV
    regulator-max-microvolt =  1800mV
    Running build_allsave succeeded.            # 编译成功,可以在rockdev下看到对应生成的镜像。
    ➜  linux_sdk-v1.3.0 :  

    系统开发

    Kernel源码简介

    TQ3568-coreA主要用到的dts有:rk3568.dtsi,rk3568-tqcoreA-core.dtsi,rk3568-tqcoreA-BaseA_v1.dtsi,rk3568-tqcoreA-BaseA_v1-defaultPanel.dts。其中rk3568-tqcoreA-BaseA_v1-defaultPanel.dts为显示相关。 RK3568支持LVDS、MIPI、HDMII、EDP多个显示,我司也提供了各个显示的不同配置,位于kernel/arch/arm64/boot/dts/rockchip/ 目录下

    文件名 说明
    rk3568-tqcoreA-BaseA_v1-defaultPanel.dts 默认编译会使用这个文件,lvds输出
    rk3568-tqcoreA-BaseA_v1_lvds-only.dts Lvds显示,分辨率,时序等,见文件
    rk3568-tqcoreA-BaseA_v1_mipi-only.dts MIPI显示,分辨率,时序,初始化阵列等见文件
    rk3568-tqcoreA-BaseA_v1_hdmi-only.dts HDMI显示
    rk3568-tqcoreA-BaseA_v1_edp-only.dts EDP显示

    说明:文件只是提供一个参考,适配我司配的屏,用户如果使用自己的屏,需要根据自己的屏的具体参数修改相关文件,然后复制到rk3568-tqcoreA-BaseA_v1-defaultPanel.dts 文件中,编译。最终生成可用镜像。


    Linux应用开发指南

    说明:该章节例程属于通用接口例程,Linux系统下如需操作各外设接口可以参考该部分代码。

    应用开发例程

    天嵌硬件操作库

    1、天嵌硬件操作库下载链接:linux_lib_v1.0.1.tar
    2、天嵌硬件操作库使用跳转链接:http://wiki.armbbs.net/tqwiki/public/info/index.html

    例程调用

    1、test_demo_20200114.tar.bz2
    2、功能测试手册V1.2.pdf

    Android系统开发指南

    说明1:以下环境是在ubuntu16.04、64bit系统下搭建,其他系统或其他版本仅供参考。进行Android系统开发之前请先参考《PC开发环境搭建》章节搭建开发环境。
    说明2:详细的编译步骤请参考手册: TQ3568编译手册_V1.0_20221028.pdf
    说明3:由于版本持续更新,以下涉及到源码及镜像版本请以实际使用版本为准。

    解压Android源码包

    Android源码位于光盘中:TQ3568_Android11_v1.0_R1.0.tar.bz2
    Android源码中包含u-boot、内核、android文件系统。解压之前请先对比一下md5的值。以免后面解压与编译中浪费不必要的时间。
    网盘中如果是多个分卷压缩包TQ3568_Android11_v1.0_R1.V.tar.bz2* ,解压命令:

    cat TQ3568_Android11_v1.0_R1.0.tar.bz2a | tar xj -C /

    网盘如果是单个压缩包,TQ3568_Android11_v1.0_R1.0.tar.bz2,解压命令:

    tar jxvf TQ3568_Android11_v1.0_R1.0.tar.bz2 -C /

    码会被解压到/opt/EmbedSky/TQ3568/CoreA/Linux_SDK_V1.0_R1.0/目录下,解压前请保证/opt目录下有权限。
    以下是笔者执行结果:(以分卷压缩为例子)

    ➜  cat TQ3568_Android11_v1.0_R1.0.tar.bz2.* | tar jx -C /       # 等待较长时间
    ➜  TQ3568-Android11 ls 
    Android.bp  bionic    bootstrap.bash  build.sh       cts     developers   device    frameworks  javaenv.sh  libcore          Makefile        mkimage_ab.sh  out       pdk               prebuilts  rkst     rockdev  system  toolchain  u-boot
    art         bootable  build           compatibility  dalvik  development  external  hardware    kernel      libnativehelper  mkcombinedroot  mkimage.sh     packages  platform_testing  rkbin      RKTools  sdk      test    tools      vendor
    ➜  TQ3568-Android11  

    解压后android文件夹为android11源码,含android11、内核与u-boot的源码。

    源码编译说明

    编译脚本说明

    编译系统时使用源码目录下的build.sh脚本。常用编译选项有:

    配置 用途
    -U 编译u-boot,不带参数
    -C 使用Clang编译内核,不带参数
    -K 编译内核,不带参数
    -A 编译android源码, 不带参数
    -d 编译dtb, 后接参数为内核dts文件名(不带扩展名)
    -J 使用多少进程编译,后接参数(数字)
    -u 将所有镜像打包成update.img,不带参数

    各个选项相关独立,可随意组合,如:

    ./build.sh -uUCK    # 编译u-boot,使用clang编译内核,并将生成镜像打包进update.img中
    ./build.sh -K -J8 -d rk3568-tqcoreA-BaseA_v1_edp-only   # 只编译内核与rk3568-tqcoreA-BaseA_v1_edp-only.dts文件。最终内核与dtb打包生成boot.img,这个名字是不带”.dts”的
    ./build.sh  -ACKUu  # 编译u-boot,android源码,使用clang编译内核。并打包进update.img

    如果要使用打包选项(-u),请先保证所有镜像都在rockdev/Image-rk3568_r/里。

    镜像说明

    使用build.sh 脚本生成的镜像都会放到rockdev/Image-rk3568_r/中,最后烧写也是烧写这里面的镜像。

    ➜  TQ3568-Android11 : ls rockdev/Image-rk3568_r/*  -lh 
    -rwxrwxr-x+ 1 1007 1007 1.0M 5月  13 09:50 rockdev/Image-rk3568_r/baseparameter.img
    -rw-rw-r--+ 1 1007 1007  32M 7月   1 17:38 rockdev/Image-rk3568_r/boot-debug.img
    -rw-rw-r--+ 1 1007 1007  32M 7月   1 17:38 rockdev/Image-rk3568_r/boot.img
    -rwxrwxr-x+ 1 1007 1007 6.0K 5月  12 13:58 rockdev/Image-rk3568_r/config.cfg
    -rw-rw-r--+ 1 1007 1007  623 7月   1 17:37 rockdev/Image-rk3568_r/dtbo.img
    -rw-rw-r--+ 1 1007 1007 455K 7月   1 17:36 rockdev/Image-rk3568_r/MiniLoaderAll.bin
    -rw-rw-r--+ 1 1007 1007  48K 5月  12 14:11 rockdev/Image-rk3568_r/misc.img
    -rw-rw-r--+ 1 1007 1007  630 7月   1 17:37 rockdev/Image-rk3568_r/parameter.txt
    -rw-rw-r--+ 1 1007 1007  48K 5月  12 14:11 rockdev/Image-rk3568_r/pcba_small_misc.img
    -rw-rw-r--+ 1 1007 1007  49K 5月  12 14:11 rockdev/Image-rk3568_r/pcba_whole_misc.img
    -rw-rw-r--+ 1 1007 1007  85M 7月   1 17:38 rockdev/Image-rk3568_r/recovery.img
    -rw-rw-r--+ 1 1007 1007 220K 7月   1 17:37 rockdev/Image-rk3568_r/resource.img
    -rw-r--r--+ 1 1007 1007 1.4G 7月   1 17:39 rockdev/Image-rk3568_r/super.img
    -rw-rw-r--+ 1 1007 1007 4.0M 7月   1 17:36 rockdev/Image-rk3568_r/uboot.img
    -rw-rw-r--+ 1 1007 1007 1.5G 7月   1 17:40 rockdev/Image-rk3568_r/update.img
    -rwxrwxr-x+ 1 1007 1007 4.0K 5月  12 13:58 rockdev/Image-rk3568_r/vbmeta.img
    ➜  TQ3568-Android11 :  

    以下列出常用的镜像与说明:

    镜像名称 说明
    boot.img 包含ramdis、kernel、dtb
    dtbo.img Device Tree Overlays 镜像
    MiniLoaderAll.bin 包含一级loader
    recovery.img 包含recovery-ramdis、kernel、dtb
    super.img 包含odm、product、vendor、system、system_ext分区内容
    uboot.img 包含uboot固件
    update.img 包含以上需要烧写的img文件,可以用于工具直接烧写整个固件包

    一键编译

    RK3568支持一条命令编译所有镜像,也可以分步编译不同的镜像,两选一即可。Android 编译需要内存,硬盘空间都比较大,而且时间比较长,请耐心等待。

    ➜  TQ3568-Android11 : source build/envsetup.sh  # 先配置一下环境,对当前命令行生效,只执行一次即可。使用新的命令行要重新执行
    ➜  TQ3568-Android11 : lunch rk3568_r-userdebug  # 先配置一下环境,对当前命令行生效,只执行一次即可。
    ============================================
    PLATFORM_VERSION_CODENAME=REL
    PLATFORM_VERSION=11
    TARGET_PRODUCT=rk3568_r
    TARGET_BUILD_VARIANT=userdebug
    TARGET_BUILD_TYPE=release
    TARGET_ARCH=arm64
    TARGET_ARCH_VARIANT=armv8-a
    TARGET_CPU_VARIANT=cortex-a55
    TARGET_2ND_ARCH=arm
    TARGET_2ND_ARCH_VARIANT=armv8-2a
    TARGET_2ND_CPU_VARIANT=cortex-a55
    HOST_ARCH=x86_64
    HOST_2ND_ARCH=x86
    HOST_OS=linux
    HOST_OS_EXTRA=Linux-4.15.0-142-generic-x86_64-Ubuntu-16.04.7-LTS
    HOST_CROSS_OS=windows
    HOST_CROSS_ARCH=x86
    HOST_CROSS_2ND_ARCH=x86_64
    HOST_BUILD_TYPE=release
    BUILD_ID=RQ3A.210705.001
    OUT_DIR=out
    ============================================
    ➜  TQ3568-Android11 : ./build.sh -AKUu -J4  # 使用4进程编译内核,u-boot,android源码,并打包成update.img
    will build android
    will build kernel
    will build u-boot
    will build update.img
    -------------------KERNEL_DTS:rk3568-tqcoreA-BaseA_v1-defaultPanel 
    
    ============================================
    PLATFORM_VERSION_CODENAME=REL
    PLATFORM_VERSION=11
    TARGET_PRODUCT=rk3568_r
    TARGET_BUILD_VARIANT=userdebug
    TARGET_BUILD_TYPE=release
    TARGET_ARCH=arm64
    TARGET_ARCH_VARIANT=armv8-a
    TARGET_CPU_VARIANT=cortex-a55
    TARGET_2ND_ARCH=arm
    TARGET_2ND_ARCH_VARIANT=armv8-2a
    TARGET_2ND_CPU_VARIANT=cortex-a55
    HOST_ARCH=x86_64
    HOST_2ND_ARCH=x86
    HOST_OS=linux
    HOST_OS_EXTRA=Linux-4.15.0-142-generic-x86_64-Ubuntu-16.04.7-LTS
    HOST_CROSS_OS=windows
    HOST_CROSS_ARCH=x86
    HOST_CROSS_2ND_ARCH=x86_64
    HOST_BUILD_TYPE=release
    BUILD_ID=RQ3A.210705.001
    OUT_DIR=out
    ============================================
    start build uboot
      CLEAN   dts/../arch/arm/dts
      CLEAN   dts
      CLEAN   examples/standalone
      CLEAN   tools
      CLEAN   tools/lib tools/common
      CLEAN   spl/arch spl/board spl/cmd spl/common spl/disk spl/drivers spl/dts spl/env spl/fs spl/lib spl/u-boot.cfg spl/u-boot-spl spl/u-boot-spl.bin spl/u-boot-spl.dtb spl/u-boot-spl-dtb.bin spl/u-boot-spl.lds spl/u-boot-spl.map spl/u-boot-spl
    -nodtb.bin spl/u-boot-spl.sym tpl/arch tpl/board tpl/common tpl/disk tpl/drivers tpl/dts tpl/fs tpl/u-boot.cfg tpl/u-boot-spl.lds tpl/u-boot-tpl tpl/u-boot-tpl.bin tpl/u-boot-tpl.map tpl/u-boot-tpl-nodtb.bin tpl/u-boot-tpl.sym
      CLEAN   u-boot u-boot.bin u-boot.cfg u-boot.cfg.configs u-boot.dtb u-boot-dtb.bin u-boot.lds u-boot.map u-boot-nodtb.bin u-boot.srec u-boot.sym System.map bl31_0x00040000.bin bl31_0x00066000.bin bl31_0x00068000.bin bl31_0xfdcc9000.bin bl31_0
    xfdcd0000.bin rk356x_spl_loader_v1.11.112.bin tee.bin u-boot.bin u-boot-dtb.bin u-boot-nodtb.bin resource.img uboot.img
    ......
    ......
    ......
    done.
    create super.img...
    done.
    create vbmeta.img...
    BOARD_AVB_ENABLE is false, use default vbmeta.img
    create misc.img.... done.
    create uboot.img...
    u-boot/trust.img not fount! Please make it from u-boot first!
    create loader...
    create config.cfg...
    create baseparameter...done.
    Make image ok!



    PC开发环境搭建

    PC-Linux平台环境搭建

    说明1:以下环境是在ubuntu16.04、64bit系统下搭建,其他系统或其他版本仅供参考。
    说明2:详细的环境搭建请参考手册:TQ3568_环境搭建手册_V1.1_20221028.pdf

    交叉编译器安装

    解压

    交叉编译器默认在光盘的:aarch64-linux-gcc-v9.3.tar.bz2。复制到电脑的ubuntu系统中。解压:(用户可以根据需要解压到自己想要的目录下)

    tar jxvf  aarch-linux-gcc-v9.3.tar.bz2 -C  /

    默认会解压到opt/EmbedSky/TQ3568/tools/aarch64-linux-gcc-v9.3目录下。

    重新设置路径

    进入解压目录,执行sdk根目录下的relocate-sdk.sh。
    以下仅供参考,以实际为准:

    z-work :: /tmp % cd opt/EmbedSky/TQ3568/tools/aarch64-linux-gcc-v9.3/ 
    z-work :: TQ3568/tools/aarch64-linux-gcc-v9.3 % ls
    aarch64-buildroot-linux-gnu  bin  doc  etc  include  lib  lib64  libexec  man  mkspecs  relocate-sdk.sh  sbin  share  usr
    z-work :: TQ3568/tools/aarch64-linux-gcc-v9.3 % sh relocate-sdk.sh
    Relocating the buildroot SDK from /compile3/qingleqq/work/tq/rk3568/linux/linux_sdk/buildroot/output/rockchip_rk3568/host to /tmp/opt/EmbedSky/TQ3568/tools/aarch64-linux-gcc-v9.3 ...
    # 会有如上的提示将原来路径切换到新的路径
    z-work :: TQ3568/tools/aarch64-linux-gcc-v9.3 %

    说明:编译用户应用与驱动模块时可以使用这个编译器,编译buildroot,内核,u-boot,默认会使用buildroot重新生成的。android也有自己的编译,不使用这个编译器。

    常用开发工具安装

    以下服务安装非必需,请跟据实际使用安装需要的开发工具。

    搭建nfs服务器

    在PC-Linux系统中执行以下命令,可以搭建nfs服务器:

    #apt-get install nfs-common
    #mkdir /opt/nfs
    #echo "/opt/nfs *(rw,sync,no_root_squash,no_subtree_check)" >> /etc/exports
    #/etc/init.d/nfs-kernel-server restart

    搭建tftp服务器

    在PC-Linux中执行以下命令,可以在搭建tftp服务器:

    #apt-get install tftp-hpa tftpd-hpa
    #mkdir /opt/tftp
    #echo "TFTP_USERNAME=\"tftp\"" > /etc/default/tftpd-hpa
    #echo "TFTP_DIRECTORY=\"/opt/tftp\"" >> /etc/default/tftpd-hpa
    #echo "TFTP_ADDRESS=\"0.0.0.0:69\"" >> /etc/default/tftpd-hpa
    #echo "TFTP_OPTIONS=\"-l -c -s\"" >> /etc/default/tftpd-hpa
    #service tftpd-hpa restart      ;注此命令需要每次开机执行一次才能使用

    搭建ftp服务器

    在PC-Linux中执行以下命令,可以搭建ftp服务器:

    #apt-get install vsftpd
    #mkdir /opt/ftp
    #useradd -d /opt/ftp -s /bin/bash ftpname
    #passwd ftpname         ;设置密码,例如设置为123
    #service vsftpd start

    使用方法:
    在开发板中执行ftpget -u ftpname -p 123 192.168.1.xxx zImage获取电脑中/opt/ftp目录下的zImage文件

    PC-Windows平台环境搭建

    安装串口工具

    Putty为串口调试、ssh连接常用工具,下载链接:Putty.exe此软件无需要安装,只要将它解压后即可使用。

    安装WinSCP

    WinSCP为ssh连接常用工具,下载链接:WinSCP.zip此软件无需要安装,只要将它解压后即可使用。

    安装USB下载工具

    Usb下载工具,下载链接:download/FactoryTool_1.66.zip此软件无需要安装,只要将它解压后即可使用。
    Usb下载工具需要安装驱动,下载链接:DriverAssitant_v4.91.zip此压缩包解压后双击打开DriverInstall.exe,即可安装驱动。

    安装SD制卡工具

    SD制卡工具,下载链接:SDDiskTool_v1.61.zip此软件无需要安装,只要将它解压后即可使用。





    资料下载链接

    01_产品介绍资料
    02_开发板配套硬件资料
    03_开发板配套器件资料
    04_开发板配套教材集
    05_开发板配套镜像
    06_Linux源码
    06_Andriod源码
    07_开发板配套例程
    08_Linux平台工具
    08_Windows平台工具
    09_开发板测试报告





    常见问题解答

    FAQ

    FAQ详细信息,请查看《TQ3568_FAQ》文档,文档总结了使用TQ3568平台所遇到的部分问题及解决方法,如果查看文档仍未解决问题,请拨打技术支持电话或者发送邮件到技术支持邮箱寻求技术支持。

    技术支持说明

    天嵌科技致力于高科技产业发展提供技术与服务,为广大客户提供嵌入式技术软硬件开发工具与解决方案,致力于ARM内核系列CPU的开发和应用,提供低功耗、高性价比的嵌入式产品,提供针对性强、量身定制的客户化设计;无论是新设计还是对现有产品的改型设计,我们都会为您提供高品质的开发服务。
    由于时间有限,手册难免存在纰漏和错误,诚恳的希望各位读者批评和指正。关于修改的bug,我们会在第一时间在论坛上更新,论坛建有技术支持专区,欢迎大家遇到问题去里面寻找解决方法。还可以通过邮件(support@embedsky.net)与我们联系(为了能够方便跟进记录,请参照邮件落款模板发送邮件)。希望能结识更多的朋友,大家一起共同进步。

    邮件落款模板

    烧写镜像文件版本号:xxx (例如:V2.0_R1.0,版本号在文件名后面有)
    使用板卡、系统:xxx (例如:e9 android 4.3)
    联系人:xxxxx
    联系方式:xxxxx
    公司:xxxxxx (例如:天嵌科技、学校等等)

    常规技术支持范围

    1.使用我司的镜像与开发板。
    2.系统或硬件出现问题时(不包含客户自行开发)