MCIMX8QXP-CPU快速入门

上次修改时间: 2019-03-20 09:34:00支持 i.MX 8QuadXPlus MEK

1. 开箱即用

下面描述了启动i.MX 8QuadXPlus MEK的步骤。

1.1 i.MX 8QuadPlus MEK开箱

开发套件包含:

  • 面向智能设备的i.MX 8QuadXPlus MEK板
  • USB线缆(Micro-B至Standard-A)
  • 线缆——组件, USB 2.0 A型公头, USB C型公头, 屏蔽线, 1米
  • 12 V/8.3 A通用电源
  • 快速入门指南
  • 带可启动操作系统演示镜像的8 GB SD卡

1.2 熟悉板

IMX8QUADXPLUS-BOARD-TOP

IMX8QUADXPLUS-BOARD-TOP

IMX8QUADXPLUS-BOARD-BACK

IMX8QUADXPLUS-BOARD-BACK

1.3 插入SD卡(J12)

该套件带有含预建恩智浦Linux二进制演示镜像的SD卡。无需修改SD卡内的二进制文件,从该SD卡启动将提供具有某些功能的默认系统,在Linux上构建其他应用。下面的章节介绍了该软件。

1.4 连接USB调试线缆

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

如果您不确定如何使用终端应用,请尝试以下教程之一,具体取决于主机的操作系统:

1.5 接通电源

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

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

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

2. 构建、运行

2.1 嵌入式Linux®

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

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

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

2.2 概述

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

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

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

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

i.MX 8QuadXPlus MEK最新的预构建镜像,请参见Linux最新版本的Linux下载页面

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

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

3. 获取软件

3.1 嵌入式Android

本节介绍了带Embedded Android系统镜像的i.MX 8QuadXPlus MEK板的启动过程,并简介了如何构建软件组件,创建您自己的系统镜像。如需了解构建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线缆将J10连接到主机。

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

根据主机中使用的操作系统,将Android BSP镜像传输到SD卡的方式可能会有所不同。从下面的选项中进行选择,获取详细指导:

4. MCUXpresso SDK

MCUXpresso软件开发套件(MCUXpresso SDK)提供了在i.MX 8QuadXPlus M4内核中执行的全部软件源代码。

如果您此时不想在i.MX 8QuadXPlus上启用Cortex®-M4,则可跳过本节。

4.1 概述

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

根据主机使用的操作系统,构建和部署演示的方式可能有所不同。从下面的选项中进行选择,获取详细指导:

外部存储器

外部存储器

文档和视频 说明
i.MX 8/8X系列DDR工具版本

i.MX 8/8X DDR工具的目的是使用户能够根据设备配置(密度、芯片选择数量等)和板布局(数据总线位切换等)生成和测试自定义DRAM初始化。

网络安全和完整性

文档和视频 说明
AN12714:使用CAAM安全密钥的i.MX加密存储

提供使用DM Crypt在模块级别运行透明存储加密的步骤,该加密利用i.MX加密加速器和保证模块(CAAM)提供的安全密钥功能

AN12838:使用CAAM安全密钥加强公钥密码

介绍基于i.MX应用处理器提供的黑密钥特性的公钥加密方案。

AN12554:使用CAAM和加密/解密数据生成红色/黑色blob的演示应用

有关如何设置并运行演示应用以生成红色和黑色blob并使用它们来加密和解密数据的说明和步骤。

AN12906:i.MX 8QXP和i.MX 8DXL上的HSM和SHE

硬件安全模块(HSM)和安全硬件扩展(SHE)是恩智浦产品的两种安全服务,支持各种类型的汽车应用。本文档提供有关这些服务架构的基础知识,并帮助使用HSM和SHE API开发应用

可信执行环境:利用i.MX处理器上的OP-TEE快速入门

TEE概述、示例使用情形以及如何利用OP-TEE的i.MX硬件安全功能。

为边缘保驾护航:制造业保护:在非安全环境中指配敏感资料

本次在线研讨会将介绍制造业保护功能,并讨论如何使用该功能来确保安全地交付和安装敏感资料。

AN12312:使用AHAB在i.MX 8和i.MX 8X系列上安全启动

i.MX系列应用处理器通过片上ROM和网络安全控制器(SECO)固件上的高级高保证启动(AHAB)组件提供这一功能。ROM中的AHAB负责验证SECO固件(恩智浦已签名),该固件将向系统控制器ROM提供验证用户签名的镜像的服务。

