产品选型
环境搭建
Linux环境搭建
在 Linux 平台环境的搭建部分中分为:ubuntu 系统的安装,Linux开发环境的搭建,Linux 常用工具软件的安装。为防止以后开发过程中出现不必要的错误,影响使用,请务必按照按手册所讲述的进行。
大致步骤如下:
1.在主机上安装Ubuntu16.04 64位操作系统;
2.使用天嵌科技提供的脚本安装必备的库和gcc编译器,下载ubuntu_env_install.sh后执行
#./ubuntu_env_install.sh
主要安装java和32位的库,安装完成后可使用java -version来查看java的版本。
3.检查版本:gcc/g++版本是5.4,java的版本openjdk version 1.8.0
该部分使用工具下载:Linux平台工具
具体操作参照《TQA40I环境搭建手册V1.1_20220228.pdf》
Windows环境搭建
因为在 window 平台下只是作为测试使用,并没有在上面进行开发,所以搭建过程较简单,仅安装串口终端工具,作为串口终端调试。
1.调试串口接线图如下
2.安装串口终端工具SecureCRT
3.具体操作参照《TQA40I环境搭建手册V1.1_20220228.pdf》
烧录固件
出厂默认已经烧写Android系统,上电可正常启动系统,如果需要更换系统,则需要使用USB或者SD卡烧录方式重新烧录板子。
说明:烧录前建议先参照串口调试章节连接串口线,如烧录失败,根据串口打印信息分析错误原因。
USB烧录
1.USB烧录工具:PhoenixSuit_CN.msi
2.具体操作参照《TQA40I_E11_V2镜像更新说明.pdf》
SD卡烧录
1.SD烧录卡制作工具:PhoenixCard_V310_20130618.rar
2.具体操作参照《TQA40I_E11_V2镜像更新说明.pdf》
功能配置
显示分辨率配置
1.TQA40I_E11 系统默认使用LVDS 1280_720分辨率,适配我司10.1寸高清电容屏。
2.LVDS分辨率的切换可以通过embedsky.ini文件修改环境变量p_fb0参数,将embedsky.ini文件放入普通SD卡(非烧录卡)上电启动自动设置参数写入环境变量。
3.具体操作请查看《TQA40I常用设置_V1.0_20200521.pdf》
功能使用及测试
Linux部分接口操作参考《TQA40I_E11_Linux使用手册.pdf》
Android部分接口操作参考《TQA40I_E11_Android使用手册.pdf》
扩展模块
本章节所列模块仅在资源下载的镜像及源码版本上适用,其他版本的源码及源码版本,不予保证功能正常使用,请以各自版本说明为准。该章节模块默认不配配,如有需要,请您联系销售工程师进行购买。
模块名称 |
TQA40I_COREA |
E11 |
TQA40_COREB |
|||
Android7.1 |
Linux3.10+qt5.9 |
Android7.1 |
Linux3.10+qt5.9 |
Android7.1 |
Linux3.10+qt5.9 |
|
USB WIFI AP6223 |
OK |
OK |
||||
USB WIFI RTL8723 |
OK |
OK |
||||
USB WIFI RTL8188 | OK |
OK |
||||
USB 4G(N720) |
OK |
OK |
OK |
OK |
OK |
OK |
10.1寸高清电容屏 |
OK |
OK |
OK |
OK |
OK |
OK |
OV5640 |
OK |
OK |
无接口 |
OK |
硬件开发
40I主频最高1.2GHz,内部集成Mali400 MP2 GPU图形处理器,支持绝大部分当前流行的视频及图片格式解码;支持双路LVDS、RGB、MIPI、HDMI,分辨率高达1920*1080;支持以太网、AUDIO、SDIO、UART、USB、SATA、VGA、TV IN、IR,CSI等功能。
序号 | 功能接口 | 数量 | 备注 |
---|---|---|---|
1 | LVDS/RGB |
1 |
支持双路8位LVDS,1080P;支持电容触摸 |
2 | HDMI |
1 |
HDCP1.4,支持1080P全高清 |
3 | Ethernet |
1 |
百兆RJ45接口 |
4 | DEBUG |
1 |
UART0为调试串口 |
5 | WIFI |
1 |
WIFI+BT |
6 | TF-Card |
1 |
TF卡座 |
7 | Audio |
1 |
3.5MM 耳机接口 |
8 | USB |
3 |
USB_OTG x1 |
USB_Host x2 |
|||
9 | RTC |
1 |
集成外置时钟芯片,电池引线式 |
10 | Extension Port |
1 |
CIR*1 |
UART*4 | |||
I2C*1 |
|||
PWRON,RESET,3V3_OUT,5V_OUT |
天嵌科技采用单板的方案推出TQA40I_E11,国产工业级CPU(-40℃~+85℃),四核 Cortex-A7、Android 7.1、高稳定性、超高性价比、1080P显示接口、多串口、集成百兆网卡等等,极致性价比,长供货期。
TQA40O_E11具体接口使用及开发参考硬件手册:《TQA40I_E11_V2单板用户硬件手册.pdf》
系统开发
Android开发指南
在资源下载->Android资源下载处下载Android系统源码包TQA40I_Android_E11_V2.0_R2.2.tar.bz2[如果是多个分卷压缩包,先解压其为源码包],u-boot,内核,android文件系统全都在同一个压缩包内,请依次编译u-boot,内核,android文件系统。
总体来讲,Android的编译是:
- 解压源码包。
- 进入到源码u -boot、内核、文件系统相应目录下。
- 在相应目录下执行 build.sh 脚本编译。
注:在编译之前请先确认系统的环境已经搭建好,具体安装方法见环境搭建章节。
编译u-boot
在源码目录lichee/brandy中可以找到build.sh的编译脚本,系统通过使用此目录下的 build.sh 脚本完成对 u-boot源码的编译,u-boot 使用的源码是 u-boot-2014.07。编译时直接执行脚本即可:
#tar xvjf TQA40I_Android_E11_V2.0_R2.2.tar.bz2 -C /
#cd /opt/EmbedSky/TQA40I/E11/lichee
#./build.sh
编译内核
内核编译脚本在lichee/目录下。在执行编译之前要先进行配置。配置只需要执行一次。后面编译都会用此次配置,除非执行过 build.sh distclean 全部清除或者重新执行build.sh config 重新配置。
(1)配置编译选项
#cd lichee
#./build.sh distclean //首次编译前建议先清除一遍
#./build.sh config
执行后会出现一些选项,芯片选择 sun8iw11p1,软件平台选择Android,内核选择linux-3.10,板级选择 a40-p1,编译器选择gnueabi。
(2)配置内核
#cd linux-3.10
#cp config-tq-android-E11 .config #此步根据具体板卡选择对应配置单
配置单名 | 对应板卡与系统 |
---|---|
config-tq-android-fullFunc | 单板android系统 |
config-tq-linux-fullFunc | 单板linux系统 |
config-tq-android-CoreA | CoreA android系统 |
config-tq-linux-coreA | CoreA linux系统 |
config-tq-android-CoreB | CoreB android系统 |
config-tq-linux-CoreB | CoreB linux系统 |
config-tq-android-E11 | E11 android系统 |
config-tq-linux-E11 | E11 linux系统 |
(3)返回 lichee目录直接执行脚本build.sh编译内核
#build.sh
编译文件系统
必须先成功完内核与u-boot的编译才可以成功编译Android文件系统。编译脚本位于android目录下,直接执行即可。
#cd android
#./build-E11.sh #E11编译使用脚本
成功编译系统后。在目录lichee/tools/pack/下会生成镜像 sun8iw11p1_android_a40-p1_uart0.img,即可将镜像烧至TQA40I板卡,详见烧写固件章节。
具体编译可参考《TQA40I编译手册.pdf》
Android源码简介
Android 的源码包中包含有内核源码,uboot 源码,与文件系统源码。
uboot 源码位于:lichee/brandy
内核源码位于:lichee/
文件系统源码位于:android/
Android7.1使用的内核版本是是 kernel_3.10。以下的路径都是在相对于内核根目录而言。由于驱动代码牵涉较广,难以将所有文件做到一一讲述,所以以下提及的驱动源码只是相对主要或者是修改频率比较高的文件。
a40i 的内核除了一般的 dts 文件外,还有一个 sys_config.fex 的配置文件。一般常用的属性配置在sys_config.fex 中完成,dts文件需要修改的不多。相同的属性,sys_config.fex的优级要高于dts文件,即:相同的属性在sys_config.fex与dts有不同设置时,以sys_config.fex 为主。
tqa40i主要使用的dts为:
文件名 | 功能 |
---|---|
linux-3.10/arch/arm/boot/dts/sun8iw11p1.dtsi | 单主要功能属性配置 |
linux-3.10/arch/arm/boot/dts/sun8iw11p1-pinctrl.dtsi | 引脚设置 |
linux-3.10/arch/arm/boot/dts/sun8iw11p1-clk.dtsi | 时钟树配置 |
linux-3.10/arch/arm/boot/dts/sun8iw11p1-soc.dts | 针对不同的板卡对部分驱动的属性进行修改 |
Linux开发指南
在资源下载处Linux资源下载系统源码包TQA40I_Linux_V1.0_R1.0.tar.bz2,u-boot,内核,Linux文件系统全都在同一个压缩包内。
总体来讲,Linux的编译是:
- 解压源码包。
- 进入到源码u-boot、内核、文件系统相应目录下。
- 在相应目录下执行 build.sh 脚本编译。
注:在编译之前请先确认系统的环境已经搭建好,具体安装方法见安装编译环境章节。
编译u-boot
在源码目录lichee/brandy中可以找到build.sh的编译脚本,系统通过使用此目录下的 build.sh 脚本完成对 u-boot源码的编译,u-boot 使用的源码是 u-boot-2014.07。编译时直接执行脚本即可:
#tar xvjf TQA40I_Linux_V1.0_R1.0.tar.bz2 -C /
#cd /opt/EmbedSky/TQA40I/E11/lichee/brandy
#./build.sh
编译内核和buildroot
内核编译脚本在lichee/目录下。在执行编译之前要先进行配置。配置只需要执行一次。后面编译都会用此次配置,除非执行过 build.sh distclean 全部清除或者重新执行build.sh config 重新配置。
(1)配置编译选项
#cd lichee
#./build.sh config
执行后会出现一些选项,芯片选择 sun8iw11p1,软件平台选择Linux,内核选择linux-3.10,板级选择 a40-p1,编译器选择gnueabihf。
(2)配置内核配置单
#cd linux-3.10
#cp config-tq-linux-E11 .config #此步请根据具体板卡选择对应配置单
配置单名 | 对应板卡与系统 |
---|---|
config-tq-android-fullFunc | 单板android系统 |
config-tq-linux-fullFunc | 单板linux系统 |
config-tq-android-CoreA | CoreA android系统 |
config-tq-linux-coreA | CoreAlinux系统 |
config-tq-android-CoreB | CoreB android系统 |
config-tq-linux-CoreB | CoreB linux系统 |
config-tq-android-E11 | E11 android系统 |
config-tq-linux-E11 | E11 linux系统 |
(3)返回lichee目录直接执行脚本build.sh编译内核和buildroot
#cd ../lichee
#./build.sh
编译qt5.9.0
编译默认不会编译qt5,如要需要,可以通过以下方式编译,两种方式区别于配置过程会跟进会根据不同的交叉编译器进行相关配置,所以在编译qt5.9之前需完成<配置编译选项>操作。
(1)一键编译
#cd lichee
#./comp_qtLib-590_only.sh
(2)分步编译
#cd lichee/buildroot-201611/dl
#cp-fsetenvs.shqt-everywhere-opensource-src-5.9.0/ //获取环境设置脚本
#对文件setenv.sh中的functionmakeconfig函数完成qt的配置,可以修改它完成对qt的增删。
#cd qt-everywhere-opensource-src-5.9.0/ //修改配置
#source./setenvs.sh //设置相关环境变量
#makeconfig //配置
#makeall //编译
#makeinstall //安装
打包镜像
在lichee目录下执行以下命令完成打包
#./build.sh pack
镜像生成位置:lichee/tools/pack/sun8iw11p1_linux_a40-p1_uart0.img
具体编译说明可参考《TQA40I编译手册.pdf》
Linux源码简介
Linux 的源码包中包含有内核源码,uboot 源码,与文件系统源码。
Linux系统的常见驱动对应的源码位置与上述Android系统所描述的源码位置一样。
源码的路径都是在相对于内核根目录而言。
应用开发
二次封装库
天嵌科技提供常用接口库函数:linux_lib_v1.0.1.tar.bz2
封装库使用说明:《天嵌二次封装库使用说明_v1.0.1.pdf》
Qt开发
针对TQA40I系列平台,天嵌提供的开发工具和文档是在ubuntu 16.04LTS、64bit系统下搭建,其他系统或其他版本仅供参考。
A40I_gcc5.3.1_qt5.9.0.tar.bz2中已经安装了qmake工具,如需使用天嵌提供的qmake,必须将A40I_gcc5.3.1_qt5.9.0.tar.bz2解压到PC文件系统根目录下。解压后交叉编译器在/opt/EmbedSky/linaro-5.3.1/usr/bin/下。qmake工具在/opt/EmbedSky/linaro-5.3.1/usr/Qt-5.9.0/bin/
交叉编译器工具:A40I_gcc5.3.1_qt5.9.0.tar.bz2
详细Qt环境搭建参考:《TQA40I_Qt5.9环境搭建手册_V1.0_20220119.pdf》。
官方Qt例程:qt5.9_examples_v1.0.zip
说明:交叉编译器(A40I_gcc5.3.1_qt5.9.0.tar.bz2)不支持在32bit系统下使用。
Android应用开发
该部分内容暂缺。
常见问题解答
FAQ
FAQ详细信息,请查看《TQA40I_FAQ》文档,文档总结了使用TQA40I系列平台所遇到的部分问题及解决方法,如果查看文档仍未解决问题,请拨打技术支持电话或者发送邮件到技术支持邮箱寻求技术支持。
技术支持说明
天嵌科技致力于高科技产业发展提供技术与服务,为广大客户提供嵌入式技术软硬件开发工具与解决方案,致力于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.系统或硬件出现问题时(不包含客户自行开发)
资源下载
Android资源
Linux资源
Linux平台工具
Windows平台工具
出厂镜像合集
配套芯片手册
配套教材集
配套电路图