产品选型
产品名称 | TQ335XB_V2 | TQ335XC_V1 |
---|---|---|
架构 | Cortex-A8 | Cortex-A8 |
CPU | TI AM335X | TI AM335X |
主频 | 1GHz | 1GHz |
内存 | 512MB DDR3 | 512MB DDR3 |
FLASH | 1GB Nandflash | 1GB Nandflash |
设计工艺 | 底板+核心板 | 底板+核心板 |
核心板引脚数 | 160pin | 160pin |
核心板层数 | 6层 | 6层 |
电源管理芯片 | 分立电源电路 | TPS65910A3 |
核心板尺寸 | 50*41mm | 66.5*41mm |
支持系统 | Linux3.2,QT5.5 | Linux3.2,QT5.5 |
底板层数、尺寸 | 4层,183*116mm | 2层,183*116mm |
底板供电电源 | 9-24V/1A | 5V/3A |
USB_Host | 4路(2.0) | 3路(2.0) |
USB_OTG | 1路(2.0) | 1路(2.0) |
串口 | 最多支持8路 | 2路RS232,3路TTL,共5路,1路RS485(复用),CAN总线(复用) |
以太网 | 2路,1000/100M/10M | 1路,100/10M RTL8211E |
ADC | 4路12位 | 6路12位 |
PWM | 2路(扩展接口引出) | 1路 |
BUS | 有,GPMC总线 | 有,GPMC总线 |
SPI | 1路(扩展接口引出) | 1路 |
IIC | 1路(扩展接口引出) | 3路 |
CAN | 2路,CAN2与UART2复用 | 2路CAN 跟UART1复用 |
音频 | 1路PHONE,2路输出 | MIC、PHONE、功放接口 |
LCD | 40P 0.5FPC;最大分辨率:1366*768 | 40P 0.5FPC;最大分辨率:1366*768 |
SD卡 | 1路 | 1路 |
RTC | 1路 | 1路 |
EEPROM | 板载 E2PROM 芯片 AT24C02 | 板载E2PROM芯片AT24C02 |
JTAG | 1路,10PIN 简牛座 | 1路,标准14PIN 简牛座 |
RS485 | 2路,与UART3/4复用 | 1路RS485(复用) |
板卡等级;工作环境温度 | 工业级;-40~+85° | 商业级; |
Camera | 可支持USB摄像头 | 可支持USB摄像头 |
配套模块 | 链接 | 链接 |
产品图片 | ||
应用领域 | 适用于工业控制、智能家居、工业自动化、医疗器械、工业物联网、网关、储物柜、智能收费系统、游戏外设、打印机、教育控制台、安全防护、显示控制等 | 适用于工业控制、智能家居、工业自动化、医疗器械、工业物联网、网关、储物柜、智能收费系统、游戏外设、打印机、教育控制台、安全防护、显示控制等 |
烧录固件
- 启动方式介绍
注:下表的拨码为网口朝上,向上为 1,向下为 0。
启动方式 | BOOT2 | BOOT3 | 启动方式 |
---|---|---|---|
NAND启动 | 1 | 0 | NAND启动 |
SD卡启动 | 0 | 1 | SD卡启动 |
- 烧录相关说明
出厂默认已经烧写Android系统,NAND启动模式下可以正常启动系统,如果需要更换系统,则需要使用SD卡或TFTP烧录方式重新烧录板子。
注:烧录前建议先连接串口线,如烧录失败,根据串口打印信息分析错误原因。
SD卡烧录
- Windows下制作烧录卡
下载Windows_TQSDMaker_v1.3.2(提取码:x0af),详细的Windows下制作烧录卡信息请查看使用手册:TQSDMaker用户使用手册.pdf。 - 成功制作SD烧录卡后,将拨码启动方式拨为01(SD卡启动),插卡上电进行烧录操作;
- 烧录成功后断电拨回NAND启动(10)启动。
TFTP烧录
如果无法从 nand 启动,在 tftp 烧写前要先制作 sd 启动卡,如果nand可以启动可以直接进入uboot菜单通过网络进行TFTP烧录
大致步骤如下:
- 搭建TFTP服务器,具体可参考安装编译环境章节
- 接上串口,上电。在uboot倒数完之前,按空格键中断自动启动进入uboot菜单
- 进入命令行菜单选择->2->n,设置TFTP服务器参数
- 设置TFTP参数成功选择相应选项更新所要更新的镜像即可
##### U-boot MENU ##### [EmbedSky TFTP download mode] ########################################## [1] tftp update u-boot ---更新 uboot 镜像,镜像名必须与[n]中配置的一样 [2] tftp update MLO ---更新 uboot 镜像,镜像名必须与[n]中配置的一样 [3] tftp update kernel ---更新内核 kernel 镜像,镜像名必须与[n]中配置的一样 [4] tftp update logo ---更新 logo 镜像,镜像名必须与[n]中配置的一样,xx.bin [6] tftp update system ---更新文件系统镜像,镜像名必须与[n]中配置的一样 [n] set tftp env ---设置 tftp 的服务器 ip,板卡 ip,镜像名称等等 [s] Save the parameters to Flash ---保存参数 [q] Return main Menu ---返回上一级菜单 Please press a key to continue :
- 更新完断电启动系统(或者返回主菜单按8启动系统)
详细uboot配置可参考TQ335x_uboot菜单手册.pdf
串口调试
连接串口线
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串口设备。
扩展模块
本章节所列模块仅在资源下载的镜像及源码版本上适用,其他版本的源码及源码版本,不予保证功能正常使用,请以各自版本说明为准。
模块名称 | TQ3358_CoreBv2(Linux) | TQ3358_CoreC(Linux) |
---|---|---|
5寸高清电容屏 | OK | OK |
TN92 7寸电容/电阻屏 | OK | OK |
TN83 7寸电阻屏 | OK | OK |
7寸高清屏 | OK | OK |
10.4寸电阻屏 | OK | OK |
WIFI(RTL8723+BT) | OK | OK |
4G(SIM7600) | OK | OK |
4G(N720) | OK | OK |
功能配置
切换屏幕、设置网络环境等uboot使用请查看TQ335x_uboot菜单手册.pdf。
安装编译环境
注:以下环境是在ubuntu16.04、64bit系统下搭建,其他系统或其他版本仅供参考。
- 下载gcc-linaro-4.9-20190425.tar.bz2文件,将其拷贝到根目录/opt下,然后在ubuntu系统中执行
#cd /opt #tar jxvf gcc-linaro-4.9-20190425.tar.bz2 -C / #echo PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/EmbedSky/linaro-4.9/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin:/opt/EmbedSky/linaro-4.9/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/sysroot/usr/bin">> /etc/environment #source /etc/environment #arm-linux-gnueabihf-gcc -v
搭建nfs服务器
在Ubuntu系统中执行以下命令,可以在ubuntu系统中搭建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机中执行以下命令,可以在ubuntu系统中搭建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机中执行以下命令,可以在ubuntu系统中搭建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文件
硬件开发指南
pin脚功能
pin | 引脚名称 | 功能描述 | 使用注意事项备注 | pin | 引脚名称 | 功能描述 | 使用注意事项备注 |
---|---|---|---|---|---|---|---|
1 | RTC_PWRONRSTn | RTC独立加电复位引脚 | 2 | SYS_WARMRESETn | 系统复位输出引脚 | cpu对外复位信号,软件不可控 | |
3 | EXT_WAKEUP | 用于外部唤醒事件的专用输入引脚 | 核心板引出,底板悬空,预留接口 | 4 | EXT_nRESET | 外部复位功能 | |
5 | ECAP2_IN_PWM2_OUT(SPI1_CS0) | SPI功能 | 对应节点为/dev/spidev0.0 | 6 | GPIO0_19 | USB功能 | |
7 | XDMA_EVENT_INTR1(CLKOUT2) | 时钟2输出脚 | 核心板引出,底板悬空,预留接口 | 8 | AIN4 | ADC功能 | |
9 | AIN5 | ADC功能 | 10 | AIN6 | |||
11 | AIN7 | 12 | JTAG_TMS | JTAG功能 | |||
13 | JTAG_TRSTn | JTAG功能 | 14 | JTAG_TDI | |||
15 | JTAG_TDO | 16 | JTAG_TCK | ||||
17 | JTAG_EMU0 | 18 | GPIO3_8/JTAG_nRESET | ||||
19 | GPIO3_7 | 音频功能 | 连接音频接口 | 20 | SPI1_SCLK | SPI功能 | 对应节点为/dev/spidevX.X |
21 | UART5_TXD | 串口5发送 | 对应节点为/dev/ttySAC5 | 22 | SPI1_D0 | SPI功能 | 对应节点为/dev/spidevX.X |
23 | GND | 24 | GND | ||||
25 | MCASP1_ACLKX(GPIO0_7) | 音频功能 | 连接音频接口 | 26 | MCASP1_FSX | 音频功能 | 连接音频接口 |
27 | MCASP1_AXR0(GPIO3_20) | 28 | MCASP1_AXR1 | ||||
29 | UART4_RXD | 串口4接收 | 对应节点为/dev/ttySAC4 | 30 | UART4_TXD | 串口4发送 | 对应节点为/dev/ttySAC4 |
31 | UART0_TXD | 调试串口(串口0)发送 | 对应节点为/dev/ttySAC0 | 32 | UART0_RXD | 调试串口(串口0)接收 | 对应节点为/dev/ttySAC0 |
33 | UART1_TXD(CAN1_RX) | 串口1发送 | 对应节点为/dev/ttySAC1 | 34 | UART1_RXD(CAN1_TX) | 串口1接收 | 对应节点为/dev/ttySAC1 |
35 | PWM0B | 蜂鸣器功能 | 连接蜂鸣器 | 36 | PWM0A | LCD背光控制 | 连接LCD背光控制脚 |
37 | I2C0_SDA | IIC0数据 | 连接电容电阻触摸及声卡芯片,对应i2c节点为/dev/i2c-0 | 38 | I2C0_SCL | IIC0时钟 | 连接电容电阻触摸芯片及声卡芯片,对应i2c节点为/dev/i2c-0 |
39 | I2C1_SDA | IIC1数据 | 对应i2c节点为/dev/i2c-1 | 40 | I2C1_SCL | IIC1时钟 | 对应i2c节点为/dev/i2c-1 |
41 | CAN0_TX | CAN功能 | 对应can0 | 42 | CAN0_RX | CAN功能 | 对应can0 |
43 | RGMII1_RCTL | 以太网接口 | 44 | GMII1_RXD0 | 以太网接口 | ||
45 | RGMII1_RXD1 | 46 | GMII1_RXD2 | ||||
47 | RGMII1_RXD3 | 48 | RGMII1_RCLK | ||||
49 | UART2_RXD | 串口2接收 | 对应节点为/dev/ttySAC2 | 50 | UART5_RXD | 串口5接收 | 对应节点为/dev/ttySAC5 |
51 | RGMII1_TCLK | 以太网接口 | 52 | GMII1_TXD0 | 以太网接口 | ||
53 | RGMII1_TXD1 | 54 | GMII1_TXD2 | ||||
55 | RGMII1_TXD3 | 56 | RGMII1_TCTL | ||||
57 | GMII1_MDIO_CLK | 58 | GMII1_MDIO_DATA | ||||
59 | UART2_TXD | 串口2发送 | 对应节点为/dev/ttySAC2 | 60 | USB1_ID | USB HOST功能 | 扩展ID引脚 |
61 | USB1_DP | USB HOST功能 | 数据正信号 | 62 | GPIO313_ | ||
63 | USB1_DM | 数据负信号 | 64 | USB1_CE | |||
65 | VUSB_VBUS1 | USB HOST供电 | 感应USB电源线的输入 | 66 | VUSB_VBUS1 | USB HOST供电 | 感应USB电源线的输入 |
67 | GND | 68 | GND | ||||
69 | EXTINTn | 外部中断触发功能 | 核心板引出,底板悬空,预留接口 | 70 | PMIC_PWR_EN | 使能电源芯片功能 | 核心板引出,底板悬空,预留接口 |
71 | VBACKUPBAT | RTC供电功能 | 72 | USB0_CE | USB OTG功能 | ||
73 | GND | 74 | VBACKUPBAT | RTC供电功能 | |||
75 | GND | 76 | GND | ||||
77 | VDD_5V | 供电功能 | 78 | VDD_5V | 供电功能 | ||
79 | VDD_5V | 80 | VDD_5V | ||||
81 | USB0_ID | USB OTG功能 | 扩展ID引脚 | 82 | USB0_DP | USB OTG功能 | 数据正信号 |
83 | GPIO0_18 | 音频功能 | 连接声卡芯片 | 84 | USB0_DM | 数据负信号 | |
85 | VUSB_VBUS0 | USB OTG供电 | 感应USB电源线的输入 | 86 | VUSB_VBUS0 | USB OTG供电 | 感应USB电源线的输入 |
87 | UART3_TXD | 串口3发送 | 对应节点为/dev/ttySAC3 | 88 | MMC0_D1 | SD功能 | 对应节点/dev/mmcblk* |
89 | MMC0_D0 | SD卡功能 | 对应节点/dev/mmcblk* | 90 | MMC0_CLK | ||
91 | UART3_RXD | 串口3接收 | 对应节点为/dev/ttySAC3 | 92 | MMC0_CMD | ||
93 | MMC0_D3 | SD卡功能 | 对应节点/dev/mmcblk* | 94 | MMC0_D2 | ||
95 | GPMC_WPn | 核心板引出,底板悬空,预留接口 | 96 | GPMC_ADVn_ALE | 核心板引出,底板悬空,预留接口 | ||
97 | GPMC_OEn_REn | 核心板引出,底板悬空,预留接口 | 98 | GPMC_BE0n_CLE | 核心板引出,底板悬空,预留接口 | ||
99 | GPMC_CS0n | 核心板引出,底板悬空,预留接口 | 100 | GPMC_WEn | 核心板引出,底板悬空,预留接口 | ||
101 | MMC0_SDCD | SD卡功能 | 对应节点/dev/mmcblk* | 102 | GPMC_WAIT | 核心板引出,底板悬空,预留接口 | |
103 | CAP_RST | 电容触摸复位引脚 | 104 | CAP_INT | 电容触摸中断脚 | ||
105 | MMC0_SDWP | SD卡功能 | 对应节点/dev/mmcblk* | 106 | GPIO1_28 | 以太网接口 | |
107 | GPMC_A10 | 以太网接口 | 108 | GPMC_A11 | |||
109 | GPMC_A8 | 110 | GPMC_A9 | ||||
111 | GPMC_A6 | 112 | GPMC_A7 | ||||
113 | GPMC_A4 | 114 | GPMC_A5 | ||||
115 | GPMC_A2 | 116 | GPMC_A3 | ||||
117 | GPMC_A0 | 118 | GPMC_A1 | ||||
119 | GPMC_AD0 | 核心板引出,底板悬空,预留接口 | 120 | GPMC_AD1 | 核心板引出,底板悬空,预留接口 | ||
121 | GPMC_AD2 | 核心板引出,底板悬空,预留接口 | 122 | GPMC_AD3 | 核心板引出,底板悬空,预留接口 | ||
123 | GPMC_AD4 | 核心板引出,底板悬空,预留接口 | 124 | GPMC_AD5 | 核心板引出,底板悬空,预留接口 | ||
125 | GPMC_AD6 | 核心板引出,底板悬空,预留接口 | 126 | GPMC_AD7 | 核心板引出,底板悬空,预留接口 | ||
127 | GND | 128 | GND | ||||
129 | TSYP | LCD显示功能 | 电容屏/电阻屏选择 | 130 | TSYM | LCD显示功能 | 电容屏/电阻屏选择 |
131 | TSXP | 触摸屏接口 | 132 | TSXM | 触摸屏接口 | ||
133 | LCD_PCLK | 134 | LCD_HSYNC | ||||
135 | LCD_VSYNC | 136 | LCD_AC_BIAS_EN | ||||
137 | LCD_DATA4 | 138 | LCD_DATA3 | ||||
139 | LCD_DATA2 | 140 | LCD_DATA1 | ||||
141 | LCD_DATA0 | 142 | LCD_DATA16 | ||||
143 | LCD_DATA18 | 144 | LCD_DATA21 | ||||
145 | LCD_DATA10 | 146 | LCD_DATA9 | ||||
147 | LCD_DATA8 | 148 | LCD_DATA7 | ||||
149 | LCD_DATA6 | 150 | LCD_DATA5 | ||||
151 | LCD_DATA19 | 152 | LCD_DATA22 | ||||
153 | LCD_DATA15 | 154 | LCD_DATA14 | ||||
155 | LCD_DATA13 | 156 | LCD_DATA12 | ||||
157 | LCD_DATA11 | 158 | LCD_DATA17 | ||||
159 | LCD_DATA20 | 160 | LCD_DATA23 |
性能参数
功耗参数
- 5寸高清电容屏(800*480)
工作条件 | 电源电压 | 电源电流 | 基本功耗 | 电源电流峰值 | 最大功耗 |
---|---|---|---|---|---|
系统启动过程 | 12v | 300mA | 3.6W | 320mA | 3.84W |
待机基本界面 | 12v | 250mA | 3W | 270mA | 3.24W |
播放视频 | |||||
接通网络 |
- 7寸电容屏(800*480)
工作条件 | 电源电压 | 电源电流 | 基本功耗 | 电源电流峰值 | 最大功耗 |
---|---|---|---|---|---|
系统启动过程 | 12v | 400mA | 4.8W | 420mA | 5.04W |
待机基本界面 | 12v | 370mA | 4.44W | 370mA | 4.44W |
播放视频 | |||||
接通网络 |
- 7寸高清屏(1024*600)
工作条件 | 电源电压 | 电源电流 | 基本功耗 | 电源电流峰值 | 最大功耗 |
---|---|---|---|---|---|
系统启动过程 | 12v | 400mA | 4.8W | 450mA | 5.4W |
待机基本界面 | 12v | 380mA | 4.56W | 400mA | 4.8W |
播放视频 | |||||
接通网络 |
- 10.4寸电阻屏(800*600)
工作条件 | 电源电压 | 电源电流 | 基本功耗 | 电源电流峰值 | 最大功耗 |
---|---|---|---|---|---|
系统启动过程 | |||||
待机基本界面 | |||||
播放视频 | |||||
接通网络 |
- 不带屏功耗
工作条件 | 电源电压 | 电源电流 | 基本功耗 | 电源电流峰值 | 最大功耗 |
---|---|---|---|---|---|
系统启动过程 | 12v | 150mA | 1.8W | 200mA | 2.4W |
待机基本界面 | 12v | 130mA | 1.56W | 130mA | 1.56W |
播放视频 | |||||
接通网络 |
Linux开发指南
编译bootloader固件
下载uboot源码uboot_TQ3358_Nand_VX.X.X.tar,将其拷贝到根目录/opt目录下,然后在ubuntu系统中执行
#cd /opt
#tar xjf uboot_TQ3358_Nand_V3.7.tar.bz2 -C /
#cd /opt/EmbedSky/TQ335x/uboot_TQ335x_Nand
#./build.sh
然后等待编译完成,编译完成后可以看到在此目录下有MLO和u-boot.bin文件,此文件可以直接烧录到板卡中启动。
编译kernel固件
下载linux源码Kernel_3.2_TQ3358_for_Linux_vX.X.tar.bz2,将其拷贝到根目录/opt目录下,然后在ubuntu系统中执行
#cd /opt
#tar xjf Kernel_3.2_TQ3358_for_Linux_v3.7.tar.bz2 -C /
#cd /opt/EmbedSky/TQ335x/Kernel_3.2_TQ335X_for_Linux
#./build.sh
然后等待编译完成,编译完成后可以看到在此目录下有zImage_CoreB_V1.bin,zImage_CoreB_V2.bin,zImage_CoreC.bin文件,分别对应TQ335x_CoreBV1板卡TQ335x_CoreB_V2板卡,TQ335x_CoreC板卡的内核,具体使用的是哪款板卡可以查看官网的产品信息。
制作开机logo
制作工具 Image2LCD
制作手册 Image2LCD使用手册.pdf
制作rootfs固件
下载系统源文件rootfs_general_vX.X.tgz,将其拷贝到根目录/下,然后在ubuntu系统中执行:
#mkdir rootfs //新建文件夹
#tar xvf rootfs_general_v1.0.tgz -C ./rootfs/ //解压到/rootfs,注意不要解压到根目录下
#/opt/EmbedSky/linaro-4.9/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/mkubi1G_4k ./rootfs
制作镁光型号的存储器镜像(2018年以后新买的板卡使用此命令)
执行成功之后可以在此目录下看到rootfs_4k.img文件,然后可以将此文件烧录到板卡。
#/opt/EmbedSky/linaro-4.9/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/mkubi1G_2k ./rootfs
制作Spantion型号的存储器镜像(一般2018年以前买的板卡使用此命令)
执行成功之后可以在此目录下看到rootfs_2k.img文件,然后可以将此文件烧录到板卡。
Kernel源码简介
内核使用的是 kernel_3.2。以下的路径都是在相对于内核根目录而言。由于驱动代码牵涉较广,难以将文件一一描述,所以以下提及的驱动源码只是相对主要或者是修改频率比较高的文件。
驱动 | 在内核中的源码位置 | 系统中的设备名称 |
---|---|---|
NAND Flash驱动 | drivers/mtd/nand/ | /dev/mtd (表示数字) |
LCD 驱动 | drivers/video/da8xx-fb.c | /dev/fb* |
电阻触摸屏驱动 | drivers/input/touchscreen/ti_tsc.c | dev/input/event* |
电容触摸屏驱动 | drivers/input/touchscreen/(模块化) | dev/input/event* |
USB驱动 | drivers/usb/* | /dev/ttyUSB* |
串口驱动 | drivers/tty/serial/omap-serial.c | /dev/ttySAC* |
声卡驱动 | sound/soc/codecs/stgl5000.module(模式化) sound/soc/davinci/tq_sgtl5000_evm.module(模式化) | /dev/snd/*(/dev/dsp) |
I2C驱动 | drivers/i2c/busses/i2c-omap.c | /dev/i2c-* |
背光灯驱动 | drivers/video/backlight/pwm_bl.c | /sys/class/backlight/* |
RTC驱动 | drivers/rtc/rtc-pcf8563.c | /dev/rtc0 |
看门狗驱动 | drivers/watchdog/omap_wdt.c | /dev/watchdog |
USB转串口驱动 | drivers/usb/serial/ (内核选择了generic.c) | /dev/ttyUSB0 |
USB的3G驱动 | USB的3G驱动 | /dev/ttyUSB0~3 |
CAN驱动 | drivers/net/can/d_can/* | can0、can1 |
网卡驱动 | drivers/net/ethernet/ti/* | eth0、eth1 |
编译QT程序
- 下载qt例程tqPainter.tar.gz
- 查看手册搭建环境及编译QT5.5开发环境搭建.pdf
二次封装库
- 查看文档:天嵌二次封装库
- 下载库:
linux_lib_v1.0.1.tar例程使用
- 下载Linux例程,天嵌提供部分接口的例程供参考。
- 按照以下相关demo说明参考使用例程
UART demo
(1)拷贝uart文件夹到Ubuntu任意目录下
(2)进入uart目录
(3)#cd uart
(4)执行编译脚本
(5)#./build.sh
(6)短接测试串口的RX和TX
(7)将执行程序拷贝至文件系统,进行收发数据测试,执行以下命令即可测试/dev/ttySAC1 是否可以正常收发数据
#./uart_app /dev/ttySAC1 -b 115200 -rw 123asd -asc -l
注:/dev/ttySAC1为你所测试自收发的串口,可用串口/dev/ttySAC0~5
/dev/ttySAC0为调试串口,串口有输出即可证明串口正常I2C demo
I2c可参考i2c文件夹的《天嵌I2C应用开发教程.pdf》
SPI demo
(1)拷贝spi文件夹到Ubuntu任意目录下
(2)进入spi目录#cd spi
(3)执行编译脚本
#./build.sh
(4)将/dev/spidev1.0的发送与接收引脚短接(如果需要测试其他的spi需要修改 spi_test.c的static const char *device参数)
(5)执行以下命令,发送指定数据#spi_test -s 50000 -p "ABCDEFG"
(6)若没有指定发送内容则发送以下数组
uint8_t default_tx[] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x95, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x0D, };
CAN demo
(1)拷贝can文件夹到Ubuntu任意目录下
(2)进入can目录#cd can
(3)执行编译脚本
#./build.sh
(4)短接can0 can1(H对H,L对L)
(5)将执行程序拷贝至文件系统,进行收发数据测试,执行以下命令即可测试CAN0、CAN1之间是否可以正常收发数据#./can_test
GPIO demo
(1)GPIO调试说明
a./sys/class/gpio/export文件用于通知系统需要导出控制的GPIO引脚编号,/sys/class/gpio/export写编号,比如以下命令,命令成功后生成/sys/class/gpio/gpio50目录,如果没有出现相应的目录,说明此引脚不可导出;
说明:计算引脚编号,引脚编号 = 控制引脚的寄存器基数 + 控制引脚寄存器位数#echo 50 > /sys/class/gpio/export
b.direction文件,定义输入输出方向;#echo out > /sys/class/gpio/gpio50/direction<br/>
c.value文件是端口的数值,为1或0. echo 1 > value
#echo 1 > /sys/class/gpio/gpio50/value #echo 0 > /sys/class/gpio/gpio50/value
(2)拷贝gpio文件夹到Ubuntu任意目录下
(3)进入gpio目录#cd gpio
(4)执行编译脚本(TQIMX6Q系列使用5.3.1的交叉编译器,其他平台参考使用)
#./build.sh
(5)gpio_in num1~num2 value
将gpio配置成输入模式,gpio口从num1到num2,将读取到的值打印出来,并与给定的value比较,不一致则会在屏幕打印ERROR
如 gpio_in 7~14 1
将gpio7至gpio14配置成输入模式,将读取到的value打印出来,并与1(高电平)比较,若读取的值与指定的不一致则会打印ERROR
gpio_out pin~pin value
将gpio配置成输出模式,gpio口从num1到num2,将value值输出到io口
如 gpio_out 7~14 1
将gpio7至gpio14配置成输出模式,输出高电平;
(6)使用万用表测量你所控的gpio脚
常用设备使用方法
注:本章节的使用方法仅在资源下载的镜像及源码版本上适用,其他版本的镜像及源码,不予保证功能正常使用,请以各自版本说明为准。
Wifi热点发送功能
本方法仅保证适用于tq-8723-wifi模块,在板卡串口终端上执行
#cd /test_file/
#./send_ap.sh
默认账号:test 密码:12345678
修改账号密码方法:
#vim /etc/hostapd.conf
账号对应项:ssid=test
密码对应项:wpa_passphrase=12345678
Wifi连接功能
本方法仅保证适用于tq-8723-wifi模块,在板卡串口终端上执行
#cd /test_file/
#./link_wifi.sh
默认账号:CDMA-yalu
密码:1234567890
wifi用户、密码修改:
#vim /etc/wpa_supplicant.conf
账号对应项:ssid="CDMA-yalu"
密码对应项:psk="1234567890"
4G全网通拨号上网
本方法仅保证适用于tq-SIM7100c,SIM7600c等模块,在板卡串口终端上执行
#cd /test_file/
#./test_file/link_4g-sim7600.sh
模块使用:
#cd test_file
#./test_file/link_4g-n720.sh
SSH远程登陆
先在开发板中配置好网络,例如下面命令是将以太网的ip设置为192.168.1.6:
#ifconfig eth0 up
#ifconfig eth0 192.168.1.6
然后在PC中执行ssh root@192.168.1.6可以登录开发板(前提是网络能够互相ping通)
FTP获取文件
先安装环境搭建章节搭建好ftp服务器后,在开发板上执行以下命令可以获取电脑中的文件:
#ftpget -u ftpname -p 123 192.168.1.xxx filename
其中123为用户ftpname的密码,192.168.1.xxx为ftp服务器的ip,filename为需要获取的文件名。
常用外设使用方法
adc使用
在命令行中读取adc的值:
#cat /sys/bus/iio/devices/iio:device0/in_voltageN_raw
其中N表示adc的通道标号,例如要读取AIN4管脚的电压,N为4 在代码中读取adc的值可参考以下代码:
Int fd = Open(“/sys/bus/iio/devices/iio:device0/in_voltageN_raw”,O_RDONLY);
Read(fd,buff,sizeof(buff));
Close(fd);
控制背光
在命令行中设置背光亮度:
#echo xxx > /sys/class/backlight/pwm-backlight/brightness
其中xxx为0~100的数值,表示背光的亮度 在代码中设置背光亮度:
Int fd = Open("/sys/class/backlight/pwm-backlight/brightness",O_RDWR);
write(fd,"50",2); //设置背光值为50
Close(fd);
修改&取消默认启动程序
修改/etc/embedsky_conf文件,/opt/PDA/bin/tqpda &是默认开机启动qt程序,若要取消开机启动程序,在其前面加#注释掉即可;若要修改默认启动程序将其替换自己要的程序即可。
Linux-Preempt_RT开发指南
说明:此linux4.14-Preempt_RT抢占式实时操作系统,基于TI官方移植,目前仅支持TQ335x_CoreB_V2板卡,且部分功能正在更新完善中;后续如有更新、或者支持更多的平台板卡会第一时间发布公告。
注:linux4.14-Preempt_RT必须使用window最新的工具《Windows_TQSDMaker_v1.3.2》,才可以完全烧写,详见“烧录固件”篇。
编译bootloader固件
下载uboot源码uboot_TQ335x_linux-4.14-RT-Preempt_vX.X.X.tar,将其拷贝到根目录/opt目录下,然后在ubuntu系统中执行
#cd /opt
#tar xjf uboot_TQ335x_linux-4.14-RT-Preempt_vX.X.X.tar -C /
#cd /opt/EmbedSky/TQ335x/uboot_TQ335X_dtb
#./build.sh
然后等待编译完成,编译完成后可以看到在此目录下有MLO和u-boot.bin文件,此文件可以直接烧录到板卡中启动。
编译kernel固件
下载linux源码kernel_TQ335x_linux-4.14-RT-Preempt_vX.X.X.tar.bz2,将其拷贝到根目录/opt目录下,然后在ubuntu系统中执行
#cd /opt
#tar xjf kernel_TQ335x_linux-4.14-RT-Preempt_vX.X.X.tar.bz2 -C /
#cd /opt/EmbedSky/TQ335x/linux-rt-4.14.79
#./build.sh
然后等待编译完成,编译完成后可以看到在此目录下有内核zImage,和两个设备树tq335x-coreb-v2.dtb(1路can + 6路串口设备树,含调试串口), tq335x-coreb-v2-can.dtb(2路can + 5路串口,含调试串口)文件,由于板卡外设存在多个功能引脚复用情况,具体使用的配置情况,请结合原理图和源代码去分析。
制作rootfs固件
下载系统源文件rootfs_general_vX.X.tgz,将其拷贝到根目录/下,然后在ubuntu系统中执行:
#mkdir rootfs //新建文件夹
#tar xvf rootfs_general_v1.0.tgz -C ./rootfs/ //解压到/rootfs,注意不要解压到根目录下
#/opt/EmbedSky/linaro-4.9/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/mkubi1G_4k ./rootfs
制作镁光型号的存储器镜像(2018年以后新买的板卡使用此命令)
执行成功之后可以在此目录下看到rootfs_4k.img文件,然后可以将此文件烧录到板卡。
#/opt/EmbedSky/linaro-4.9/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/mkubi1G_2k ./rootfs
制作Spantion型号的存储器镜像(一般2018年以前买的板卡使用此命令)
执行成功之后可以在此目录下看到rootfs_2k.img文件,然后可以将此文件烧录到板卡。
Kernel-Preempt_RT源码简介
内核使用的是 kernel_4.14-Preempt_RT。以下的路径都是在相对于内核根目录而言。由于驱动代码牵涉较广,难以将文件一一描述,所以以下提及的驱动源码只是相对主要或者是修改频率比较高的文件。
驱动 | 在内核中的源码位置 | 系统中的设备名称 |
---|---|---|
设备树 | arch/arm/boot/dts/devicetree.dtsi arch/arm/boot/dts/tq335x-coreb-v2-can.dts arch/arm/boot/dts/tq335x-coreb-v2.dts | xxx.dtb(编译后对应固件) |
NAND Flash驱动 | drivers/mtd/nand/ | /dev/mtd (表示数字) |
LCD 驱动 | drivers/video/of_display_timing.c drivers/video/display_timing.c drivers/video/of_videomode.c drivers/video/videomode.c等 | /dev/fb* |
电阻触摸屏驱动 | drivers/input/touchscreen/ti_am335x_tsc.c | dev/input/event* |
电容触摸屏驱动 | drivers/embedsky/touch/xxx.c | dev/input/event* |
USB驱动 | drivers/usb/* | /dev/ttyUSB* |
串口驱动 | drivers/tty/serial/serial_core.c | /dev/ttySAC* |
声卡驱动 | sound/soc/codecs/sgtl5000.c sound/soc/codecs/snd-soc-sgtl5000.c | /dev/snd/*(/dev/dsp) |
I2C驱动 | drivers/i2c/busses/i2c-omap.c | /dev/i2c-* |
背光灯驱动 | drivers/video/backlight/pwm_bl.c | /sys/class/backlight/* |
RTC驱动 | drivers/rtc/rtc-pcf8563.c | /dev/rtc0 |
看门狗驱动 | drivers/watchdog/omap_wdt.c | /dev/watchdog |
USB转串口驱动 | drivers/usb/serial/ (内核选择了generic.c) | /dev/ttyUSB0 |
USB的3G驱动 | USB的3G驱动 | /dev/ttyUSB0~3 |
CAN驱动 | drivers/net/can/c_can/* | can0、can1 |
网卡驱动 | drivers/net/ethernet/ti/* | eth0、eth1 |
编译QT程序
- 下载qt例程tqPainter.tar.gz
- 查看手册搭建环境及编译QT5.5开发环境搭建.pdf
例程使用
常用设备使用方法
注:本章节的使用方法仅在资源下载的镜像及源码版本上适用,其他版本的镜像及源码,不予保证功能正常使用,请以各自版本说明为准。
Wifi热点发送功能
本方法仅保证适用于tq-8723-wifi模块,在板卡串口终端上执行
#cd /test_file/
#./send_ap.sh
默认账号:test 密码:12345678
修改账号密码方法:
#vim /etc/hostapd.conf
账号对应项:ssid=test
密码对应项:wpa_passphrase=12345678
Wifi连接功能
本方法仅保证适用于tq-8723-wifi模块,在板卡串口终端上执行
#cd /test_file/
#./link_wifi.sh
默认账号:CDMA-yalu
密码:1234567890
wifi用户、密码修改:
#vim /etc/wpa_supplicant.conf
账号对应项:ssid="CDMA-yalu"
密码对应项:psk="1234567890"
4G全网通拨号上网
本方法仅保证适用于tq-SIM7100c,SIM7600c等模块,在板卡串口终端上执行
#cd /test_file/
#./test_file/link_4g-sim7600.sh
模块使用:
#cd test_file
#./test_file/link_4g-n720.sh
SSH远程登陆
先在开发板中配置好网络,例如下面命令是将以太网的ip设置为192.168.1.6:
#ifconfig eth0 up
#ifconfig eth0 192.168.1.6
然后在PC中执行ssh root@192.168.1.6可以登录开发板(前提是网络能够互相ping通)
FTP获取文件
先安装环境搭建章节搭建好ftp服务器后,在开发板上执行以下命令可以获取电脑中的文件:
#ftpget -u ftpname -p 123 192.168.1.xxx filename
其中123为用户ftpname的密码,192.168.1.xxx为ftp服务器的ip,filename为需要获取的文件名。
常用外设使用方法
adc使用
在命令行中读取adc的值:
#cat /sys/bus/iio/devices/iio:device0/in_voltageN_raw
其中N表示adc的通道标号,例如要读取AIN4管脚的电压,N为4 在代码中读取adc的值可参考以下代码:
Int fd = Open(“/sys/bus/iio/devices/iio:device0/in_voltageN_raw”,O_RDONLY);
Read(fd,buff,sizeof(buff));
Close(fd);
控制背光
在命令行中设置背光亮度:
#echo xxx > /sys/class/backlight/pwm-backlight/brightness
其中xxx为0~100的数值,表示背光的亮度 在代码中设置背光亮度:
Int fd = Open("/sys/class/backlight/pwm-backlight/brightness",O_RDWR);
write(fd,"50",2); //设置背光值为50
Close(fd);
修改&取消默认启动程序
修改/etc/embedsky_conf文件,/opt/PDA/bin/tqpda &是默认开机启动qt程序,若要取消开机启动程序,在其前面加#注释掉即可;若要修改默认启动程序将其替换自己要的程序即可。
常见问题解答
FAQ
FAQ详细信息,请查看《
TQ335X_FAQ》文档,文档总结了使用TQIMX6Q系列平台所遇到的部分问题及解决方法,如果查看文档仍未解决问题,请拨打技术支持电话或者发送邮件到技术支持邮箱寻求技术支持。
技术支持说明
天嵌科技致力于高科技产业发展提供技术与服务,为广大客户提供嵌入式技术软硬件开发工具与解决方案,致力于ARM内核系列CPU的开发和应用,提供低功耗、高性价比的嵌入式产品,提供针对性强、量身定制的客户化设计;无论是新设计还是对现有产品的改型设计,我们都会为您提供高品质的开发服务。
由于时间有限,手册难免存在纰漏和错误,诚恳的希望各位读者批评和指正。关于修改的bug,我们会在第一时间在论坛上更新,论坛建有技术支持专区,欢迎大家遇到问题去里面寻找解决方法。还可以通过邮件(support@embedsky.net)与我们联系(为了能够方便跟进记录,请参照邮件落款模板发送邮件)。希望能结识更多的朋友,大家一起共同进步。
- 官方网站:http://www.embedsky.com
- 论坛:http://www.armbbs.net
- 淘宝店铺:https://embedsky.taobao.com
- 技术支持邮件:support@embedsky.net
- 技术支持电话:020-38373101-810(IMX6Q)
020-38373101-814(IMX6UL)<br/ 020-38373101-818(335X)
邮件落款模板
烧写镜像文件版本号:xxx (例如:V2.0_R1.0,版本号在文件名后面有)
使用板卡、系统:xxx (例如:e9 android 4.3)
联系人:xxxxx
联系方式:xxxxx
公司:xxxxxx (例如:天嵌科技、学校等等)
常规技术支持范围
资源下载
Linux平台工具
Linux资源
linux例程
出厂镜像合集
Linux平台工具
windows平台工具
配套电路图
配套芯片手册
配套教材集