AN12812:使用带有硬件网络安全模块的代码签名工具

本文档为用户提供了有效使用代码签名工具(CST)和硬件安全模块(HSM)后端所需的信息。

CAAM模块示例

i.MX 8QuadXPlus MEK板包含加密加速与保证模块(CAAM)模块,可通过CryptoDev使用,借助硬件加快加密和解密过程。建议在处理大量数据时或在性能要求较高的任何应用中使用此模块。此示例显示了使用CAAM作为加密分流引擎的优势。

检查速度性能

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

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

p

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

# openssl speed -evp aes-128-cbc 
Doing aes-128-cbc for 3s on 16 size blocks: 19785933 aes-128-cbc's in 3.00s 
Doing aes-128-cbc for 3s on 64 size blocks: 10656521 aes-128-cbc's in 3.00s 
Doing aes-128-cbc for 3s on 256 size blocks: 3706151 aes-128-cbc's in 3.00s 
Doing aes-128-cbc for 3s on 1024 size blocks: 1036434 aes-128-cbc's in 3.00s 
Doing aes-128-cbc for 3s on 8192 size blocks: 134183 aes-128-cbc's in 3.00s 
OpenSSL 1.0.2n 7 Dec 2017 
built on: reproducible build, date unspecified 
options:bn(64,32) rc4(ptr,char) des(idx,cisc,16,long) 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 105524.98k 227339.11k
316258.22k 353769.47k 366409.05k

加载cryptodev模块,再次运行openssl命令。这次应该能够看到时间值显示加速值。随着模块尺寸的增加,所用的时间减少:

# modprobe cryptodev 
cryptodev: driver 1.9 loaded. 
# openssl speed -evp aes-128-cbc -engine cryptodev engine "cryptodev" set. 
Doing aes-128-cbc for 3s on 16 size blocks: 
103333 aes-128-cbc's in 0.07s Doing aes-128-cbc for 3s on 64 size blocks: 102441
aes-128-cbc's in 0.09s 
Doing aes-128-cbc for 3s on 256 size blocks: 84088 aes-128-cbc's in 0.08s 
Doing aes-128-cbc for 3s on 1024 size blocks: 72447 aes-128-cbc's in 0.04s 
Doing aes-128-cbc for 3s on 8192 size blocks: 25304 aes-128-cbc's in 0.03s OpenSSL
1.0.2n 7 Dec 2017 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:
aarch64-poky-linux-gcc -DL_ENDIAN -DTERMIO -O2 -pipe -g -feliminate-unused-debug-type
The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256
bytes 1024 bytes 8192 bytes aes-128-cbc 23618.97k 72846.93k 269081.60k 1854643.20k
6909678.93k

使用下面的命令可列出CryptoDev支持的加密算法:

# openssl engine cryptodev -c 
(cryptodev) BSD cryptodev engine 
[RSA, DSA, DH, DES-CBC, DES-EDE3-CBC, AES-128-CBC, AES-192-CBC, AES-256-CBC,
hmacWithMD5, hmacWithSH A1, RIPEMD160, MD5, SHA1]

有线通信

文档和视频 说明
AN12409 i.MX6/7/8系列USB认证指南

本文档旨在说明如何在i.MX6/7/8系列应用处理器系列上执行USB认证测试,包括USB合规性测试的程序描述、工具和标准。

AN12444:i.MX 8系列PCIe认证指南

一种快速简便的方法来描述在i. MX 8系列产品上进行PCI Express 3.0、2.0和1.1/1.0a设计合规性测试的程序、工具和标准,用于根据PCIe®BASE规范进行芯片验证,根据PCIe CEM规范进行附加卡主板系统验证。

AN13164:i.MX8MP PCIe带宽分析

本文档介绍在i.MX 8M Plus上使用PCIe标准的各种情形,让用户更清楚地了解在超出协议开销后如何实现接近Gen3 x1线路速率带宽(8 Gbits/s)。注: 虽然此应用笔记参考了i.MX 8MP,但i.MX 8QXP只是与其测试环境设置相同,带宽量并不相同。

AN13210:如何在Linux中使用FlexCAN

