产品选型
产品名称 | TQA40I CoreA核心板 | TQA40I CoreB核心板 |
---|---|---|
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 | 280Pin |
支持系统 | Android 7.1、Linux+qt5.9 | Android7.1/Linux/Ubuntu |
核心板/底板电源输入 | 5V;12V1A | 5V;12V1A |
核心板尺寸、层数 | 80x52mm,10层 | 73*45MM,8层 |
底板尺寸、层数 | 无,无 | 无,无 |
USB_Host | 2路 USB 2.0 | 2路 |
USB_OTG | 1路 USB 2.0 | 1路 |
HDMI | 1路,兼容HDMI1.4和HDCP1.2,1080P | 1路 |
LVDS | 1路,支持双路8位LVDS,1080P | 1路,支持双路8位LVDS,1080P |
MIPI | 1路,4通道,1080P | 1路, 4 通道, 1080P |
SATA | 1路 | 1路 |
TVOUT | 无 | 4路,TV output |
TVIN | 2路,CVBS INPUT | 4路,TV input |
串口 | 8路,(UART0为调试串口,其他串口复用) | 8路,(UART0为调试串口,其他串口复用) |
IIC/TWI | ≤5路 | ≤5路 |
SPI | 2路 | 2路 |
Camera | ≤2路,8位DVP接口 | ≤2路,8位DVP接口 |
RTC | 1路,外置RTC | 1路,内置RTC |
音频 | MIC、PHONEOUT、I2S | MIC,HPOUT,I2S,PHONEOUT,LINEI |
网络 | 1路 | 2路 |
4G | 无 | 无 |
WIFI/BT | 无 | 无 |
TF卡 | 无 | 无 |
HW-DW | 预留 | 无 |
SDIO | ≤3路,4位总数据线 | 3路 (4位总数据线) |
CIR | ≤2路 | ≤2路 |
SMC | 1路 | ≤1路 |
Keyadc | 1路,6 位 | 2路,6位 |
烧录固件
1.烧录方式介绍
下表的拨码为网口朝上,向上为 1,向下为 0,空白表示1/0均可。
MODE | 1 | 2 | 3 | 4 |
---|---|---|---|---|
EMMC启动 | 1 | |||
SD卡启动 | 1 | |||
USB启动 | 0 |
2.烧录相关说明
出厂默认已经烧写Android系统,EMMC启动模式下可正常启动系统,如果需要更换系统,则需要使用USB或者SD卡烧录方式重新烧录板子。
出厂固件。
注:烧录前建议先连接串口线,如烧录失败,可根据串口打印信息分析错误原因。
USB烧录
1.参照启动方式介绍,将启动拨码拨为USB模式启动,通过USB线与电脑连接。
2.安装USB烧录工具PhoenixSuit_CN.msi,具体操作参照《TQA40I_coreA镜像更新说明.pdf》,。
3.烧写完成后将拨码方式拨回EMMC启动,断掉USB线连接,上电启动。
SD卡烧录
1.安装SD制作烧录卡工具 PhoenixCard_V310_20130618.rar,制作烧录卡,具体操作参照《TQA40I_coreA镜像更新说明.pdf》。
2.烧写完成后将拨码方式拨回EMMC启动,拔卡上电启动。
串口调试
连接串口线
Windows平台使用终端
因为在window平台下只是作为测试使用,并没有在上面进行开发,所以搭建过程较简单,只是安装一个串口终端即可。
首先安装SecureCRT,安装结束后,单击SecureCRT.exe,打开SecureCRT,如下图所示:
单击上图中红色框的图标,出现如下图设置框:
在协议里面选择Serial,出现如下图所示的对话框,详细设置参考下图。
注:端口选项部分根据您的实际使用的端口进行配置,其他选项请一定配置如下图所示。
说明:RTS/CTS一定不能选,否则可能出现串口有输出,没法输入的情况。
配置完毕后,单击上图的“连接”选项即可连通串口。
说明1:当打开了多个串口工具,并且他们还都使用同一个串口端口,那么肯定会出现后来打开的软件报告端口忙的错误,解决办法:关掉不需要的串口工具。
说明2:在设备管理器中可以查看您的电脑的串口设备名,下图中红色框内的COM3和COM4就是本手册编写者的电脑里面的串口设备名(如果是在下图所示的电脑中设置SecureCRT软件时,请将端口栏设置为COM3或COM4,而不是上图中的COM1了,这里特意用了两台不一样的电脑进行截图加以说明的),下图的COM3和COM4仅供参考,您的电脑的串口名请以实际为准;如果您的电脑没有串口设备,请使用USB转串口,USB转串口后的设备名也是COMn(n的数值以实际为准)。
Ubuntu平台使用终端
安装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的切换通过修改核心板电阻,具体可查看硬件手册。
2.默认使用LVDS 1280_720分辨率。分辨率的切换可以通过embedsky.ini文件修改环境变量p_fb0参数,将将embedsky.ini,[提取码:usj5]文件放入普通SD卡(非烧录卡)上电启动自动设置参数写入环境变量embedsky.ini相关配置说明请查看《TQA40I常用设置_V1.0_20200521.pdf》。
功能测试
功能测试查看《TQA40I_coreA测试手册_V1.0_20210430.pdf》
安装编译环境
具体安装编译环境请参考《TQA40I环境搭建说明.pdf》,大致步骤如下:
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
硬件开发指南
TQA40I核心板硬件手册《TQA40I_CoreA核心板硬件手册_20210224.pdf》
Android开发指南
在资源下载处下载系统源码包TQA40I_android7_V1.0_R1.0.tar.bz2[如果是多个分卷压缩包,先解压其为源码包],有u-boot,内核,android文件系统全都在同一个压缩包内。总体来讲,android的编译是:
- 解压源码包。
- 进入到源码相应目录下。
- 执行 build.sh 脚本编译。
在编译之前请先确认系统的环境已经搭建好。具体请查看<安装编译环境章节>编译u-boot
在源码目录lichee/brandy中可以找到build.sh的编译脚本,系统通过使用此目录下的 build.sh 脚本完成对 u-boot源码的编译,u-boot 使用的源码是 u-boot-2014.07。编译时直接执行脚本即可:
$cd 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》
Android源码简介
Android 的源码包中包含有内核源码,uboot 源码,与文件系统源码。
以下的路径都是在相对于内核根目录而言。由于驱动代码牵涉较广,难以将所有文件做到一一讲述,所以以下提及的驱动源码只是相对主要或者是修改频率比较高的文件。
驱动 | 在内核中的源码位置 | 系统中的设备名称 |
---|---|---|
emmc/sdcard 驱动 | drivers/mmc/host/sdhci-esdhc-imx.c drivers/mmc/host/sdhci.c drivers/mmc/host/sdhci-pltfm.c | /dev/mmcblk* |
LCD 与 LVDS 驱动 | drivers/video/fbdev/mxc/* | /dev/fb* |
电阻触摸屏驱动 | drivers/input/touchscreen/tsc2007.module | dev/input/event* |
电容触摸屏驱动 | drivers/input/touchscreen/edt- ft5x06.module goodix.module | dev/input/event* |
有线网络驱动 | drivers/net/phy/* | eth0 |
串口驱动 | drivers/tty/serial/imx.c drivers/tty/serial/mxs-auart.c drivers/tty/serial/serial_core.c | /dev/ttySAC* |
sgtl5000声卡驱动 | sound/soc/codecs/* | /dev/snd/* |
I2C驱动 | drivers/i2c/busses/i2c-imx.c | /dev/i2c-* |
按键驱动 | drivers/input/keyboard/gpio_keys.c | dev/input/event* |
红外驱动 | drivers/input/keyboard/tq_hs0038.c | dev/input/event* |
背光灯驱动 | drivers/video/backlight/pwm_bl.c drivers/video/backlight/backlight.c | /sys/class/backlight/* |
Pwm驱动 | drivers/pwm/pwm-imx.c | /sys/class/pwm/* |
RTC驱动 | drivers/rtc/rtc-pcf8563.c | /dev/rtc0 |
看门狗驱动 | drivers/watchdog/imx2_wdt.c | /dev/watchdog |
多媒体摄像头驱动 | drivers/media/platform/mxc/capture/* | /dev/video* |
USB控制驱 | drivers/usb/phy/phy-mxs-usb.c | /dev/sda* |
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/CoreA/android7_V1.0_R1.0/lichee/brandy
#./build.sh
编译内核
内核编译脚本在lichee/目录下。在执行编译之前要先进行配置。配置只需要执行一次。后面编译都会用此次配置,除非执行过 build.sh distclean 全部清除或者重新执行build.sh config 重新配置。
(1)配置编译选项
#cd lichee
#./build.sh config
执行后会出现一些选项,芯片选择 sun8iw11p1,软件平台选择Linux,内核选择linux-3.10,板级选择 a40-p1,编译器选择gnueabihf。
(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 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系统 |
(3)直接执行脚本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系统所描述的源码位置一样。
源码的路径都是在相对于内核根目录而言。
常见问题解答
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平台工具
配套电路图
配套芯片手册
配套教材集