• TQi.MX8MM
  • 产品选型

    TQiMX8MM_v1.1接口说明

    产品名称 TQIMX8MM
    CPU主频 Quad-core Cortex-A53 up to 1.8GHz,单核通用 Cortex-M4 up to 400MHz
    内存 2GB,DDR4
    存储 8/16/32/64GB,EMMC
    外扩存储 标准 Micro SD 卡,支持大于 16G 以上。Micro SD 卡安装方式:标准 Micro SD 卡,外插式安装。
    移动通信 应配置同时支持中国移动、中国联通、中国电信 4G/3G/2G 的全网通通 信模块。 4G/3G 通信 SIM 卡通信方式:1 个标准 SIM 卡插槽,支持外插式安装。
    显示 LVDS:双 8,最高支持 1920x1200 显示 MIPI:支持 1080P 显示,与 LVDS 复用
    UART UART共4路: TTL:3路, BT:1路
    USB USB共3路: Micro USB:USBOTG,1路引出; USB2.0:USBHOST,2 路 USBA2.0 接口
    网络 以太网:1路,10/100M/1000M,RJ45
    声音 标准3.5mm音频接口 内置功放,一路1W 4P 2.0间距接口,立体声。
    时钟 RTC时钟,需接纽扣电池。
    按键 2 路按键:1 路复位按键, 1 路 ONOFF 按键。
    电源 输入额定电压:DC12V,输入范围DC9V-15V。
    尺寸 100mm×120mm×15mm
    软件系统 Android10.0、Linux、Ubuntu
    更新升级 具备 Micro SD 卡和 USB 自动升级内核、文件系统、应用程序。
    工作温度 商业级: 0℃~70℃,工业级:-40℃~85℃
    应用领域 TQIMX8MM具有业界领先的音频、语音和视频处理功能,可适用于广泛的商业、工业医用领域:包括各类音视频应用、广告机、智能充电桩、新零售自动售货/售票机、人机互动查询及业务办理机、智慧灯杆、智慧楼宇、智慧医疗、智能交通、智慧城市、车联网、电力物联网等领域。

    烧录固件

    注:以下简便操作步骤提及资料均可在资源下载章节处下载

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

      SD卡烧录(推荐)

      1.下载出厂固件
      2.安装SD制作烧录卡工具 Windows_TQSDMaker.zip制作烧录卡
      3.制卡成功后拨码为SD卡启动模式启动(建议连接串口查看串口信息)
      4.烧录完成后断电将启动模式拨回emmc启动

      Fastboot 更新

      Fastboot更新操作较为复杂,请参数手册操作
      SD卡烧录和Fastboot 更新详细操作参照 TQIMX8MM镜像更新手册_V1.0_20211206.pdf

      串口调试

      连接串口线

      调试串口输出TTL电平,电平范围是0-3.3V,请勿接到高于3.3V的串口信号上,市面上很多USB转串口的串口工具是5V的,请注意选择3.3V的版本,否则会有烧坏CPU的风险。
      image.png

      Windows平台使用终端

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

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

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

    输入图片说明

    Ubuntu平台使用终端

    安装minicom 用户可以通过网络或者直接使用光盘的源码进行安装。使用网络安装需要连接互联网,更为简单方便,推荐使用。

    1.安装minicom。
    直接在终端执行:

    #apt-get install minicom

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

    输入图片说明
    进入串口配置界面,输入A配置串口驱动为/dev/ttyS0(不管在windows中是COMn(n可以是任意数),在虚拟机的Ubuntu下均是ttyS(0)后回车,如果是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串口设备。

    扩展模块

    注:本章节所列模块仅在资源下载的镜像及源码版本上适用,其他版本的源码及源码版本,不予保证功能正常使用,请以各自版本说明为准。

    模块名称 Android Linux+QT
    USB WIFI AP6212 OK(板载) OK(板载)
    USB 4G(N720) OK OK
    10.1寸高清电容屏 OK OK
    OV5640 暂不支持 暂不支持

    安装编译环境

    具体安装编译环境请参考TQIMX8MM环境搭建手册_V1.0_20211206.pdf大致步骤如下:
    1.在主机上安装Ubuntu16.04 64位操作系统;
    2.如需编译Linux源码,安装tqimx8mm_sdk.tgz,Linux编译环境搭建所需开发工具包(包含交叉编译器aarch64-poky-linunx-gcc及为imx8mm平台编译应用程序需要的各种库(如Qt、OpenGL ES等))
    3.如需编译Android源码,使用天嵌科技提供的脚本安装必备的库和gcc编译器,下载ubuntu_env_install.sh后执行

    #./ubuntu_env_install.sh 

    主要安装java和32位的库,安装完成后可使用java -version来查看java的版本。 检查版本:gcc/g++版本是5.4,java的版本openjdk version 1.8.0

    硬件开发指南

    TQIMX8MM目前不对外开源硬件原理图,仅提供硬件手册及引脚定义说明如下:
    TQIMX8MM开发平台硬件手册-20201113.pdf
    TQIMX8MM核心板引脚定义说明V1_1-20210225.pdf

    Linux开发指南

    编译u-boot

    下载uboot源码TQIMX8MM_uboot_V1.0.tar.bz2将其拷贝Ubuntu目录下执行:

    #tar xvf TQIMX8MM_uboot_vX.X.tar.bz2
    #cd opt/EmbedSky/TQIMX8MM/uboot-imx/
    # ./build.sh pack

    然后等待编译完成,编译完成后可以看到在此目录下有imx-boot_imx8mm文件,此文件可以直接烧录到板卡中启动

    编译内核

    下载uboot源码TQIMX8MM_uboot_V1.0.tar.bz2将其拷贝Ubuntu目录下执行:

    #tar xvf TQIMX8MM_linux_vX.X.tar.bz2
    #cd opt/EmbedSky/TQIMX8MM/kernel-imx/
    # ./build.sh pack

    然后等待编译完成,编译完成后可以看到在此目录下有boot_linux.img文件,此文件可以直接烧录到板卡中启动。

    制作rootfs

    镜像解包

    通过执行如下命令将Rootfs镜像解压然后挂载到/tmp/mnt路径下,为后续的镜像定制步骤创造条件。

    simg2img rootfs_v1.5.ext4.sparse rootfs_v1.5.ext4   # 解压sparse格式的镜像
    mkdir /tmp/mnt
    sudo mount rootfs_v1.5.ext4 /tmp/mnt
    mount -t proc proc /tmp/mnt/proc
    mount -t sysfs sysfs /tmp/mnt/sys
    mount -o bind /dev /tmp/mnt/dev
    echo 'nameserver 8.8.8.8' > /tmp/mnt/etc/resolv.conf

    执行完成以上命令后,后续的所有定制镜像操作均针对镜像挂载目录/tmp/mnt进行,对挂载目录/tmp/mnt的所有修改均会体现在最终打包生成的定制镜像中。

    定制镜像

    根据实际需求添加修改自定义文件:
    1.向rootfs镜像添加动态链接库文件及可执行文件
    2.使用apt目录为镜像预 安装/卸载 软件
    3.修改rootfs镜像配置

    重新打包

    通过执行如下命令将定制后的ROOTFS镜像重新打包,以便通过制作烧录卡或者使用fastboot工具等方式将镜像烧录到TQIMX8MM板载eMMC中。

    sudo umount /tmp/mnt/proc
    sudo umount /tmp/mnt/sys
    sudo umount /tmp/mnt/dev
    sudo umount /tmp/mnt
    img2simg rootfs_v1.5.ext4 rootfs_v1.5_customize.ext4.sparse # 将ext4镜像压缩为sparse格式

    执行完成上述命令后生成的镜像文件rootfs_v1.5_customize.ext4.sparse即为可用于烧录验证的定制版rootfs镜像。

    例程使用

    Demo例程源码 天嵌提供配套demo程序源码
    qt5例程源码天嵌提供qt5例程源码
    psplash_imx8mm 文件系统开机图片更换源码
    具体例程编译&qt编译&外设基础功能测试查看TQIMX8MM_Linux使用手册_V1.1_20220112.pdf

    Kernel源码简介

    内核使用的是kernel_5.4.24。以下的路径都是在相对于内核根目录而言。由于驱动代码牵涉较广,难以将文件做到一一描述,所以以下提及的驱动源码只是相对主要或者是修改频率比较高的文件。 tqimx8mm主要使用的dts为:

    文件名 功能
    arch/arm64/boot/dts/freescale/imx8mm.dtsi 关于IMX8MM SOC核心模块的配置信息,通常不需要修改,主要用于修改其他设备树文件时参考。
    arch/arm64/boot/dts/freescale/imx8mm-tqv1.dts PINMUX(引脚复用)、PMIC功能在该文件中进行配置。
    arch/arm64/boot/dts/freescale/imx8mm-tqv1-lvds.dts 适配了本司标准底板及10.1寸LVDS屏幕的设备树文件。底板硬件及屏幕的特有配置在该文件中修改:包括屏幕参数、屏幕初始化代码、底板特有外设等。适配新底板或者屏幕时主要修改该文件。
    arch/arm64/boot/dts/freescale/imx8mm-tqv1-xxx.dts 适配了本司标准底板其他MIPI屏幕的设备树文件。

    tqimx8mm主要的内核源码位置:

    驱动 在内核中的源码位置 系统中的设备名称
    串口驱动 drivers/tty/serial/imx.c /dev/ttymxc*
    SDHC驱动 drivers/mmc/host/sdhci-esdhc-imx.c /dev/mmcblk*
    I2C总线驱动 drivers/i2c/busses/i2c-imx.c /dev/i2c-*
    RTC驱动 drivers/rtc/rtc-pcf8563.c /dev/rtc0
    有线网络驱动 drivers/net/ethernet/freescale/fec_main.c eth0
    MIPI 显示驱动 drivers/gpu/drm/imx/sec_mipi_dsim-imx.cdrivers/gpu/drm/panel/panel-simple.c /dev/fb*
    背光驱动 drivers/video/backlight/pwm_bl.c /sys/class/backlight/mipi_backlight
    声卡驱动 sound/soc/codecs/wm8960.csound/soc/fsl/imx-wm8960.c /dev/snd*
    按键驱动 drivers/input/keyboard/gpio_keys.c /dev/input/event*
    pwm驱动 drivers/pwm/pwm-imx27.c /sys/class/pwm/pwmchip*
    SPI驱动 drivers/spi/spi-imx.c /dev/spidev1.0
    触摸驱动 drivers/embedsky/* (我司使用的驱动,不开源) /dev/input/event*

    常见问题解答

    暂缺

    技术支持说明

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

    邮件落款模板

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

    常规技术支持范围

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

    资源下载

    Linux资源
    Linux平台工具
    Windows平台工具
    出厂烧录镜像合集
    开发板配套硬件资源
    开发板配套教材集
    开发板配套芯片手册