i.MX 8MP EVK——i.MX8MP提供两个FlexCAN的FD接口,可以从Realtime域或Linux域编程。本文档介绍在i.MX 8M Plus上使用FlexCAN的各种方案,让用户更清楚地了解FlexCAN在Linux中的使用方法。注:虽然此应用笔记参考了i.MX 8MP,但i.MX 8QXP在Linux中使用FlexCAN的方法相同。

连接

要使用i.MX 8QuadXPlus MEK连接Linux上的互联网,请执行以下步骤:

  1. 将以太网线缆连接到板RJ-45接头上。
  2. 启动板,等待Linux提示。
  3. 当Linux发出提示后,输入下面的命令。
    # ifconfig eth0
  4. Ping任何网站以证实其功能。
    # 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等云服务的支持。

使用运行Linux操作系统的i.MX 8M Quad EVK,利用恩智浦技术无线模块快速入门

本手册介绍i.MX 8M Quad EVK的启动、BSP镜像的配置、如何与恩智浦技术无线模块进行硬件连接以及如何启动Wi-Fi和蓝牙接口。

如何在i.MX 8M Quad EVK上配置恩智浦技术无线模块功能的指南

本文档不仅详细说明了i.MX 8M Quad EVK上的Wi-Fi和蓝牙功能和配置以及Azurewave AW-CM358MA(88W8987)和Azurewave AW-CM276MA(88W8997)无线模块,还阐述了Wi-Fi和蓝牙接口的初始化和配置。

多核与硬件加速

多核与硬件加速

文档和视频 说明
AN13285:i.MX 8X使用Cortex-M4内核的L1缓存

介绍了缓存系统的基础技术,包括面向嵌入i.MX 8X系列处理器的Cortex-M4内核的L1缓存、内存类型、属性和内存保护单元。它指导您如何使用缓存来开发正确运行且具有高性能的应用

电源管理

PF8100-8200是恩智浦针对i.MX 8和i.MX8X系列优化的电源管理单元IC

文档和视频 说明
AN12338:i.MX 8QuadXPlus功耗测量

通过几个用例说明了在恩智浦多传感器评估工具包(EVK)平台上对i.MX 8QuadXPlus应用处理器进行的电流消耗测量。

低功耗模式暂停示例

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

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

    # echo enabled > /sys/class/tty/ttymxc0/power/wakeup
  • 输入下面的命令,进入Suspend-To-RAM模式:

    # echo mem > /sys/power/state
    [ 18.832439] PM: Syncing filesystems ... done.
    [ 18.939268] Freezing user space processes ... (elapsed 0.001 seconds) done.
    [ 18.947957] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
    [ 18.956810] Suspending console(s) (use no_console_suspend to debug)
  • 按下SW3开关,唤醒板。终端上应出现以下消息:

    [ 138.859067] PM: suspend of devices complete after 40.103 msecs
    [ 138.859071] PM: suspend devices took 0.040 seconds
    [ 138.861306] PM: late suspend of devices complete after 2.229 msecs
    [ 138.864518] PM: noirq suspend of devices complete after 3.207 msecs
    [ 138.864521] Disabling non-boot CPUs ...
    [ 138.892702] CPU1: shutdown
    [ 138.892705] psci: CPU1 killed.
    [ 138.940761] CPU2: shutdown
    [ 138.940764] psci: CPU2 killed.
    [ 138.992702] CPU3: shutdown
    [ 138.992704] psci: CPU3 killed.
    [ 139.005413] Enabling non-boot CPUs ...
    [ 139.017625] Detected VIPT I-cache on CPU1
    [ 139.017647] GICv3: CPU1: found redistributor 1 region 0:0x00000000388a0000
    [ 139.017689] CPU1: Booted secondary processor [410fd034]
    [ 139.018002] cache: parent cpu1 should not be sleeping
    [ 139.018221] CPU1 is up
    [ 139.033610] Detected VIPT I-cache on CPU2
    [ 139.033624] GICv3: CPU2: found redistributor 2 region 0:0x00000000388c0000
    [ 139.033654] CPU2: Booted secondary processor [410fd034]
    [ 139.033930] cache: parent cpu2 should not be sleeping
    [ 139.034129] CPU2 is up
    [ 139.049722] Detected VIPT I-cache on CPU3
    [ 139.049737] GICv3: CPU3: found redistributor 3 region 0:0x00000000388e0000
    [ 139.049767] CPU3: Booted secondary processor [410fd034]
    [ 139.050049] cache: parent cpu3 should not be sleeping
    [ 139.050257] CPU3 is up
    [ 139.106888] PM: noirq resume of devices complete after 56.624 msecs
    [ 139.108600] PM: early resume of devices complete after 1.408 msecs
    [ 139.115589] Suspended for 0.435 seconds
    [ 139.116781] PM: resume of devices complete after 8.175 msecs
    [ 139.262945] Restarting tasks ... done.
    [ 139.277327] hantro receive hot notification event: 0

