前言
概述
为方便广大客户使用,本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系统登录请连接调试串口线,接线如下:
通过PC-Windows系统
在这里我们介绍在window平台下如何测试评估套版,首先需要在PC机安装一个串口终端,这里以Putty调试串口工具作为示范,您可以自行下载SecureCRT、xshell等工具进行调试串口的设置与连接。
一般需要设置端口、校验位、波特率,RTS/CTS等,常用串口工具配置说明如下:
(1)端口选项根据您的实际使用的端口进行配置:计算机->设备管理器->端口
(2)校验位在串口通信中一种简单的检错方式,一般选择8位
(3)波特率需根据实际使用平台的串口配置进行选择
(4)RTS/CTS一定不能选,否则可能出现串口有输出,没法输入的情况
Putty的配置如下:Putty.exe。
协议选择Serial、设置端口为COM16(这个根据自己实际的端口选择)、波特率为1500000
点击连接后进入Putty界面,正常情况下上电即可以看到开发板的启动打印信息,如下图所示:
说明:
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选项后,用回车键进入串口配置。
进入串口配置界面,输入A配置串口驱动为/dev/ttyS0(不管在windows中是COMn(n可以是任意数),在虚拟机的Ubuntu下均是ttyS0)后回车,如果是usb转串口设备名应该作用/dev/ttyUSBn(n为数字,视实际而定,一般为0)。输入E配置速率为15000000 8N1输入F将Hardware Flow Control设为NO,回车退出。
由于我们使用minicom是作为超级终端连接评估套件的, 而不是控制modem,所以需要修改modem and dialing。
将Modem and dialing配置单中得Init string、 Reset string、Hang-up string设置为空。
设置完成后选择Save setup as dfl选项将当前设置保存为默认设置;在配置菜单上选择Save setup as dfl保存配置单(一定要做这一步,否则下次启动minicom时还需要重新配置);选择Exit退出配置并进入minicom的操作界面。
(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)与我们联系(为了能够方便跟进记录,请参照邮件落款模板发送邮件)。希望能结识更多的朋友,大家一起共同进步。
- 官方网站:http://www.embedsky.com
- 论坛:http://www.armbbs.net
- 淘宝店铺:https://embedsky.taobao.com
- 技术支持邮件:support@embedsky.net
- 技术支持电话:020-38373101-817 020-38373101-810(IMX6Q) 020-38373101-814(IMX6UL) 020-38373101-818(335X)
邮件落款模板
烧写镜像文件版本号:xxx (例如:V2.0_R1.0,版本号在文件名后面有) 使用板卡、系统:xxx (例如:e9 android 4.3) 联系人:xxxxx 联系方式:xxxxx 公司:xxxxxx (例如:天嵌科技、学校等等)
常规技术支持范围
1.使用我司的镜像与开发板。 2.系统或硬件出现问题时(不包含客户自行开发)