下面描述了启动i.MX 8QuadXPlus MEK的步骤。
开发套件包含:
Something went wrong! Please try again.
Something went wrong! Please try again.
该套件带有含预建恩智浦Linux二进制演示镜像的SD卡。无需修改SD卡内的二进制文件,从该SD卡启动将提供具有某些功能的默认系统,在Linux上构建其他应用。下面的章节介绍了该软件。
Something went wrong! Please try again.
将所提供的USB线缆的micro-B端连接到调试UART端口J11
。将线缆的另一端连接到主机。
如果您不确定如何使用终端应用,请尝试以下教程之一,具体取决于主机的操作系统:
Something went wrong! Please try again.
将电源线插入电源接头(J9
)。
处理器开始执行片上ROM的代码。使用默认启动开关设置,代码读取熔丝,定义可能有可启动镜像的介质。找到可启动镜像后,U-Boot执行应自动开始。
信息在Cortex®-A35的串行控制台中打印。如果不停止U-boot流程,就会继续启动内核。
Something went wrong! Please try again.
本部分仅适用于将Linux操作系统加载到板的情况。
i.MX Linux板级支持包(BSP)是一系列二进制文件、源代码和支持文件,可用来启动特定i.MX开发平台上的Embedded Linux镜像。
当前Linux二进制演示文件版本请参见i.MXLinux下载页面。i.MX软件和开发工具的Linux部分中的i.MX Linux文档包提供其他文档。
Something went wrong! Please try again.
Linux操作系统内核在i.MX板上启动前,需要将Linux加载到启动设备(SD卡、eMMC等),而启动开关需要设置为启动此设备。
有多种方法为不同的板和启动设备下载Linux BSP镜像。
本入门指南仅列出了将Linux BSP镜像传输到SD卡的几种方法。经验丰富的Linux开发人员可探究其他选项。
Something went wrong! Please try again.
i.MX 8QuadXPlus MEK最新的预构建镜像,请参见Linux最新版本的Linux下载页面。
预建的恩智浦Linux二进制演示镜像提供典型系统和基本的功能集,用于使用和评估处理器。无需修改系统,用户就可以评估硬件接口、测试SoC功能并运行用户空间应用。
当需要更多灵活性时,SD卡可逐一与单个组件(启动加载程序、内核、dtb文件和roofs文件)一起加载,或者可加载.sdcard镜像,并且特定组件可以覆盖单个部件。
如需下载最新的stable文件请访问UUU GitHub页面。有关UUU详细教程, 请访问UUU GitHub页面。
uuu
libusb1
(通过apt-get或任何其它资源包管理器)在默认情况下,本流程将镜像闪存到eMMC闪存中。查看UUU GitHub页面,了解如何将镜像闪存到其他设备。
打开终端应用并将目录更改为uuu及i.MX 8QuadXPlus MEK最新Linux版本所在位置。向uuu文件添加执行权限并执行。Uuu等待USB设备连接
$ chmod a+x uuu $ sudo ./uuu _images_.zip
为板通电,uuu开始将镜像复制到板。
完成后,将板断电,并参考启动开关设置,配置板从eMMC启动。
从UUU GitHub页面下载最新的stable文件。有关UUU详细教程, 请访问UUU GitHub页面。
uuu.exe
在默认情况下,本流程将镜像闪存到eMMC闪存中。查看UUU GitHub页面,了解如何将镜像闪存到其他设备。
打开命令提示应用,浏览至uuu.exe
文件及i.MX 8QuadXPlus MEK最新Linux版本所在位置。
uuu.exe _images_.zip
为板通电,uuu
开始将镜像复制到板。
完成后,将板断电,并参考启动开关设置,配置板从eMMC启动。
Something went wrong! Please try again.
本节介绍了带Embedded Android系统镜像的i.MX 8QuadXPlus MEK板的启动过程,并简介了如何构建软件组件,创建您自己的系统镜像。如需了解构建Android平台的更多信息,请参见构建Android
当前版本包括演示镜像、源代码和文档。在i.MX软件和开发工具下的Android部分也提供上述项目。
Something went wrong! Please try again.
开发系统(MMC/SD或NAND)上的存储设备必须采用U-Boot启动加载程序来编程。启动过程确定了将访问哪些存储设备,具体取决于开关设置。当启动加载程序已加载并开始执行时,可读取U-Boot的环境空间,以确定如何继续启动过程。
镜像可来自预建版本数据包或使用源代码创建。无论采用哪种方式获取,所有Android镜像都包含以下组件:
U-Boot镜像:u-boot.imx
启动镜像:boot.img
Android系统根镜像:system.img
恢复根镜像:recovery.img
如需了解有关Android BSP的更多信息,请参见Android用户指南。
Something went wrong! Please try again.
预建恩智浦Android演示镜像将为默认系统提供某些功能,以便进行评估。无需修改系统,用户可以执行一些基本操作,并与系统交互来测试硬件接口,并在用户空间开发软件应用。
数据包中的预建镜像可根据启动设备来分类,并连同设备名放入目录。最新的预建镜像文件可在i.MX软件和开发工具的Android部分找到。
Something went wrong! Please try again.
除了“开箱即用”章节的连接外,使用USB线缆将J10连接到主机。
为板断电。参考启动开关设置,配置板在SDP(串行下载协议)模式启动。
根据主机中使用的操作系统,将Android BSP镜像传输到SD卡的方式可能会有所不同。从下面的选项中进行选择,获取详细指导:
从UUU GitHub页面下载最新的stable文件。有关UUU详细教程, 请访问GitHub页面。
如需下载Android演示文件请访问恩智浦网站。
将已下载的文件提取到已知目录。
在默认情况下,本流程将镜像闪存到eMMC闪存中。查看UUU GitHub页面,了解如何将镜像闪存到其他设备。
将名为uuu
的文件从“下载UUU on Linux”一节复制到提取的Android演示目录。
$ sudo ./uuu_imx_android_flash.sh -f imx8qxp -a -e -u trusty
在串行下载模式为板通电,uuu开始将镜像复制到板。要将板置于串行下载模式,遵循启动开关设置一节的说明。
完成后,将板断电,并参考启动开关设置,配置板从eMMC启动。
从UUU GitHub页面下载最新的stable文件。有关UUU详细教程, 请访问GitHub页面。
如需下载Android演示文件请访问恩智浦网站。
将已下载的文件提取到已知目录。
在默认情况下,本流程将镜像闪存到eMMC闪存中。查看UUU GitHub页面,了解如何将镜像闪存到其他设备。
将名为uuu
的文件从“下载UUU on Windows”一节复制到提取的Android演示目录。
打开命令提示符并浏览到提取的Android演示目录
> ./uuu_imx_android_flash.bat -f imx8qxp -a -e -u trusty
在串行下载模式为板通电,uuu开始将镜像复制到板。要将板置于串行下载模式,遵循启动开关设置一节的说明。
完成后,将板断电,并参考启动开关设置,配置板从eMMC启动。
Something went wrong! Please try again.
MCUXpresso软件开发套件(MCUXpresso SDK)提供了在i.MX 8QuadXPlus M4内核中执行的全部软件源代码。
如果您此时不想在i.MX 8QuadXPlus上启用Cortex®-M4,则可跳过本节。
MCUXpresso SDK专为Cortex®-M4独立或与A内核协作使用的嵌入式应用开发而设计。除了外设驱动程序外,MCUXpresso SDK还提供了广泛而丰富的应用示例,涵盖从基本外设用例示例到演示应用的所有内容。MCUXpresso SDK还包含RTOS内核、设备软件栈以及各种其他中间件,支持快速开发。
根据主机使用的操作系统,构建和部署演示的方式可能有所不同。从下面的选项中进行选择,获取详细指导:
MCUXpresso SDK的当前版本和源代码请参见MCUXpresso SDK Builder.
要下载面向i.MX 8QuadXPlus的MCUXpresso SDK,请按以下步骤操作:
MEK-MIMX8QX
,然后点击右边的“Build MCUXpresso SDK”。launchpad.net/gcc-arm-embedded
。这是我们实际要用的工具链。该工具链包含编译器、链接器等。GCC工具链应当对应最新的支持版本,参见已下载包中的MCUXpresso SDK版本说明。ArmGCC_DIR
。 $ export ARMGCC_DIR=/usr
注:/usr
是您apt-get gcc-arm-none-eabi
时的常用安装目录。如果它发生了改变,则需要更改目录。
$ sudo apt-get install cmake $ sudo apt-get install gcc-arm-none-eabi
$ cd /boards/MEK-MIMX8QX/demo_apps/armgcc $ ./build_all.sh
编译器优化设置为低,生成可执行文件的调试信息。选择此目标是为了开发和调试。
编译器优化设置为高,不生成调试信息。选择此目标是为了最终应用部署。
注:提供脚本文件,用来构建这两种配置。在本示例中,构建Debug
目标并在命令行中键入build_debug.sh
。如想选择Release
目标,则键入build_release.sh
。
.bin
)。这些文件位于调试和版本文件夹中。hello_world.bin
复制到SD卡的启动分区。本部分介绍了采用SD卡和i.MX处理器的预建U-Boot镜像运行应用的步骤。
J12
启动,在MEK板上,只有一个SD插槽可用来启动。=>fatload mmc 1:1 0x88000000 hello_world.bin => dcache flush => bootaux 0x88000000
MCUXpresso SDK的当前版本和源代码请参见MCUXpresso SDK Builder.
要下载面向i.MX 8QuadXPlus的MCUXpresso SDK,请按以下步骤操作:
MEK-MIMX8QX
,然后点击右边的“Build MCUXpresso SDK”。 GCC Arm Embedded
。如需下载并运行安装程序请访问launchpad.net/gcc-arm-embedded。这是我们实际要用的工具链。该工具链包含编译器、链接器等。GCC工具链应当对应最新的支持版本,参见已下载包中的MCUXpresso SDK版本说明。
Minimalist GNU for Windows(MinGW)开发工具提供了一套不依赖第三方C-Runtime DLL(如Cygwin)的工具。MCUXpresso SDK所用的构建环境无需使用MinGW Build工具,但充分利用了MinGW和MSYS的基础安装。MSYS为与Unix类似的接口和工具提供基本的Shell。
注:此安装路径不包含任何空格。
mingw32-base
和msys-base
。 图13. MinGW文件
Apply Changes
(应用更改),并按照其余指令完成安装。 图14. 应用更改
假设默认安装路径为C:\MinGW
,此例如下所示。如果路径设置不正确,工具链将不起作用。
如果您的PATH
变量中包含C:\MinGW\msys\x.x\bin
(根据KSDK 1.0.0要求),删除该路径以确保新的GCC构建系统正常工作。
ArmGCC_DIR
。此变量的值应当指向Arm®GCC嵌入式工具链安装路径,此例中的安装路径为:C:\Program Files (x86)\GNU Tools Arm Embedded\4.8 2014q3
参考GNU Arm®GCC嵌入式工具的安装文件夹,获得确切的安装路径名。
图15. 变量名称
安装CMake前,确保选择了Add CMake to system PATH选项。由用户选择是为所有用户还是只为当前用户将其安装到PATH。在本示例中,假设为所有用户安装了此应用。
图16. 安装CMake
按照安装程序的其余指令操作。
注:可能需要重启系统,才能使PATH更改生效。
图17. GCC命令提示符。
> cd
> build_all.bat
或双击Explorer中的build_all.bat
文件,执行构建。预计输出显示如图:
图18. 构建结果
编译器优化设置为低,生成可执行文件的调试信息。选择此目标是为了开发和调试。
编译器优化设置为高,不生成调试信息。选择此目标是为了最终应用部署。
注:提供脚本文件,用来构建这两种配置。在本示例中,构建Debug目标并在命令行中键入build_debug.bat
。如想选择Release
目标,则键入build_release.bat
。
.bin
)。这些文件位于调试和版本文件夹中。hello_world.bin
复制到SD卡的启动分区。本部分介绍了采用SD卡和i.MX处理器的预建U-Boot镜像运行应用的步骤。
=>fatload mmc 1:1 0x88000000 hello_world.bin
=>dcache flush
=>bootaux 0x88000000
Something went wrong! Please try again.
文档和视频 | 说明 |
---|---|
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)后端所需的信息。 |
i.MX 8QuadXPlus MEK板包含加密加速与保证模块(CAAM)模块,可通过CryptoDev使用,借助硬件加快加密和解密过程。建议在处理大量数据时或在性能要求较高的任何应用中使用此模块。此示例显示了使用CAAM作为加密分流引擎的优势。
OpenSSL是一个开源项目,定义安全协议SSL(安全套接字层)和TLS(传输层安全)。它有一个软件库,可用于需要安全信息传输的应用,以防止窃听。
OpenSSL包括一个速度命令,用于测试所需加密算法的加密性能。对于本示例,使用的算法为aes-128-cbc
,实现高级加密标准(AES)加密算法,支持密码模块链(CBC)运行模式和128位模块。
使用以下命令可观看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上的互联网,请执行以下步骤:
RJ-45
接头上。# ifconfig eth0
# 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,但也适用于i.MX 8QXP,尽管WiFi接口类型不同 |
如何在i.MX 8M Quad EVK上配置恩智浦技术无线模块功能的指南 |
本文档不仅详细说明了i.MX 8M Quad EVK上的Wi-Fi和蓝牙功能和配置以及Azurewave AW-CM358MA(88W8987)和Azurewave AW-CM276MA(88W8997)无线模块,还阐述了Wi-Fi和蓝牙接口的初始化和配置。 注:虽然本文档提到i.MX 8M,但也适用于i.MX 8QXP。 |
文档和视频 | 说明 |
---|---|
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系列提供的音频平台产品。 |
这个简单的例子显示了audiotestsrc
和alsasink
之间的链路。
首先,使用[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卡启动板,然后运行下面的命令:
注:如需免费获得本示例中使用的文件请访问Big Buck Bunny网站。
默认输出设备为cs42888,您可以首先通过以下步骤将输出设备设置为wm8960:
启动pulseAudio守护程序
# pulseaudio --start
获取wm8960接收编号
# pacmd list-sinks
将默认接收器设置为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 8M Nano,但也适用于i.MX 8QXP。 |
i.MX 8 Gstreamer用户指南 |
了解有关如何在i.MX 8M Nano EVK上使用GStreamer 1.0版的更多信息。包括解码、编码、摄像头、视频合成以及视频缩放和旋转示例。 注:虽然本文档提到 i.MX 8M Nano,但也适用于i.MX 8QXP。 |
AN12187:i.MX 8M评估套件MINISASTOCSI快速入门指南 |
本文档简要概述了如何使用i.MX 8M EVK和MINISASTOCSI附件卡快速入门,MINISASTOCSI附件卡是一种基于OmniVision OV5640芯片组的MIPI-CSI接口摄像头套件。 注:虽然本文档提到i.MX 8M EVK,MINISASTOCSI也可与i.MX 8QXP MEK搭配使用。 |
文档和视频 | 说明 |
---|---|
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工作流工具支持数据管理、模型训练、量化和精简、验证、目标分析和模型部署。
文档和视频 | 说明 |
---|---|
AN12900:使用CAAM和Mender或软件更新保护Linux无线原型 |
为Linux镜像(特别是i.MX 8M/MM)提供安全无线更新的原型实现 |
AN12921:Google Cast身份验证特性在i.MX上的实现 |
此应用笔记提供了有关谷歌语音助手(GVA)和音频广播(C4A)所需的安全属性的详细信息,以及它们在恩智浦GVA/C4A参考平台上的实现。 |
在Linux主机的命令提示符上,运行以下命令,确定端口号:
$ ls /dev/ttyUSB*
较小编号适用于Arm®Cortex®-A53内核,较大编号适用于Arm®Cortex®-M4内核。
使用以下命令安装和运行串行通信程序(以minicom
为例):
$ sudo apt-get install minicom
$ sudo minicom /dev/ttyUSB* -s
i.MX 8QuadXPlus上的FTDI USB串行芯片将枚举两个串行端口。假设这两个端口分别为COM9
和COM10
。较小的端口号COM9
适用于来自Arm® Cortex®-A35内核的串行控制台通信,而较大的端口号COM10
适用于Arm®Cortex®-M4内核。串行转USB驱动程序请参见FTD芯片驱动。
注:要确定i.MX板虚拟COM端口的端口号,请打开Windows设备管理器并在端口(COM和LPT)中查找“USB串行端口”
它是一款开源终端仿真应用。此程序显示从恩智浦开发平台的虚拟串行端口中发送的信息。
COM
端口号),波特率为115200
,数据位为8
,无奇偶校验且停止位为1
。要进行此操作,进入Setup-> Serial Port并更改设置。 i.MX 8QuadXPlus上的FTDI USB串行芯片将枚举两个串行端口。假设这两个端口分别为COM9
和COM10
。较小的端口号(COM9
)适用于来自Arm®Cortex®-A7的串行控制台通信,而较大的端口号(COM10
)适用于Arm Cortex-M4。串行转USB驱动程序请参见FTD芯片驱动。
注:要确定i.MX板虚拟COM端口的端口号,请打开Windows设备管理器并在端口(COM和LPT)中查找“USB串行端口”
PuTTY是一款广受欢迎的终端仿真应用。此程序显示从恩智浦开发平台的虚拟串行端口中发送的信息。
COM
端口号。还要输入波特率,在本例中,为115200
。COM
端口,此终端窗口会打开。如果配置不正确,PuTTY将会发出提示。您的板是这样的包装吗?
没问题!您的板是旧封装,闪存存储器中预装了不同的开箱即用演示。
您将会看到红色和绿色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进行产品设计。
软件论坛