音频

文档和视频 说明
DSP Concepts面向i.MX 8处理器的产品

了解DSP Concepts面向i.MX 8M系列提供的音频平台产品。

简单音频示例

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

首先,使用[aplay-|]检查声卡信息。注意分配给WM8960的声卡号。根据需要修改下面的gstreamer命令,使其与WM8960声卡号保持一致。例如,如果WM8960是声卡2,则将gstreamer命令的结尾更改为hw:2。”

将耳机插入i.MX 8QuadXPlus MEK板上的音频插孔。

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

# gst-launch-1.0 audiotestsrc ! alsasink device=hw:2
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ... New clock: GstAudioSinkClock

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

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

解码器视频音频示例

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

默认输出设备为cs42888,您可以首先通过以下步骤将输出设备设置为wm8960:

  1. 启动pulseAudio守护程序

    # pulseaudio --start
  2. 获取wm8960接收编号

    # pacmd list-sinks
  3. 在日志中,wm8960位于索引2
  4. 将默认接收器设置为wm8960

    # pacmd set-default-sink 2

然后可以运行下面的命令来播放视频文件:

# gplay-1.0 big_buck_bunny_1080p_stereo.avi
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
------------------------
====== 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:07:12/00:09:56]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版的更多信息。包括解码、编码、摄像头、视频合成以及视频缩放和旋转示例。

使用恩智浦MCU和Embedded Wizard在实时工业HMI系统中部署图形功能

恩智浦已与TARA Systems合作,提供嵌入式向导作为软件支持技术。

AN12189:i.MX 8X评估套件MX8-DSI-OLED1快速入门指南

本文档简要概述了如何使用MX8-DSI-OLED1附件卡、支持触摸屏的MIPI-DSI接口OLED显示套件和i.MX 8QXP EVK快速入门。

AN12188:i.MX 8X评估套件IMX-MIPI-HDMI快速入门指南

本文档简要概述了如何使用i.MX 8QXP EVK和IMX-MIPI-HDMI附件卡快速入门,将MIPI-DSI信号转换为HDMI信号。

i.MX 8QXP-MEK显示器选择指南

介绍Linux和Android用例上的i.MX 8QXP MEK mini SAS连接器功能,包括支持的子卡、更改设备树(DTS)文件或启动镜像以及在板上启用这些不同显示选项的过程。

摄像头接口

摄像头接口

文档和视频 说明
i.MX 8摄像头用例

了解有关i.MX 8 MIPI CSI用例、Advanced Gstreamer摄像头用例、i.MX 8M Nano EVKB支持的可用摄像头和子卡、兼容设备树(DTS)文件以及如何启用其他摄像头选项的详细信息。

i.MX 8 Gstreamer用户指南

了解有关如何在i.MX 8M Nano EVK上使用GStreamer 1.0版的更多信息。包括解码、编码、摄像头、视频合成以及视频缩放和旋转示例。

AN12187:i.MX 8M评估套件MINISASTOCSI快速入门指南

本文档简要概述了如何使用i.MX 8M EVK和MINISASTOCSI附件卡快速入门,MINISASTOCSI附件卡是一种基于OmniVision OV5640芯片组的MIPI-CSI接口摄像头套件。

功能安全

功能安全

文档和视频 说明
i.MX 8/8X功能安全概念

i.MX 8/8X被设计为脱离上下文环境的安全元件(SEooC)MPU,可用于汽车数字仪表盘等关键安全应用,需要随时评估和分析关键信息和警报。

i.MX 8/8X系列应用处理器在工业控制和汽车电子领域的功能安全概念

i.MX 8和i.MX 8X处理器系列提供功能安全机制,可帮助您从平台级别达到SIL 2/3和ASIL A/B要求。为您的特定用例探索基于质量管理(QM)的功能安全相关硬件组件。

机器学习

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

