产品选型
产品名称 | TQA40I全功能平台 | TQA40I CoreA核心板 |
---|---|---|
CPU、架构、主频 | 全志 A40I Cortex-A7 4x1GHz | 全志 A40I Cortex-A7 4x1GHz |
内存 | 1GB DDR3(2GB可选) | 1GB DDR3(2GB可选) |
FLASH | 8GB eMMC(16/32GB可选) | 8GB eMMC(16/32GB可选) |
设计工艺 | 单板 | 核心板+底板 |
核心板引脚数 | 无 | 200Pin |
支持系统 | Android 7.1、Linux+qt5.9 | Android 7.1、Linux+qt5.9 |
核心板/底板电源输入 | 无;12V1A | 5V;12V1A |
核心板尺寸、层数 | 无,无 | 80x52mm,10层 |
底板尺寸、层数 | 123.8x87.8mm,8层 | 无,无 |
USB_Host | 5路USB 2.0 | 2路 USB 20 |
USB_OTG | 1路 USB 2.0 | 1路 USB 2.0 |
HDMI | 1路,分辨率最高支持1080P | 1路,兼容HDMI1.4和HDCP1.2,1080P |
LVDS | 2路,分辨率最高支持1080P | 1路,支持双路8位LVDS,1080P |
MIPI | 1路,0.3 pitch的31 Pin连接器引出, 分辨率最高支持1080P | 1路,4通道,1080P |
SATA | 支持 | 1路 |
TVOUT | 4路 | 无 |
TVIN | 2路 | 2路,CVBS INPUT |
串口 | 3路(2xRS232,1xTTL,支持SATA) | 8路,(UART0为调试串口,其他串口复用) |
IIC/TWI | 1路,扩展引出 | ≤5路 |
SPI | 1路,扩展引出 | 2路 |
Camera | 1路,支持8位并口摄像头 | ≤2路,8位DVP接口 |
RTC | 支持 | 支持 |
音频 | 支持MIC输入, 耳机接口,内置8Ω10W 立体声功放 | MIC、PHONEOUT、I2S |
网络 | 1路,100M/10M | ≤2路 |
4G | 1路,Mini_PCIE 4G 模块 | 无 |
WIFI/BT | 支持2.4G WIFI、BT | 无 |
TF卡 | 1路 | 无 |
HW-DW | 无 | 预留 |
SDIO | 无 | ≤3路,4位总数据线 |
CIR | 无 | ≤2路 |
SMC | 无 | 1路 |
Keyadc | 无 | 1路,6 位 |
应用领域 | 适用于商显、通讯控制、医疗仪器、工业控制、交通控制、信息系统、金融设备、汽车电子和各种终端机市场领域。 | 适用于媒体播放、数字标牌、互动广告机、LCD大屏、通讯控制、医疗仪器、工业控制、交通控制、信息系统、金融设备、汽车电子和各种终端机市场领域。 |
烧录固件
1.启动方式介绍
EMMC启动:直接接电源上电即可
SD卡启动:无需操作,插入SD启动卡会优先SD卡启动
USB启动:接短接帽,为板卡中的丝印:J1、J18、J20 ,接USB1(靠近网口USB)通过USB线与电脑连接烧录
2.烧录相关说明
出厂默认已经烧写Android系统,上电可正常启动系统,如果需要更换系统,则需要使用USB或者SD卡烧录方式重新烧录板子。
出厂固件[提取码:usj5]。
注:烧录或启动前建议先连接串口线,如烧录或者启动失败,根据串口打印信息分析错误原因。
USB烧录
1.参照启动方式介绍,接USB1通过USB线与电脑连接
2.安装USB烧录工具PhoenixSuit_CN.msi,[提取码:eyf7]
具体操作参照TQA40I镜像更新手册_V1.0_20200521.pdf,[提取码:8pw1]
3.烧写完成取掉短接帽,emmc模式启动
SD卡烧录
1.安装SD制作烧录卡工具 PhoenixCard_V310_20130618.rar,[提取码:eyf7]
2.制作烧录卡,具体制卡操作参照TQA40I镜像更新手册_V1.0_20200521.pdf,[提取码:8pw1]
3.插卡上电烧写,烧写完成后拔卡emmc模式启动
注:SD卡烧录过程中D38 LED灯会常亮,烧录完成灯灭,建议连接串口线查看烧录信息。
串口调试
连接串口线
调试串口输出TTL电平,电平范围是0-3.3V,请勿接到高于3.3V的串口信号上,市面上很多USB转串口的串口工具是5V的,请注意选择3.3V的版本,否则会有烧坏CPU的风险。
Windows平台使用终端
因为在window平台下只是作为测试使用,并没有在上面进行开发,所以搭建过程较简单,只是安装一个串口终端即可。
首先安装SecureCRT ,[提取码:6o1c ]安装结束后,单击SecureCRT.exe,打开SecureCRT,如下图所示:
单击上图中红色框的图标,出现如下图设置框:
在协议里面选择Serial,出现如下图所示的对话框,详细设置参考下图。
注意:端口选项部分根据您的实际使用的端口进行配置,其他选项请一定配置如下图所示。
说明:RTS/CTS一定不能选,否则可能出现串口有输出,没法输入的情况。
配置完毕后,单击上图的“连接”选项即可连通串口。
说明1:当打开了多个串口工具,并且他们还都使用同一个串口端口,那么肯定会出现后来打开的软件报告端口忙的错误,解决办法:关掉不需要的串口工具。
说明2:在设备管理器中可以查看您的电脑的串口设备名,下图中红色框内的COM3和COM4就是本手册编写者的电脑里面的串口设备名(如果是在下图所示的电脑中设置SecureCRT软件时,请将端口栏设置为COM3或COM4,而不是上图中的COM1了,这里特意用了两台不一样的电脑进行截图加以说明的),下图的COM3和COM4仅供参考,您的电脑的串口名请以实际为准;如果您的电脑没有串口设备,请使用USB转串口,USB转串口后的设备名也是COMn(n的数值以实际为准)。
Ubuntu平台使用终端
- 安装minicom 用户可以通过网络apt-get进行安装minicom工具。
- 安装minicom。
直接在终端执行:#apt-get install minicom
即可。
- 配置minicom
安装minicom完成后,输入命令
#minicom -s
启动,将出现配置菜单:使用PC键盘的上下键选中serial port setup选项后,用回车键进入串口配置。
进入串口配置界面,输入A配置串口驱动为/dev/ttyS0(不管在windows中是COMn(n可以是任意数),在虚拟机的Ubuntu下均是ttyS0)后回车,如果是usb转串口设备名应该作用/dev/ttyUSBn(n为数字,视实际而定,一般为0)。输入E配置速率为115200 8N1输入F将Hardware Flow Control设为NO,回车退出。
由于使用minicom作为超级终端控制路由器等设备, 而不是控制modem,所以需要修改modem and dialing。
将Modem and dialing配置单中得Init string、 Reset string、Hang-up string设置为空。
Step6、设置完成后选择Save setup as dfl选项将当前设置保存为默认设置;在配置菜单上选择Save setup as dfl保存配置单(一定要做这一步,否则下次启动minicom时还需要重新配置);选择Exit退出配置并进入minicom的操作界面。
下次需要启动minicom时,在终端中输入minicon后回车即可直接进入。命令minicom是进入串口超级终端画面,而minicom -s是配置minicom的命令。minicom是基于窗口的。要弹出所需功能的窗口,可按下ctrl-a,然后再按各功能键(a-z或A-Z)。先按ctrl-a,再按z,将出现一个帮助窗口,提供了所有命令的简述。
注意:非正常关闭minicom,会在/var/lock下创建几个文件LCK*,这几个文件可能会阻止minicom的运行,将它们删除后即可恢复。
说明1:如果您是在虚拟机中使用minicom,您需要在启动虚拟机中的Ubuntu之前先在您的虚拟机中添加串口设备,然后再启动虚拟机中的Ubuntu。
还需要注意一点:当Windows中使用了串口设备(比如启动了SecureCRT软件,并且已经使用COM3这个串口端口),然后如果在虚拟机中设置的也是COM3这个端口,那么在虚拟机中的Ubuntu启动后,在minicom中是没法使用串口的,只能选择关闭SecureCRT软件,释放COM3,然后虚拟机中的Ubuntu才能够使用该串口。
说明2:输入sudo minicom -D /dev/ttyUSB0可以直接指定USB串口设备。
扩展模块
注:本章节所列模块仅在资源下载的镜像及源码版本上适用,其他版本的镜像及源码不予保证功能正常使用,请以各自版本说明为准。
模块名称 | 单板 | 核心板+底板 | ||
Android7.1 | Linux3.10+qt5.9 | Android7.1 | Linux3.10+qt5.9 | |
USB WIFI AP6212 | OK(板载) | OK(板载) | ||
USB WIFI RTL8723 | OK | OK | ||
USB 4G(N720) | OK | OK | OK | OK |
10.1寸高清电容屏 | OK | OK | OK | OK |
OV5640 | OK | OK |
功能配置
显示分辨率配置
1.LCD与LVDS接口复用,LCD与LVDS的切换通过修改核心板电阻,具体可查看TQA40I_V1 全功能单板用户硬件手册_20191010.pdf,[提取码:8pw1]。
2.默认使用LVDS 1280_720分辨率。分辨率的切换可以通过embedsky.ini文件修改环境变量p_fb0参数,将embedsky.ini,[提取码:usj5]文件放入普通SD卡(非烧录卡)上电启动自动设置参数写入环境变量embedsky.ini,相关配置说明请查看TQA40I常用设置_V1.0_20200521.pdf,[提取码:8pw1]
功能测试
网络/存储设备/wifi/4g/音频等外设接口测试及使用具体查看TQA40I_coreA测试手册_V1.0_20210430.pdf,[提取码:8pw1] 。
安装编译环境
具体安装编译环境请参考TQA40I环境搭建说明_V1.0_20200521.pdf,[提取码:8pw1]
大致步骤如下:
1.在主机上安装Ubuntu16.04 64位操作系统;
2.使用天嵌科技提供的脚本安装必备的库和gcc编译器,下载ubuntu_env_install.sh [提取码:pya4]后执行
#./ubuntu_env_install.sh
主要安装java和32位的库,安装完成后可使用java -version来查看java的版本。
3.检查版本:gcc/g++版本是5.4,java的版本openjdk version 1.8.0
硬件开发指南
TQA40I单板TQA40I_V1 全功能单板用户硬件手册_20191010.pdf,[提取码:8pw1]
Android开发指南
在资源下载处Android固件源码下载系统源码包TQA40I_android7_VX.X_RX.X.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_android7_V1.0_R1.0.tar.bz2 -C /
#cd /opt/EmbedSky/TQA40I/CoreA/android7_V1.0_R1.0/lichee/brandy
#./build.sh
编译内核
内核编译脚本在lichee/目录下。在执行编译之前要先进行配置。配置只需要执行一次。后面编译都会用此次配置,除非执行过 build.sh distclean 全部清除或者重新执行build.sh config 重新配置。
(1)选择合适的配置文件
#cd lichee/tools/product/configs/a40-p1/ #以下两条客户根据实际情况选择。
#cp sys_config_coreA_v1.0.fex sys_config.fex #当使用底板+核心板时,使用coreA的配置文件,与编译的系统无关
#cp sys_config_fullFuncBoard_v1.0.fex sys_config.fex #当使用单板时,使用sys_config_fullFuncBoard_v1.0.fex配置,与编译的系统无关
(2)配置编译选项
#cd lichee
#./build.sh config
执行后会出现一些选项,芯片选择 sun8iw11p1,软件平台选择Android,内核选择linux-3.10,板级选择 a40-p1,编译器选择gnueabi。
(3)配置内核
#cd lichee/linux-3.10
#cp config-tq-linux-coreA .config #此步根据具体板卡选择对应配置单
配置单名 | 对应板卡与系统 |
---|---|
config-tq-android-fullFunc | 单板android系统 |
config-tq-android-coreA | 底板+核心板android系统 |
config-tq-linux-fullFunc | 单板linux系统 |
config-tq-linux-coreA | 底板+核心板linux系统 |
(4)返回 lichee目录直接执行脚本build.sh编译内核
#cd lichee/
#./build.sh
编译文件系统
必须先成功完内核与u-boot的编译才可以成功编译Android文件系统。编译脚本位于android目录下,直接执行即可。
#cd android
#./build-coreA.sh #coreA核心板编译使用脚本
#./build-fullFunc.sh #单板板编译使用脚本
成功编译系统后。在目录lichee/tools/pack/下会生成镜像 sun8iw11p1_android_a40-p1_uart0.img,即可将镜像烧至TQA40I板卡,详见烧写固件章节。
具体编译可参考TQA40I编译手册.pdf,[提取码:8pw1]
Android源码简介
Android 的源码包中包含有内核源码,uboot 源码,与文件系统源码。
uboot 源码位于:android7_V1.0_R1.0/lichee/brandy
内核源码位于:android7_V1.0_R1.0/lichee/
文件系统源码位于:android7_V1.0_R1.0/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 | 针对不同的板卡对部分驱动的属性进行修改 |
tqa40i主要使用的 sys_config.fex 为:
文件名 | 功能 |
---|---|
tools/pack/chips/sun8iw11p1/configs/a40-p1/sys_config.fex | 主要设备属性配置文件 |
tqa40i主要的内核源码位置:
驱动 | 在内核中的源码位置 | 系统中的设备名称 |
---|---|---|
串口驱动 | lichee/linux-3.10/drivers/tty/serial/sunxi-uart.c drivers/mmc/host/sdhci.c | /dev/mmcblk* |
SDHC驱动 | lichee/linux-3.10/drivers/mmc/host/sunxi-mmc* | /dev/fb* |
I2C/TWI总线驱动 | lichee/linux-3.10/drivers/i2c/busses/i2c-sunxi.c | /dev/input/event* |
RTC驱动 | lichee/linux-3.10/drivers/drivers/rtc/rtc-pcf8563.c | /dev/input/event* |
有线网络驱动 | lichee/linux-3.10/drivers/net/ethernet/allwinner/* | eth0 |
LVDS显示驱动 | lichee/linux-3.10/drivers/video/sunxi/disp2/* | /dev/ttySAC* |
背光驱动 | lichee/linux-3.10/drivers/vido/sunxi/disp2/disp/disp_sys_intf.c | /dev/snd/* |
声卡驱动 | lichee/linux-3.10/sound/soc/sunxi/sun8iw11_codec.c lichee/linux-3.10/sound/soc/unxi/sun8iw11_sndcodec.c lichee/linux-3.10/sound/soc/unxi/sunxi_cpudai.c | /dev/i2c-* |
按键驱动 | lichee/linux-3.10/drivers/input/keyboard/sunxi-keyboard.c | /dev/input/event* |
pwm驱动 | lichee/linux-3.10/drivers/pwm/pwm-sunxi-new.c | /dev/input/event* |
USER_GPIO驱动 | lichee/linux-3.10/drivers/gpio/gpio-sunxi.c | /sys/class/backlight/* |
触摸驱动 | lichee/linux-3.10/drivers/ input/touchscreen/* (全志原厂提供的驱动,不使用) lichee/linux-3.10/drivers /embedsky/touch/* (我司使用的驱动,不开源) | /sys/class/pwm/* |
Linux开发指南
在资源下载处Linux固件源码下载系统源码包TQA40I_Linux_VX.X_RX.X.tar.bz2,[提取码:usdg],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/CoreA/android7_V1.0_R1.0/lichee/brandy
#./build.sh
编译内核和buildroot
内核编译脚本在lichee/目录下。在执行编译之前要先进行配置。配置只需要执行一次。后面编译都会用此次配置,除非执行过 build.sh distclean 全部清除或者重新执行build.sh config 重新配置。
(1)选择合适的配置文件
#cd lichee/tools/product/configs/a40-p1/#以下两条客户根据实际情况选择。
#cp sys_config_coreA_v1.0.fex sys_config.fex#当使用底板+核心板时,使用coreA的配置文件,与编译的系统无关
#cp sys_config_fullFuncBoard_v1.0.fex sys_config.fex#当使用单板时,使用sys_config_fullFuncBoard_v1.0.fex配置,与编译的系统无关
(2)配置编译选项
#cd lichee/
#./build.sh config
执行后会出现一些选项,芯片选择 sun8iw11p1,软件平台选择Linux,内核选择linux-3.10,板级选择 a40-p1,编译器选择gnueabihf。
(3)配置内核配置单
#cd lichee/linux-3.10
#cp config-tq-linux-coreA .config
配置单名 | 对应板卡与系统 |
---|---|
config-tq-android-fullFunc | 单板android系统 |
config-tq-android-coreA | 底板+核心板android系统 |
config-tq-linux-fullFunc | 单板linux系统 |
config-tq-linux-coreA | 底板+核心板linux系统 |
(4)直接执行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,[提取码:8pw1]
Linux源码简介
Linux 的源码包中包含有内核源码,uboot 源码,与文件系统源码。
Linux系统的常见驱动对应的源码位置与上述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.系统或硬件出现问题时(不包含客户自行开发)
资源下载
Linux资源,提取码:usdg
出厂镜像合集,提取码:usj5
Linux平台工具,提取码:pya4
Windows平台工具,提取码:eyf7
配套电路图,提取码:m3ho
配套芯片手册,提取码:pszs
配套教材集,提取码:8pw1