• TQ335XB_V2
  • 产品选型

    TQ335XB_V2接口说明

    产品名称 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摄像头
    配套模块 链接 链接
    产品图片 TQ335XB_V2 TQ335XC_V1
    应用领域 适用于工业控制、智能家居、工业自动化、医疗器械、工业物联网、网关、储物柜、智能收费系统、游戏外设、打印机、教育控制台、安全防护、显示控制等 适用于工业控制、智能家居、工业自动化、医疗器械、工业物联网、网关、储物柜、智能收费系统、游戏外设、打印机、教育控制台、安全防护、显示控制等

    烧录固件

    1. 启动方式介绍
      注:下表的拨码为网口朝上,向上为 1,向下为 0。
    启动方式 BOOT2 BOOT3 启动方式
    NAND启动 1 0 NAND启动
    SD卡启动 0 1 SD卡启动
    1. 烧录相关说明
      出厂默认已经烧写Android系统,NAND启动模式下可以正常启动系统,如果需要更换系统,则需要使用SD卡或TFTP烧录方式重新烧录板子。
      注:烧录前建议先连接串口线,如烧录失败,根据串口打印信息分析错误原因。

    SD卡烧录

    1. Windows下制作烧录卡
      下载Windows_TQSDMaker_v1.3.2(提取码:x0af),详细的Windows下制作烧录卡信息请查看使用手册:TQSDMaker用户使用手册.pdf
    2. 成功制作SD烧录卡后,将拨码启动方式拨为01(SD卡启动),插卡上电进行烧录操作;
    3. 烧录成功后断电拨回NAND启动(10)启动。

    TFTP烧录

    如果无法从 nand 启动,在 tftp 烧写前要先制作 sd 启动卡,如果nand可以启动可以直接进入uboot菜单通过网络进行TFTP烧录
    大致步骤如下:

    1. 搭建TFTP服务器,具体可参考安装编译环境章节
    2. 接上串口,上电。在uboot倒数完之前,按空格键中断自动启动进入uboot菜单
    3. 进入命令行菜单选择->2->n,设置TFTP服务器参数
    4. 设置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 :
    5. 更新完断电启动系统(或者返回主菜单按8启动系统)
      详细uboot配置可参考TQ335x_uboot菜单手册.pdf

    串口调试

    连接串口线

    TQ335XB_V2串口接线图

    Windows平台使用终端

    因为在window平台下只是作为测试使用,并没有在上面进行开发,所以搭建过程较简单,只是安装一个串口终端即可。
    首先安装SecureCRT安装结束后,单击SecureCRT.exe,打开SecureCRT,如下图所示:
    image.png

    单击上图中红色框的图标,出现如下图设置框:
    image.png

    在协议里面选择Serial,出现如下图所示的对话框,详细设置参考下图。
    注意:端口选项部分根据您的实际使用的端口进行配置,其他选项请一定配置如下图所示。
    说明:RTS/CTS一定不能选,否则可能出现串口有输出,没法输入的情况。
    image.png

    配置完毕后,单击上图的“连接”选项即可连通串口。
    说明1:当打开了多个串口工具,并且他们还都使用同一个串口端口,那么肯定会出现后来打开的软件报告端口忙的错误,解决办法:关掉不需要的串口工具。
    说明2:在设备管理器中可以查看您的电脑的串口设备名,下图中红色框内的COM3和COM4就是本手册编写者的电脑里面的串口设备名(如果是在下图所示的电脑中设置SecureCRT软件时,请将端口栏设置为COM3COM4,而不是上图中的COM1了,这里特意用了两台不一样的电脑进行截图加以说明的),下图的COM3和COM4仅供参考,您的电脑的串口名请以实际为准;如果您的电脑没有串口设备,请使用USB转串口,USB转串口后的设备名也是COMnn的数值以实际为准)。
    image.png

    Ubuntu平台使用终端

    1. 安装minicom
      用户可以通过网络或者直接使用光盘的源码进行安装。使用网络安装需要连接互联网,更为简单方便,推荐使用。
      安装minicom。
      直接在终端执行:
      #apt-get install minicom

      即可。

    2. 配置minicom
      安装minicom完成后,输入命令#minicom -s启动,将出现配置菜单:使用PC键盘的上下键选中serial port setup选项后,用回车键进入串口配置。
      image.png

    进入串口配置界面,输入A配置串口驱动为/dev/ttyS0(不管在windows中是COMn(n可以是任意数),在虚拟机的Ubuntu下均是ttyS0)后回车,如果是usb转串口设备名应该作用/dev/ttyUSBn(n为数字,视实际而定,一般为0)。输入E配置速率为115200 8N1输入F将Hardware Flow Control设为NO,回车退出。
    image.png

    由于使用minicom作为超级终端控制路由器等设备, 而不是控制modem,所以需要修改modem and dialing。
    image.png

    将Modem and dialing配置单中得Init string、 Reset string、Hang-up string设置为空。
    image.png

    Step6、设置完成后选择Save setup as dfl选项将当前设置保存为默认设置;在配置菜单上选择Save setup as dfl保存配置单(一定要做这一步,否则下次启动minicom时还需要重新配置);选择Exit退出配置并进入minicom的操作界面。
    image.png

    下次需要启动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

    安装编译环境

    1. 下载gcc-linaro-4.9-20190425.tar.bz2(提取码:rx7i)文件,将其拷贝到根目录/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文件

    硬件开发指南

    TQ335XB_V2开发板用户硬件手册

    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

    性能参数

    板卡性能参数表

    功耗参数

    工作条件 电源电压 电源电流 基本功耗 电源电流峰值 最大功耗
    系统启动过程 12v 300mA 3.6W 320mA 3.84W
    待机基本界面 12v 250mA 3W 270mA 3.24W
    播放视频
    接通网络
    工作条件 电源电压 电源电流 基本功耗 电源电流峰值 最大功耗
    系统启动过程 12v 400mA 4.8W 420mA 5.04W
    待机基本界面 12v 370mA 4.44W 370mA 4.44W
    播放视频
    接通网络
    工作条件 电源电压 电源电流 基本功耗 电源电流峰值 最大功耗
    系统启动过程 12v 400mA 4.8W 450mA 5.4W
    待机基本界面 12v 380mA 4.56W 400mA 4.8W
    播放视频
    接通网络
    工作条件 电源电压 电源电流 基本功耗 电源电流峰值 最大功耗
    系统启动过程
    待机基本界面
    播放视频
    接通网络
    工作条件 电源电压 电源电流 基本功耗 电源电流峰值 最大功耗
    系统启动过程 12v 150mA 1.8W 200mA 2.4W
    待机基本界面 12v 130mA 1.56W 130mA 1.56W
    播放视频
    接通网络

    Linux开发指南

    编译bootloader固件

    下载uboot源码uboot_TQ3358_Nand_VX.X.X.tar(提取码:4qa0),将其拷贝到根目录/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(提取码:sqqg),将其拷贝到根目录/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(提取码:05pd)
    制作手册 Image2LCD使用手册.pdf

    制作rootfs固件

    下载系统源文件rootfs_general_vX.X.tgz(提取码:m5po),将其拷贝到根目录/下,然后在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程序

    1. 下载qt例程tqPainter.tar.gz(提取码:431a)
    2. 查看手册搭建环境及编译QT5.5开发环境搭建.pdf

    二次封装库

    例程使用

    1. 下载Linux例程,天嵌提供部分接口的例程供参考。
    2. 按照以下相关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

      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(提取码:ej27),将其拷贝到根目录/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(提取码:1d9n),将其拷贝到根目录/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(提取码:m5po),将其拷贝到根目录/下,然后在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程序

    1. 下载qt例程tqPainter.tar.gz(提取码:431a)
    2. 查看手册搭建环境及编译QT5.5开发环境搭建.pdf

    例程使用

    1. 下载Linux例程,天嵌提供部分接口的例程供参考。
    2. 按照以下相关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/ttySAC1~3
      /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

      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程序,若要取消开机启动程序,在其前面加#注释掉即可;若要修改默认启动程序将其替换自己要的程序即可。

    常见问题解答

    FAQ

    FAQ详细信息,请查看《 TQ335X_FAQ》文档,文档总结了使用TQIMX6Q系列平台所遇到的部分问题及解决方法,如果查看文档仍未解决问题,请拨打技术支持电话或者发送邮件到技术支持邮箱寻求技术支持。

    技术支持说明

    天嵌科技致力于高科技产业发展提供技术与服务,为广大客户提供嵌入式技术软硬件开发工具与解决方案,致力于ARM内核系列CPU的开发和应用,提供低功耗、高性价比的嵌入式产品,提供针对性强、量身定制的客户化设计;无论是新设计还是对现有产品的改型设计,我们都会为您提供高品质的开发服务。
    由于时间有限,手册难免存在纰漏和错误,诚恳的希望各位读者批评和指正。关于修改的bug,我们会在第一时间在论坛上更新,论坛建有技术支持专区,欢迎大家遇到问题去里面寻找解决方法。还可以通过邮件(support@embedsky.net)与我们联系(为了能够方便跟进记录,请参照邮件落款模板发送邮件)。希望能结识更多的朋友,大家一起共同进步。

    邮件落款模板

    烧写镜像文件版本号:xxx (例如:V2.0_R1.0,版本号在文件名后面有)
    使用板卡、系统:xxx (例如:e9 android 4.3)
    联系人:xxxxx
    联系方式:xxxxx
    公司:xxxxxx (例如:天嵌科技、学校等等)

    常规技术支持范围

    1. 使用我司的镜像与开发板。
    2. 系统或硬件出现问题时(不包含客户自行开发)

    资源下载

    linux固件源码(提取码:iupi)
    出厂固件(提取码:g4p2)
    linux例程(提取码:dt95)
    ubuntu工具&开发环境(提取码:ktam)
    windows工具(提取码:05pd)
    原理图(提取码:k7ps)
    芯片手册 (提取码:xxef)