文档和视频 说明
eIQ®机器学习软件开发环境

支持在恩智浦MCU、i.MX RT跨界MCU和i.MX系列SoC上使用机器学习(ML)算法。eIQ软件包括推理引擎、神经网络编译器和优化库。

i.MX机器学习用户指南

恩智浦eIQ UM for i.MX工具包提供一组库和开发工具,面向针对恩智浦微控制器和应用处理器的机器学习应用。

恩智浦面向 i.MX应用处理器的eIQ机器学习软件开发环境

本用户手册为i.MX系列支持的机器学习软件提供指导,并包括eIQ简介、Yocto安装指南和用于运行所有支持的DNN和非DNN示例的分步指南。

eIQ常见问题

本文档介绍有关eIQ和嵌入式机器学习的一些最常见的问题。

AN13001:Glow内存分析

如何理解Glow编译器生成的Glow内存信息,并计算特定模型所需的内存。然后可使用此编译器确定运行模型所需的最小内存大小。

AN12766:使用Tensor Flow Lite的K-Means聚类代码解析进行eIQ异常检测

利用异常检测启用机器状态监测应用的分步指导。

i.MX应用处理器eIQ软件入门

我们使用我们的eIQ ML软件开发环境编写了一系列循序渐进的教程,从开箱到部署、建模,再到边缘推理。

工具和参考

eIQ Inference with Arm NN library——eIQ Arm NN(神经网络)是面向支持Caffe、TensorFlow、TensorFlow Lite和ONNX模型的CPU、GPU和其他计算引擎的推理引擎

eIQ Inference with TensorFlow Lite Library——TensorFlow Lite是一种低延迟、占地面积较小的推理引擎,它使用Eigen库和预融合激活和量化内核等技术。

eIQ Toolkit for End-to-End Model Development and Deployment——eIQ工作流工具支持数据管理、模型训练、量化和精简、验证、目标分析和模型部署。

设备管理和安全OTA

设备管理和安全OTA

文档和视频 说明
AN12900:使用CAAM和Mender或软件更新保护Linux无线原型

为Linux镜像(特别是i.MX 8M/MM)提供安全无线更新的原型实现

AN12921:Google Cast身份验证特性在i.MX上的实现

此应用笔记提供了有关谷歌语音助手(GVA)和音频广播(C4A)所需的安全属性的详细信息,以及它们在恩智浦GVA/C4A参考平台上的实现。

Minicom教程

串行控制台通信的设置

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

$ ls /dev/ttyUSB*

较小编号适用于Arm®Cortex®-A53内核,较大编号适用于Arm®Cortex®-M4内核。

Minicom

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

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

Tera Term教程

串行控制台通信的设置

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

Tera Term

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

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

PuTTY教程

串行控制台通信的设置

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

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

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

支持

故障排除

演示不能用?

您的板是这样的包装吗?

FRDM BOX

没问题!您的板是旧封装,闪存存储器中预装了不同的开箱即用演示。

您将会看到红色和绿色LED指示灯来回切换。您准备就绪时,就可以进行下一步

仍然不能用?

试着按步骤继续操作,获得板上运行的其他示例应用。如果仍有问题,请通过恩智浦网络社区与我们联系。

培训

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

培训 说明
可扩展i.MX 8和8X平台上的成功技术 此类课程将重点介绍CPU性能、图形、多媒体、音频和连接方面的功能增强。并将涵盖网络安全、机器学习、Linux和Android系统的构建和分发、存储设备的管理、图形和演示设置等基础知识。
AN12770: 从i.MX 8X-B0迁移到i.MX 8X-C0的指南 本应用笔记介绍了从i.MX 8X B0迁移到i.MX 8X C0(i.MX 8QuadXPlus、i.MX 8DualXPlus和i.MX 8DualX)时需要考虑的主要事项。
AN13273:i.MX 8QuadXPlus/8DualXPlus/DualX产品使用寿命 说明了如何基于质量标准流程中使用的准则对i.MX 8QuadXPlus/8DualXPlus/8DualX应用处理器进行产品寿命估算。
I.MX 8X培训 关于恩智浦此产品的点播培训、操作指南视频和在线研讨会完整列表。

网络社区

在恩智浦的一个社区网站上,可与其他工程师交流,获取专家建议,了解如何使用i.MX8X进行产品设计。

软件论坛