Getting Started with the i.MX 8M Nano EVK Board | NXP 半导体

i.MX 8M Nano EVK板快速入门

上次修改时间: 2019-11-19 14:42:00支持 i.MX 8M Nano评估套件

1. 开箱即用

下面描述了启动i.MX 8M Nano EVK的步骤。

开发套件包含:

  • 面向智能设备的i.MX 8M Nano EVK板
  • USB线缆(Micro-B至Standard-A)
  • USB C型线缆——C型公头转A型公头
  • USB C型转A型适配器
  • USB C型45W电源,支持5V/3A、9V/3A、15V/3A、20V/2.25A
  • IMX-MIPI-HDMI子卡
  • Mini-SAS线缆
  • 快速入门指南
  • Android BSP闪存到eMMC中。
Video Player is loading.
Current Time 0:00
Duration 0:00
Loaded: 0%
Stream Type LIVE
Remaining Time 0:00
 
1x
  • Chapters
  • descriptions off, selected
  • captions off, selected

      1.1 熟悉板

      i.MX 8M Nano Callouts Front side

      i.MX 8M Nano Top side

      i.MX 8M Nano Callouts Back side

      i.MX 8M Nano Back side

      i.MX 8M Nano EVK套件附带IMX-MIPI-HDMI子卡,用于展示板的图形显示功能。

      I.MX-MIPI-HDMI-8M-NANO-EVK

      I.MX-MIPI-HDMI-8M-NANO-EVK

      1.2 确认启动开关

      启动开关应设置为从eMMC启动。仅使用SW1101[1-4]启动。见下表。

      启动设备 SW1101 SW1102
      eMMC/SDHC3 0100xxxxxx xxxxxxxxxx

      《 i.MX 8M Nano参考手册》和开关附近板上的丝印层也提供相同的信息。

      1.3 从eMMC启动

      i.MX 8M Nano EVK配备一个预置的恩智浦Android二进制演示镜像,闪存在eMMC上。无需修改内部的二进制文件,从eMMC启动将提供具有某些功能的默认系统,在Android上构建其他应用。

      1.4 连接USB调试线缆

      将所提供的USB线缆的micro-B端连接到调试UART端口J901。将线缆的另一端连接到主机。

      如果您不确定如何使用终端应用,请根据主机的操作系统尝试以下任一教程:Minicom教程Tera Term教程PuTTY教程

      1.5 连接HDMI线缆

      评估HDMI需要MIPI-DSI转HDMI附件卡和微型SAS电缆。

      将微型SAS电缆连接到EVK上的J801(MIPI DSI连接器)。将mini-SAS电缆的另一端连接到MIPI转HDMI附件卡上的J5。请参见下图。

      i.MX 8M NANO Assambled

      i.MX 8M NANO Assambled

      1.6 启动开关设置

      启动顺序参见《 i.MX 8M Nano参考手册》。简言之,i.MX板的启动模式由启动配置开关来控制。

      这些开关设置启动介质(具体取决于板,例如SD卡、eMMC、NAND)、串行下载协议模式(SDP)或电熔丝的值设置。

      SDP也是启动介质的后备,换句话说,当开关配置为从SD卡启动但SD卡插槽为空,或者SD卡二进制文件内容不可启动时,启动顺序转为SDP启动。8

      下表列出了i.MX 8M Nano EVK板的启动开关设置。《 i.MX 8M Nano参考手册》和开关附近板上的丝印层也提供相同的信息。

      启动Media SW1101[D1-D10] SW1102[D1-D10]
      eMMC/SDHC3 0100xxxxxx xxxxxxxxxx
      MicroSD/SDHC2 1100xxxxxx xxxxxxxxxx
      NAND闪存 0010xxxxxx xxxxxxxxxx
      SDP 1000xxxxxx xxxxxxxxxx

      1.7 接通电源

      将电源线插入电源接头(J302)。

      翻转开关为板通电(SW101)。

      处理器开始执行片上ROM的代码。使用默认启动开关设置,代码读取熔丝,定义可能有可启动镜像的介质。找到可启动镜像后,U-Boot执行应自动开始。

      信息在Cortex®-A53的串行控制台中打印。如果不停止U-boot流程,就会继续启动内核。

      1.8 恭喜,Android系统已启动

      在启动过程中,您会看到HDMI显示屏的左上角出现4只企鹅。在启动过程完成后,您将看到Android标识和Android桌面。您可以用鼠标开始操作。将鼠标通过包装盒中提供的USB Type-C连接到J301(USB Type-C端口1)。

      2. 获取软件

      本部分仅适用于试图将Linux操作系统加载到板的情况。

      i.MX Linux板级支持包(BSP)是一系列二进制文件、源代码和支持文件,可用来启动特定i.MX开发平台上的Embedded Linux镜像。

      当前Linux二进制演示文件版本请参见i.MXLinux下载页面i.MX软件和开发工具的Linux部分中的i.MX Linux文档包提供其他文档。

      2.1 概述

      Linux操作系统内核在i.MX板上启动前,需要将Linux加载到启动设备(SD卡、eMMC等),而启动开关需要设置为启动此设备。

      为不同的板和启动设备下载Linux BSP镜像有多种方法。

      本入门指南仅列出了将Linux BSP镜像传输到SD卡的几种方法。经验丰富的Linux开发人员可探究其他选项。

      2.2 下载恩智浦Linux BSP预构建镜像

      i.MX 8M Nano EVK最新的预构建镜像请参见Linux最新版本的Linux下载页面

      预建的恩智浦Linux二进制演示镜像提供典型系统和基本的功能集,用于使用和评估处理器。无需修改系统,用户就可以评估硬件接口、测试SoC功能并运行用户空间应用。

      预建的恩智浦Linux二进制演示镜像提供典型系统和基本的功能集,用于使用和评估处理器。无需修改系统,用户就可以评估硬件接口、测试SoC功能并运行用户空间应用。

      当需要更多灵活性时,SD卡可逐一与单个组件(引导加载程序、内核、dtb文件和roofs文件)一起加载,也可以加载.sdcard镜像,并且特定组件可以覆盖单个部件。

      2.3 使用Universal Update Utility(UUU)刻录恩智浦Linux BSP镜像

      i.MX 8M Nano EVK最新的预构建镜像请参见Linux最新版本的Linux下载页面

      预建的恩智浦Linux二进制演示镜像提供典型系统和基本的功能集,用于使用和评估处理器。无需修改系统,用户就可以评估硬件接口、测试SoC功能并运行用户空间应用。

      预建的恩智浦Linux二进制演示镜像提供典型系统和基本的功能集,用于使用和评估处理器。无需修改系统,用户就可以评估硬件接口、测试SoC功能并运行用户空间应用。

      当需要更多灵活性时,SD卡可逐一与单个组件(引导加载程序、内核、dtb文件和roofs文件)一起加载,也可以加载.sdcard镜像,并且特定组件可以覆盖单个部件。

      构建、运行

      3.1 Android™

      本节介绍了带嵌入式Android系统镜像的i.MX 8M Nano EVK板的启动过程,并简介了如何构建软件组件,创建您自己的系统镜像。如需了解构建Android平台的更多信息,请参见构建Android

      当前版本包括演示镜像、源代码和文档。这些也可以在i.MX应用处理器的Android操作系统中找到。

      3.2 概述

      开发系统(MMC/SD或NAND)上的存储设备必须采用U-Boot启动加载程序来编程。启动过程确定了将访问哪些存储设备,具体取决于开关设置。当启动加载程序已加载并开始执行时,可读取U-Boot的环境空间,以确定如何继续启动过程。

      镜像可来自预建版本数据包或使用源代码创建。无论采用哪种方式获取,所有Android镜像都包含以下组件:

      • U-Boot镜像:u-boot.imx
      • 启动镜像:boot.img
      • Android系统根镜像:system.img
      • 恢复根镜像:recovery.img

      如需了解有关Android BSP的更多信息,请参见Android用户指南

      3.3 下载恩智浦Android BSP镜像

      预建恩智浦Android演示镜像将为默认系统提供某些功能,以便进行评估。无需修改系统,用户就可以执行一些基础操作并与系统交互来测试硬件接口,还可以在用户空间开发软件应用。

      数据包中的预建镜像可根据启动设备来分类,并连同设备名放入目录。最新的预建镜像文件可在i.MX软件和开发工具的Android部分找到,也可在演示镜像下载链接中找到。

      3.4 使用UUU刻录恩智浦Android BSP镜像

      除了“开箱即用”章节的连接外,使用USB线缆将J301连接到主机,然后关闭电路板。

      参考启动开关设置,配置板在SDP(串行下载协议)模式启动。

      根据主机中使用的操作系统,将Android BSP镜像传输到SD卡的方式可能会有所不同。

      4. MCUXpresso SDK

      MCUXpresso软件开发套件(MCUXpresso SDK)提供了在i.MX 8M Nano M7内核中执行的全部软件源代码。如果您此时不想在i.MX 8M Mini上启用Cortex®-M7,则可跳过本节。

      4.1 概述

      MCUXpresso SDK专为Cortex®-M7独立或与A内核协作使用的嵌入式应用开发而设计。除了外设驱动程序外,MCUXpresso SDK还提供了广泛而丰富的应用示例,涵盖从基本外设用例示例到演示应用的所有内容。MCUXpresso SDK还包含RTOS内核、设备协议栈以及各种其他中间件,支持快速开发。

      本指南介绍如何运行REL_2.9.0版本提供的hello_world.bin演示。有关MCUXpresso SDK及如何构建和部署自定义演示的详细信息,请参见MCUXpresso SDK网站

      4.2 采用U-Boot运行应用

      本部分介绍了采用SD卡和i.MX处理器的预建U-Boot镜像运行应用的步骤。

      1. 按照本入门指南第2部分“嵌入式Linux”中的步骤,为i.MX 8M Nano处理器准备带有预构建U-Boot+Linux镜像的SD卡(来自Linux BSP封装)。如已加载了带有Linux镜像的SD卡,可跳过这一步
      2. 将SD卡插入主机(Linux或Windows),并将应用镜像(例如hello_world.bin)复制到SD卡的FAT分区
      3. 从PC中安全地取出SD卡
      4. 将SD卡插入目标板。确保使用默认的SD启动插槽,并双重检查查询启动开关设置.
      5. 通过USB线缆连接板上的“DEBUG UART”接头与PC。Windows操作系统自动安装USB驱动程序,Ubuntu操作系统也将找到串行设备。

        有关串行通信应用的更多说明,请参阅“开箱即用”的“连接USB调试线缆”部分

      6. 打开i.MX 8M Mini EVK板第二个枚举的串行端口的第二个终端。这是Cortex®-M7的串行控制台。设置速率为115200bit/s,数据位为8,1个停止位(115200,8N1),无奇偶校验位
      7. 在U-Boot倒计时到零之前按任意键,给板上电并停止启动过程。在第一个终端的U-Boot提示符处,键入以下命令

        1=> fatload mmc 0:1 0x48000000 hello_world.bin => cp.b 0x48000000 0x7e0000 0x20000 => bootaux 0x7e0000

      这些命令将镜像文件从SD卡的第一个分区复制到Cortex-M7的TCM,并通过复位释放Cortex-M7。

      安全性和完整性

      文档和视频 说明
      AN12714:使用CAAM安全密钥的i.MX加密存储 提供使用DM Crypt在模块级别运行透明存储加密的步骤,该加密利用i.MX加密加速器和保证模块(CAAM)提供的安全密钥功能。
      AN12632:i.MX 8M和i.MX 8MM采用增强型OpenSSL 本应用笔记介绍了如何在OpenSSL之上使用加密加速器和保证模块(CAAM)添加对加速OP-TEE OS的支持。最终的结果是增强型OpenSSL能够通过OP-TEE以安全的方式加速加密算法。
      可信执行环境:利用i.MX处理器上的OP-TEE快速入门 TEE概述、示例使用情形以及如何利用OP-TEE的i.MX硬件安全功能。
      AN12838:使用CAAM安全密钥加强公钥密码 介绍基于i.MX应用处理器提供的黑密钥特性的公钥加密方案。
      为边缘保驾护航:制造业保护:在非安全环境中指配敏感资料 本次在线研讨会将介绍该功能,并讨论如何使用该功能来确保安全地交付和安装敏感资料。
      在i.MX8M Nano中启用安全启动功能的步骤 分步讲解过程,包括生成PKI树、SRK表以及如何对引导加载程序镜像进行签名和安全启动。

      CAAM模块示例

      i.MX 8M Nano EVK板包含加密加速与保证模块(CAAM模块),可通过CryptoDev使用,借助硬件加快加密和解密过程。建议在处理大量数据时或在性能要求较高的任何应用中使用此模块。

      检查速度性能

      OpenSSL是一个开源项目,定义安全协议SSL(安全套接字层)和TLS(传输层安全)。它有一个软件库,可用于需要安全信息传输的应用,以防止窃听。

      OpenSSL包括一个速度命令,用于测试所需加密算法的加密性能。对于本示例,使用的算法为aes-128-cbc,实现高级加密标准(AES)加密算法,支持密码模块链(CBC)运行模式和128位模块。

      使用以下命令可观看OpenSSL速度测试:

      1234567891011121314151617181920212223# openssl speed -evp aes-128-cbc
      
      Doing aes-128-cbc for 3s on 16 size blocks: 43389139 aes-128-cbc's in 2.99s
      
      Doing aes-128-cbc for 3s on 64 size blocks: 28788614 aes-128-cbc's in 3.00s
      
      Doing aes-128-cbc for 3s on 256 size blocks: 11766741 aes-128-cbc's in 2.99s
      
      Doing aes-128-cbc for 3s on 1024 size blocks: 3674139 aes-128-cbc's in 2.99s
      
      Doing aes-128-cbc for 3s on 8192 size blocks: 495157 aes-128-cbc's in 3.00s
      
      OpenSSL 1.0.2p 14 Aug 2018
      
      built on: reproducible build, date unspecified
      
      options:bn(64,64) rc4(ptr,char) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(ptr)
      
      compiler: arm-poky-linux-gnueabi-gcc -march=armv7ve -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 -DL_ENDIAN -DTERMIO -O2 -pipe -g -feliminate-unused-debug-types -Wall -Wa,--noexecstack -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS
      
      The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
      
      Aes-128-cbc 193627.86k 513839.78k 837089.96k 1048974.64k 1130986.42k

      解决方案:文档“AN12838:使用CAAM安全密钥加强公钥密码”的第5.2.1节和第5.2.2节描述了使用的详细信息。

      有线通信

      有线通信

      借助i.MX板上运行的Linux,您可以评估i.MX SoC提供的特殊功能:本教程将逐步说明如何使用i.MX 8M Nano EVK在Linux上连接到互联网:

      1. 将以太网线缆连接到板RJ-45接头上。
      2. 登录
      3. 启动板,等待Linux提示
      4. 当Linux发出提示后,输入下面的命令。
      5. 1# ifconfig eth0
      6. Ping任何网站以证实其功能
      7. 123456789# ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 
        
        64 bytes from 8.8.8.8: icmp_seq=1 ttl=119 time=4.81 ms 64 bytes 
        
        from 8.8.8.8: icmp_seq=2 ttl=119 time=4.87 ms 64 bytes 
        
        from 8.8.8.8: icmp_seq=3 ttl=119 time=4.94 ms 64 bytes 
        
        from 8.8.8.8: icmp_seq=4 ttl=119 time=4.61 ms

      无线连接

      无线连接

      文档和视频 说明
      云连接 集成云服务支持,包括Amazon Web Services、Microsoft Azure和谷歌Cloud IoT。

      电源管理

      电源管理包括设备特定的技术以及有关电源管理和低功耗优化的信息。

      文档和视频 说明
      AN12778: i.MX 8M Nano功耗测量 通过几个用例说明了在恩智浦EVK平台上对i.MX 8M Nano应用处理器进行的电流消耗测量。
      AN12225:如何在使用i.MX8M A53运行M4时降低SoC功耗 使用AMP应用时,用户可能会发现VDD_SOC电流比预期高得多。本文档介绍根本原因和解决方法。
      i.MX 8MM上的M4低功耗演示 允许您测试i.MX 8M EVK上的功耗。

      低功耗模式暂停示例

      借助i.MX板上运行的Linux,您可以评估i.MX SoC提供的特殊功能:本示例显示如何进入低功耗模式和恢复正常操作。

      输入下面的命令,启用串行TTY作为板的唤醒源:

      路径:

      1# echo enabled > /sys/class/tty/ttymxc0/power/wakeup

      输入下面的命令,进入Suspend-To-RAM模式:

      1# echo mem > /sys/power/state PM: suspend entry (deep) PM: Syncing filesystems ... done. Freezing user space processes ... (elapsed 0.001 seconds) done. OOM killer disabled. Freezing remaining freezable tasks ... (elapsed 0.000 seconds) done. Suspending console(s) (use no_console_suspend to debug)

      按下SW901开关,唤醒板。终端上应出现以下消息:

      1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859HIFsuspendwow TODO
      
      PM: suspend devices took 0.112 seconds
      
      Disabling non-boot CPUs ...
      
      CPU1: shutdown
      
      psci: CPU1 killed.
      
      CPU2: shutdown
      
      psci: CPU2 killed.
      
      CPU3: shutdown
      
      psci: Retrying again to check for CPU kill
      
      psci: CPU3 killed.
      
      Enabling non-boot CPUs ...
      
      Detected VIPT I-cache on CPU1
      
      GICv3: CPU1: found redistributor 1 region 0:0x00000000388a0000
      
      CPU1: Booted secondary processor [410fd034]
      
      cache: parent cpu1 should not be sleeping
      
      CPU1 is up
      
      Detected VIPT I-cache on CPU2
      
      GICv3: CPU2: found redistributor 2 region 0:0x00000000388c0000
      
      CPU2: Booted secondary processor [410fd034]
      
      cache: parent cpu2 should not be sleeping
      
      CPU2 is up
      
      Detected VIPT I-cache on CPU3
      
      GICv3: CPU3: found redistributor 3 region 0:0x00000000388e0000
      
      CPU3: Booted secondary processor [410fd034]
      
      cache: parent cpu3 should not be sleeping
      
      CPU3 is up
      
      PM: resume devices took 0.028 seconds
      
      OOM killer enabled.
      
      Restarting tasks ... done.
      
      PM: suspend exit   

      音频

      文档和视频 说明
      DSP Concepts面向i.MX 8处理器的产品 了解DSP Concepts面向i.MX 8M系列的音频平台产品。

      工具和参考

      i.MX音频板硬件用户指南。本手册包括系统设置和配置,并从硬件角度提供了有关i.MX音频板系统用法的详细信息。

      简单音频示例

      将耳机插入i.MX 8M Nano EVK板上的音频插孔。

      如果您的耳机包含麦克风功能(带有四个触点的TRRS),请不要将麦克风插孔推到底。在外面留一个接触环。

      1234567891011121314151617181920212223#aplay -1
      
      **** List of PLAYBACK Hardware Devices ****
      
      card 0: imxspdif [imx-spdif], device 0: S/PDIF PCM snd-soc-dummy-dai-0 [S/PDIF PCM snd-soc-dummy-dai-0]
      Subdevices: 1/1 
      Subdevice #0: subdevice #0 
      card 2: wm8524audio [wm8524-audio], device 0: HiFi wm8524-hifi-0 
      [] 
      Subdevices: 1/1 
      Subdevice #0: subdevice #0 
      card 2: wm8524audio [wm8524-audio], device 1: HiFi-ASRC-FE (*) 
      [] 
      Subdevices: 1/1 
      Subdevice #0: subdevice #0 
      # gst-launch-1.0 audiotestsrc ! alsasink device=plughw:2 
      Setting pipeline to PAUSED ... 
      Pipeline is PREROLLING ... 
      Redistribute latency... 
      Pipeline is PREROLLED ... 
      Setting pipeline to PLAYING ... 
      
      New clock: GetAudioSinkClock

      在耳机里应该能听到提示音。

      听完提示音后,按下kbd:[Ctrl+C],完成命令行

      这个简单的例子显示了audiotestsrcalsasink之间的链路。

      将耳机插入i.MX 8M Nano EVK板上的音频插孔。

      解码器视频音频示例

      本示例说明如何只解码视频文件中的音频。将视频文件复制到您的SD卡rootfs分区上的/home/root/,从SD卡启动板,然后运行下面的命令:

      12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091# gplay-1.0 SampleVideo_1280x720_2mb.mp4
      
        FSL_GPLAY2_01.00_LINUX build on Mar 12 2018 11:48:19
        
        Set VideoSink kmssink
                  
        Set TextSink fakesink ====== AIUR: 4.3.4 build on Mar 12 2018 11:47:35. ======
                  
        Core: AVI_PARSER_03.05.29 build on Aug 31 2017 09:15:57
                  
        file: /usr/lib/imx-mm/parser/lib_avi_parser_arm_elinux.so.3.1
                  
        Track 00 [video]: Disabled
                  
        Codec: 4, SubCodec: 1
                  
        -----------------------
                  
        ------------------------ Track 01 [audio_0] Enabled
                  
        Duration: 0:09:56.424000000
                  
        Language: und
                  
        Mime: audio/mpeg, mpegversion=(int)1, channels=(int)2, rate=(int)48000, bitrate=(int)0
                  
        codec_data=(buffer)014d401fffe10017674d401fda014016ec0440000003004000000c83c60ca801000468ef3c80
                  
        ------------------------
                  
        ====== BEEP: 4.3.4 build on Mar 12 2018 11:47:45. ======
                  
        Core: MP3 decoder Wrapper build on Jan 11 2018 10:20:25
                   
        file: /usr/lib/imx-mm/audio-codec/wrap/lib_mp3d_wrap_arm_elinux.so.3
                  
        CODEC: BLN_MAD-MMCODECS_MP3D_ARM_02.13.01_ARMV8 build on Jan 11 2018 10:05:45. [Stop (No Repeated)][Vol=1.0][00:00:00/00:09:56]=========== fsl_player_play()=========== FSL_GPLAY2_01.00_LINUX build on Mar 12 2018 11:48:19
                  
        [h]display the operation Help
                  
        [p]Play
                  
        [s]Stop
                  
        [e]Seek
                  
        [a]Pause when playing, play when paused
                  
        [v]Volume
                  
        [m]Switch to mute or not
                  
        [>]Play next file
                  
        [ [r]Switch to repeated mode or not
                  
        [u]Select the video track
                  
        [d]Select the audio track
                  
        [b]Select the subtitle track
                   
        [f]Set full screen
                   
        [z]resize the width and height
                  
        [t]Rotate
                  
        [c]Setting play rate
                  
        [i]Display the metadata
                  
        [x]eXit
                  
        State changed: buffering
                  
        State changed: playing
                  
        [Playing (No Repeated)][Vol =1.0][00:00:13/00:00:13]EOS Found
                  
        getNextItem No next item!
                   
        No more media file, exit gplay!
                   
        State changed: stopped
                  
        Exit display thread
                  
        FSL_PLAYER_UI_MSG_EXIT
                  
        fsl_player_deinit

      解码器视频音频示例

      本示例说明如何只解码视频文件中的音频。将视频文件复制到您的SD卡rootfs分区上的/home/root/,从SD卡启动板,然后运行下面的命令:

      12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091# gplay-1.0 SampleVideo_1280x720_2mb.mp4
      
        FSL_GPLAY2_01.00_LINUX build on Mar 12 2018 11:48:19
        
        Set VideoSink kmssink
                  
        Set TextSink fakesink ====== AIUR: 4.3.4 build on Mar 12 2018 11:47:35. ======
                  
        Core: AVI_PARSER_03.05.29 build on Aug 31 2017 09:15:57
                  
        file: /usr/lib/imx-mm/parser/lib_avi_parser_arm_elinux.so.3.1
                  
        Track 00 [video]: Disabled
                  
        Codec: 4, SubCodec: 1
                  
        -----------------------
                  
        ------------------------ Track 01 [audio_0] Enabled
                  
        Duration: 0:09:56.424000000
                  
        Language: und
                  
        Mime: audio/mpeg, mpegversion=(int)1, channels=(int)2, rate=(int)48000, bitrate=(int)0
                  
        codec_data=(buffer)014d401fffe10017674d401fda014016ec0440000003004000000c83c60ca801000468ef3c80
                  
        ------------------------
                  
        ====== BEEP: 4.3.4 build on Mar 12 2018 11:47:45. ======
                  
        Core: MP3 decoder Wrapper build on Jan 11 2018 10:20:25
                   
        file: /usr/lib/imx-mm/audio-codec/wrap/lib_mp3d_wrap_arm_elinux.so.3
                  
        CODEC: BLN_MAD-MMCODECS_MP3D_ARM_02.13.01_ARMV8 build on Jan 11 2018 10:05:45. [Stop (No Repeated)][Vol=1.0][00:00:00/00:09:56]=========== fsl_player_play()=========== FSL_GPLAY2_01.00_LINUX build on Mar 12 2018 11:48:19
                  
        [h]display the operation Help
                  
        [p]Play
                  
        [s]Stop
                  
        [e]Seek
                  
        [a]Pause when playing, play when paused
                  
        [v]Volume
                  
        [m]Switch to mute or not
                  
        [>]Play next file
                  
        [ [r]Switch to repeated mode or not
                  
        [u]Select the video track
                  
        [d]Select the audio track
                  
        [b]Select the subtitle track
                   
        [f]Set full screen
                   
        [z]resize the width and height
                  
        [t]Rotate
                  
        [c]Setting play rate
                  
        [i]Display the metadata
                  
        [x]eXit
                  
        State changed: buffering
                  
        State changed: playing
                  
        [Playing (No Repeated)][Vol =1.0][00:00:13/00:00:13]EOS Found
                  
        getNextItem No next item!
                   
        No more media file, exit gplay!
                   
        State changed: stopped
                  
        Exit display thread
                  
        FSL_PLAYER_UI_MSG_EXIT
                  
        fsl_player_deinit

      显示器和显卡

      显示器和显卡

      文档和视频 说明
      i.MX图形用户指南 为编写显卡应用或视频驱动程序的开发人员提供有关显卡API和驱动程序支持的信息。
      i.MX 8 Gstreamer用户指南 了解有关如何在i.MX 8M Nano EVK上使用GStreamer 1.0版的更多信息。包括解码、编码、摄像头、视频合成以及视频缩放和旋转示例。
      使用恩智浦i.MX 8M Nano应用处理器在线研讨会,为未来的IoT设备打造卓越的显卡 提供有关i.MX 8M Nano的概述,以及Crank Software的Storyboard与传统的UI开发工具有何不同。
      设置i.MX 8M Mini和Nano MIPI-DPHY时钟 如何计算必要的定时参数。
      使用恩智浦MCU和Embedded Wizard在实时工业HMI系统中部署图形功能 恩智浦已与TARA Systems合作,提供嵌入式向导作为软件使能技术。

      摄像头接口

      摄像头接口

      文档和视频 说明
      i.MX 8摄像头用例 了解有关i.MX 8 MIPI CSI用例、Advanced Gstreamer摄像头用例、i.MX 8M Nano EVKB支持的可用摄像头和子卡、兼容设备树(DTS)文件以及如何启用其他摄像头选项的详细信息。
      i.MX 8 GStreamer用户指南 基于GStreamer 1.0版本的加速解决方案用户指南,纳入恩智浦BSP L5.4.24_1.1.0支持的各种i.MX 8系列SoC中。

      机器学习

      机器学习

      机器学习(ML)通常包括需要分类、识别和预测人为抽象的应用。例如,图像识别、手势识别、异常检测、语音到文本、文本到语音、自动语音识别(ASR)、场景识别等等。本节将专门介绍应用于图像或视频流的恩智浦机器学习(ML)工具。音频部分可以参考所包括的示例。

      文档和视频 说明
      eIQ®机器学习软件开发环境 支持在恩智浦MCU、i.MX RT跨界MCU和i.MX系列SoC上使用机器学习(ML)算法。eIQ软件包括推理引擎、神经网络编译器和优化库。
      i.MX机器学习用户指南 恩智浦eIQ UM for i.MX工具包提供一组库和开发工具,面向针对恩智浦微控制器和应用处理器的机器学习应用。
      eIQ简介 面向恩智浦i.MX和MCU的机器学习软件——库、示例应用和推理引擎。
      AN13001:Glow内存分析 如何理解Glow编译器生成的Glow内存信息,并计算特定模型所需的内存。然后可使用此编译器确定运行模型所需的最小内存大小。
      AN12766:使用Tensor Flow Lite的K-Means聚类代码解析进行eIQ异常检测 利用异常检测启用机器状态监测应用的分步指导。
      i.MX应用处理器eIQ软件快速入门 我们使用eIQ ML软件开发环境编写了一系列循序渐进的教程,从开箱到部署、建模,再到边缘推理。

      设备管理和安全OTA

      设备管理和安全OTA

      文档和视频 说明
      AN12900:使用CAAM和Mender或软件更新保护Linux无线原型 为Linux镜像(特别是i.MX 8M/MM)提供安全无线更新的原型实现。
      AN12921:Google Cast身份验证特性在i.MX上的实现 此应用笔记提供了有关谷歌语音助手(GVA)和音频广播(C4A)所需的安全属性的详细信息,以及它们在恩智浦GVA/C4A参考平台上的实现。
      i.MX8MM上的Docker,带Ubuntu 本文档介绍了为任一Arm64平台创建ubuntu rootfson主机pc和安装docker的方法。

      Minicom教程

      串行控制台通信的设置

      在Linux主机的命令提示符上,运行以下命令,确定端口号:

      1$ ls /dev/ttyUSB*

      较小的数适用于Arm® Cortex®-A53 内核,较大的数适用于Arm® Cortex®-M7内核。

      Minicom教程

      使用以下命令安装和运行串行通信程序(以minicom为例):

      1. 使用Ubuntu包管理器安装Minicom。
        1$ sudo apt-get install minicom
      2. 启动Minicom,使用先前确定的端口号通过控制台窗口进行
        1$ sudo minicom /dev/ttyUSB* -s
      3. 配置Minicom ,如图3所示
      4. GS-MCIMX7SABRE-MINICOM
      5. 下一步是连接HDMI线缆

      Tera Term教程

      串行控制台通信的设置

      i.MX 8M Mini上的FTDI USB串行芯片将枚举两个串行端口。假设这两个端口分别为COM9COM10。较小的端口号(COM9)适用于来自Arm®Cortex®-A7的串行控制台通信,而较大的端口号(COM10)适用于Arm®Cortex®-M7内核。串行转USB驱动程序请参见FTDI芯片驱动

      Tera Term教程

      它是一款开源终端仿真应用。此程序显示从恩智浦开发平台的虚拟串行端口发送的信息。

      1. 下载Tera Term。下载完成后,运行安装程序,然后返回到该页面继续操作。
      2. 启动TeraTerm。首次启动时,会显示以下对话。选择串行选项。假设已连接了板,列表中会自动填充一个COM端口。
      3. Tera-Term-Connection
      4. 配置串行端口设置(使用之前确定的COM端口号),波特率为115200 ,数据位为8 ,无奇偶校验位且停止位为1。要进行此操作,进入设置→串行端口,更改设置。
      5. 确认连接已打开。如已连接,Tera Term将在标题栏中显示以下内容
      6. Tera-Term-Console
      7. 下一步是连接HDMI线缆

      PuTTY教程

      串行控制台通信的设置

      i.MX 8M Mini上的FTDI USB串行芯片将枚举两个串行端口。假设这两个端口为COM9。这表示来自Arm® Cortex®-A53内核的串行控制台通信。串行转USB驱动程序请参见FTDI芯片驱动

      PuTTY教程

      PuTTY是一款广受欢迎的终端仿真应用。此程序显示从恩智浦开发平台的虚拟串行端口发送的信息。

      1. 下载PuTTY下载完成后,运行安装程序,然后返回到该页面继续操作
      2. 启动PuTTY,可双击下载的*.exe文件或从开始菜单启动,具体取决于您所选的下载类型
      3. 配置在启动的窗口中进行。选择Serial单选按钮并输入之前确定的COM端口号。还要输入波特率,在本例中,为115200
      4. PUTTY-Configuration
      5. 点击“Open”,打开串行连接。假设板已连接,并已输入正确的COM端口,此终端窗口会打开。如果配置不正确,PuTTY将会发出提示
      6. 下一步是连接HDMI线缆

      支持

      培训

      要了解帮助步骤,请先找到您的问题。如果仍需帮助,请联系恩智浦支持。

      培训 说明
      了解i.MX 8M Nano在线研讨会 详细了解i.MX 8M Nano系列的独特功能、目标应用和生态合作体系。
      i.MX 8M培训 关于恩智浦此产品的点播培训、操作指南视频和在线研讨会完整列表。

      论坛

      在恩智浦的一个技术论坛网站上,可与其他工程师交流,获取专家建议,了解如何使用i.MX 8M Nano进行产品设计。

      产品论坛:

      软件论坛: