以下说明将指导您如何启动i.MX 8M评估工具包中预加载的Android镜像。
开发套件包含:
图1. i.MX8MQuad EVK前
图2.i.MX8MQuad EVK后
Something went wrong! Please try again.
i.MX8MQuad EVK配备一个预置的恩智浦Android二进制演示镜像,在eMMC上闪存。无需修改内部的二进制文件,从eMMC启动将提供具有某些功能的默示认系统,在Android上构建其他应用。
如需了解有关恩智浦嵌入式Linux®、嵌入式Android™或MCUXpresso SDK的更多详情,请继续阅读后续章节。
Something went wrong! Please try again.
将所提供的USB线缆的micro-B端连接到调试UART端口J901
。将线缆的另一端连接到主机。
如果您不确定如何使用终端应用,请根据主机的操作系统尝试以下任一教程: Minicom教程、 Tera Term教程、 PuTTY教程。
Something went wrong! Please try again.
要查看随镜像二进制文件提供的用户界面,请通过HDMI接头(J1001
)连接显示器。
Something went wrong! Please try again.
默认情况下,这两个启动开关被配置为零位置。使用eMMC启动模式下的SW801
开关,板从eMMC启动。
i.MX板的启动模式由板上启动配置开关来控制。
图4. 启动开关设置
下表显示了DIP开关设置(在启动过程中优先),以便从i.MX8MQuad EVK板的EMMc来启动。
表1. 从i.MX8MQuad EVK上的EMMc启动
开关 | D1 | D2 | D3 | D4 |
---|---|---|---|---|
SW801 |
关 | 关 | 开 | 关 |
SW802 |
开 | 关 | - | - |
Something went wrong! Please try again.
将12V电源的插头与DC电源插头J902
连接。将电源开关SW701
滑至ON,为EVK板通电。
翻转开关为板通电(SW701
)。处理器开始执行片上ROM的代码。使用默认启动开关设置,代码读取熔丝,定义可能有可启动镜像的介质。找到可启动镜像后,U-Boot执行应自动开始。
信息在Cortex-A53的较小编号串行控制台中打印(例如Windows上的COM9
和Linux上的/dev/ttyUSB*
)。如果不停止U-boot流程,就会继续启动Linux内核。
Something went wrong! Please try again.
在启动过程中,Android标识会出现在HDMI显示屏上。注意,HDMI输出分辨率固定为1080P——要对其进行更改,请查看Android文档。
启动过程完成后,可以看到Android用户界面。您可以用鼠标开始操作。
Something went wrong! Please try again.
本部分仅适用于试图将Linux操作系统加载到板的情况。
i.MX Linux板级支持包(BSP)是一系列二进制文件、源代码和支持文件,可用来启动特定i.MX开发平台上的Embedded Linux镜像。
当前Linux二进制演示文件版本可参见i.MXLinux下载页面。Linux用户指南和Linux参考手册提供更多信息。i.MXLinux文档包或i.MX软件和开发工具的Linux部分提供其他文档。
Linux操作系统内核在i.MX板上启动前,需要将Linux镜像复制到启动设备(SD卡、eMMC等),而启动开关需要设置为启动此设备。
为不同的板和启动设备下载Linux BSP镜像有多种方法。
本入门指南仅列出了将Linux BSP镜像传输到SD卡的几种方法。经验丰富的Linux开发人员可探究其他选项。
根据主机中使用的操作系统,将Linux BSP镜像传输到SD卡的方式可能会有所不同。
将所提供的USB线缆的micro-B端连接到调试UART端口J1701
。将线缆的另一端连接到主机。
如果您不确定如何使用终端应用,请尝试以下任一教程,具体取决于主机的操作系统:
.sdcard
文件是一个磁盘镜像,直接闪存到任何SD卡中。这是加载启动i.MX8MQuad EVK板所需的所有必要组件的最简单方法。i.MX8MQuad EVK最新的预构建请参见Linux下载页面。
预建的恩智浦Linux二进制演示镜像提供典型系统和基本的功能集,用于使用和评估处理器。无需修改系统,用户就可以评估硬件接口、测试SoC功能并运行用户空间应用。
要启动板并运行Linux,需要启动镜像上的四个元件:
zImage
).dtb
)rootfs
).sdcard
镜像在一个文件中包含了上述4个元件。
当需要更多灵活性时,SD卡可逐一与单个组件(启动加载程序、内核、dtb文件和roofs文件)一起加载,或者可加载.sdcard
镜像,并且特定组件可以覆盖单个部件。
从Linux下载页面下载了BSP软件包后,请确保专为i.MX8MQuad EVK板构建的预构建SD卡镜像位于该压缩文件中。SD卡镜像名为:
-.sdcard
注:需要SD/MMC读卡器将SD卡磁盘镜像复制到SD卡中。**
将SD/MMC读卡器与SD卡连接到运行Linux操作系统的主机。
主机上运行的Linux操作系统内核为SD/MMC读卡器分配设备节点。
要确定分配给SD/MMC卡的设备节点,在主机中执行以下命令:
$ cat /proc/partitions
以下指令将永久删除SD卡上的现有内容,如果运行不正确,则对PC有危险。如有问题或要了解更多详情,请查询i.MXLinux用户指南。
运行以下命令,将SD卡镜像复制到SD/MMC卡。更改以下/dev/sdX
来匹配SD卡所用的。
$ sudo dd if=.sdcard of=/dev/sdX bs=1M && sync
如需手动设置分区,请查阅i.MX Linux用户指南中的4.3.3部分。
未使用全SD卡镜像时,如需单独加载单个组件,请参阅i.MXLinux用户指南第4.3.4-3.4.6部分。
借助源代码和文档,用户还可以为设备定制Linux镜像。如添加或删除系统组件。
要构建恩智浦Linux BSP镜像,可从i.MX CodeAurora库获得源代码。
Linux用户指南提供有关如何构建镜像的详细说明。
一个选项是,恩智浦提供一个用于构建自定义镜像的框架。Yocto Project是恩智浦专业支持选择的框架,可构建用来启动Linux内核的自定义镜像,也可以采用其他方法。
如何安装Yocto Project的详细信息超出了本入门指南的范围。如需了解详细信息,请参阅恩智浦Yocto用户指南。
名为MFGTool的制造工具是恩智浦的选择工具,用于从Windows主机将镜像加载到i.MX板。MFGTool用于将镜像下载到i.MX板上的不同设备。
执行以下步骤来闪存板镜像。
L4.9.88_2.0.0-ga_mfg-tools.tar.gz
文件至选定位置。此文件包含两个不同的MFGTool配置,一个配有rootfs镜像,另一个没有rootfs镜像。对于本教程,解压mfgtools-with-rootfs.zip
文件,该文件在本示例中创建了一个名为MFGTool-Dir
的目录。MFGTool-Dir/Profiles/Linux/OS Firmware/files
路径。如没有文件,则从预构建镜像复制文件。SW802
(启动模式)改为01
(从1位到2位),进入闪存模式。注:i.MX8MQuad EVK板上有两个USB微型端口:USB转UART和USB OTG。USB转UART端口可作为调试UART,USB OTG可以在上面的硬件镜像中作为USB。调试UART可用于监视硬件启动处理的日志。
板通电后,应插入SD卡。
*.vbs
文件。目标设备和启动存储VBS文件 | *VBS文件 |
---|---|
i.MX8MQuad EVK | mfgtool2-yocto-mx8-evk-sdcard-sd2.vbs |
点击Start,开始闪存镜像。
图5. MFGTool接口
下图显示正在进行闪存,状态栏显示闪存状态。闪存可能花费一到两分钟,具体取决于主机。
图6. MFGTool运行
下图显示了完成闪存时的工具。
图7 MFGTool闪存成功
SW801
(启动模式)改为1100
,将SW802
改为10
,将板切换回J1601
启动模式。Something went wrong! Please try again.
本节介绍了带嵌入式Android系统镜像的i.MX8MQuad EVK板的启动过程,并简介了如何构建软件组件,创建您自己的系统镜像。如需了解构建Android平台的更多信息,请参见文档
当前版本包括演示镜像、源代码和文档。在i.MX软件和开发工具下的Android部分也提供上述项目。
开发系统(MMC/SD或NAND)上的存储设备必须采用U-Boot启动加载程序来编程。启动过程确定了将访问哪些存储设备,具体取决于开关设置。当启动加载程序已加载并开始执行时,可读取U-Boot的环境空间,以确定如何继续启动过程。
镜像可来自预建版本数据包或使用源代码创建。无论采用哪种方式获取,所有Android镜像都包含以下组件:
U-Boot镜像:u-boot.imx
启动镜像:boot.img
Android系统根镜像:system.img
恢复根镜像:recovery.img
如需了解有关Android BSP的更多信息,请参见Android用户指南。
根据主机中使用的操作系统,将Android BSP镜像传输到SD卡的方式可能会有所不同。
预建恩智浦Android演示镜像为默认系统提供某些功能,以便进行评估。无需修改系统,用户就可以执行一些基础操作并与系统交互来测试硬件接口,还可以在用户空间开发软件应用。
数据包中的预建镜像可根据启动设备来分类,并连同设备名放入目录。最新的预建镜像文件可参见i.MX软件和开发工具的Android部分,也可参见演示镜像下载链接。
下载了预建镜像后,可使用下面的脚本对SD卡进行分区:
$ cd ${MY_ANDROID}/ $ sudo ./device/fsl/common/tools/fsl-sdcard-partition.sh -f imx8mq /dev/sdX
在/dev/sdX
中,X
是磁盘索引,从'a'至'z'。每台运行Linux操作系统的电脑都可能不同。
重要提示:SD卡最小尺寸要求为8GB。
不同的SD卡尺寸需要不同的分区脚本:
如果SD卡为8GB,则使用:
$ sudo ./device/fsl/common/tools/fsl-sdcard-partition.sh -f imx8mq /dev/sdX
如果SD卡为16GB,则使用:
$ sudo ./device/fsl/common/tools/fsl-sdcard-partition.sh -f imx8mq -c 14 /dev/sdX
如果SD卡为32GB,则使用:
$ sudo ./device/fsl/common/tools/fsl-sdcard-partition.sh -f imx8mq -c 28 /dev/sdX
$ umount /dev/sdX
在当前目录中复制相关的启动加载程序、启动镜像、系统镜像、恢复镜像、GPT表镜像和提供商镜像。
此脚本需要在计算机上安装simg2img工具。 simg2img是一种在Linux OS主机上将稀疏系统镜像转换为原始系统镜像的工具。android-toolsfsutils包中包含用于Ubuntu Linux操作系统的simg2img
命令。
要构建Android源代码文件,需要一台运行Linux操作系统的电脑。Ubuntu 14.04(64位)版本是为Android恩智浦BSP版本打造的最经得起考验的操作系统。
检查是否已经安装了Android版本所需的所有数据包。请参阅Android网站文档中的“设置计算机”。
除了Android网站要求的数据包,请参考Android用户指南来安装其他数据包。可参见文档资源包。
使用源代码包中提供的manifest和脚本从谷歌repo获得Android源代码。
$ sudo apt-get install repo $ source ~/imx-o8.1.0_1.3.0_8mq_ga/imx_android_setup.sh
默认情况下,imx_android_setup.sh
脚本在~/android_build
文件夹中采集源代码构建环境。
注: ${MY_ANDROID}
在所有i.MX Android版本文档中称为i.MX Android源代码根目录。
$ export MY_ANDROID=~/android_build
可下发构建配置命令lunch
,带有字符串参数
- type>
下面是为i.MX8MQuad EVK板构建带用户类型的Android镜像的示例:
$ cd ~/myandroid $ source build/envsetup.sh $ lunch evk_8mq-user $ make 2>&1 | tee build-log.txt
make
命令完成后,build-log.txt
文件包含执行输出。检查是否有错误
源代码包中的默认配置将内部eMMC作为启动存储。要更改到SD卡,参见文档资源包中的《Android用户指南》。
文档资源包还提供了关于如何构建、自定义和更改文档中的Android源代码的其他信息。
如需下载最新的stable文件请访问UUU GitHub页面。有关UUU详细教程, 请点击此处。
从NXP.com下载Android演示文件。
将已下载的文件提取到已知目录。
将名为uuu
的文件从“下载UUU on Windows”一节复制到提取的Android演示目录。
打开命令提示符并浏览到提取的Android演示目录
> uuu.exe uuu-android-mx8mm-evk-sd.lst
将SD卡插入J1701接头。在串行下载模式为板通电,uuu开始将镜像复制到板。要将板置于串行下载模式,请遵循参阅启动开关设置一节的说明。
完成后,将板断电,并参考启动开关设置,配置板从SD卡启动。
Something went wrong! Please try again.
MCUXpresso软件开发套件(MCUXpresso SDK)提供了在i.MX8MQuad M4内核中执行的全部软件源代码。如果您此时不想在i.MX8MQuad上启用Cortex-M4,则可跳过本节。
MCUXpresso SDK专为Cortex-M4独立或与A内核协作使用的嵌入式应用开发而设计。除了外设驱动程序外,MCUXpresso SDK还提供了广泛而丰富的应用示例,涵盖从基本外设用例示例到演示应用的所有内容。MCUXpresso SDK还包含RTOS内核、设备软件栈以及各种其他中间件,支持快速开发。
根据主机使用的操作系统,构建和部署演示的方式可能有所不同。
MCUXpresso SDK的当前版本和源代码请参见MCUXpresso SDK Builder.
要下载面向i.MX8MQuad的MCUXpresso SDK,请按以下步骤操作:
点击“Select Development Board”(选择开发板)。
在“选择设备、开发板或套件”下选择evkmimx8mq
,然后点击右边的“构建MCUXpresso SDK”。
选择“主机操作系统”为Linux
。
选择“工具链/IDE”为GCC Arm Embedded
。
点击“选择可选中间件“、“全选“,然后点击“保存更改“。
点击Request Build (请求构建)。
等待SDK构建和下载包。
下载并运行安装程序请访问launchpad.net/gcc-arm-embedded
。这是我们实际要用的工具链。该工具链包含编译器、链接器等。GCC工具链应当对应最新的支持版本,参见已下载包中的MCUXpresso SDK版本说明。
将工具链导出至ArmGCC_DIR
。
$ export ArmGCC_DIR=/usr
注:/usr
是您apt-get gcc-arm-none-eabi
时的常用安装目录。如果它发生了改变,则需要更改目录。
确保安装了cmake
:
$ sudo apt-get install cmake
$ sudo apt-get install gcc-arm-none-eabi
将命令窗口的目录更改为demo armgcc目录并运行build命令:
$
$ ./build_all.sh
每个MCUXpresso SDK项目支持两种项目配置(构建目标):
调试
编译器优化设置为低,生成可执行文件的调试信息。选择此目标是为了开发和调试。
版本
编译器优化设置为高,不生成调试信息。选择此目标是为了最终应用部署。
注:提供脚本文件,用来构建这两种配置。在本示例中,构建Debug
目标并在命令行中键入build_debug.sh
。如想选择Release
目标,则键入build_release.sh
。
上一个命令生成调试和版本二进制文件(sdk20-app.bin
)。这些文件位于调试和版本文件夹中。
sdk20-app.bin
复制到SD卡的启动分区。本部分介绍了采用SD卡和i.MX处理器的预建U-Boot镜像运行应用的步骤。
按照Embedded Linux®选项卡的步骤,准备一张SD卡,其中包含来自i.MX8MQuad处理器Linux BSP包的预建U-Boot+Linux镜像。如已加载了带有Linux镜像的SD卡,可跳过这一步。
sdk20-app.bin
)复制到SD卡的FAT分区。J1601
启动,在EVK板上,只有一个SD插槽可用来启动。通过USB线缆连接板上的“DEBUG UART”插槽与PC。Windows操作系统自动安装USB驱动程序,Ubuntu操作系统也将找到串行设备。
有关串行通信应用的更多说明,请参阅开箱即用的串行通信控制台设置部分。
115200
bit/s,数据位为8
,无奇偶校验位,并接通板电源。在U-Boot倒计时到零之前按任意键,接通板电源并停止启动过程。在第一个终端仿真器的U-Boot提示符处,键入U-Boot的以下命令。
=>fatload mmc 1:1 0x7e0000 sdk20-app.bin
=>bootaux 0x7e0000
这些命令将镜像文件从SD卡的第一个分区复制到Cortex-M4’的存储器,并从复位中释放Cortex-M4。
MCUXpresso SDK的当前版本和源代码请参见MCUXpresso SDK Builder.
要下载面向i.MX8MQuad的MCUXpresso SDK,请按以下步骤操作:
点击“Select Development Board”(选择开发板)。
在“选择设备、开发板或套件”下选择evkmimx8mq
,然后点击右边的“构建MCUXpresso SDK”。
选择“主机操作系统”为Linux
。
选择“工具链/IDE”为GCC Arm Embedded
。
点击“选择可选中间件”、“全选”,然后点击“保存更改”。
点击Request Build (请求构建)。
等待SDK构建和下载包。
下载并运行安装程序请访问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。
下载最新的MinGW mingw-get-setup安装程序请访问:Sourceforge网站。
运行安装程序。推荐的安装路径为C:\MinGW
,但是,您可以将其安装到任何位置。
注:此安装路径不包含任何空格。
确保在Basic Setup下选择了mingw32-base
和msys-base
。
图13. MinGW文件
点击Installation
(安装)菜单中的Apply Changes
(应用更改),并按照其余指令完成安装。
图14. 应用更改
添加相应项目到Windows操作系统的Path环境变量。在"Environment Variables..."部分的Control Panel→System and Security→System→Advanced System Settings下可找到它。路径为:
重要提示:假设默认安装路径为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. 变量名称
下载CMake3.0.x
安装CMake前,确保选择了Add CMake to system PATH选项。由用户选择是为所有用户还是只为当前用户将其安装到PATH。在本示例中,假设为所有用户安装了此应用。
图16. 安装CMake
注:可能需要重启系统,才能使PATH更改生效。
打开GCC Arm嵌入式工具链命令窗口。要启动窗口,需从Windows操作系统“开始”菜单进入Programs → GNU Tools Arm Embedded version>,然后选择GCC Command Prompt。
图17. GCC命令提示符。
将命令窗口的目录更改为demoarmgcc
目录并运行build命令:
\boards\evkmimx8mq\demo_apps\\armgcc
或双击Explorer中的build_all.bat
文件,执行构建。预计输出显示如图:
图18. 构建结果
每个MCUXpresso SDK项目支持两种项目配置(构建目标):
编译器优化设置为低,生成可执行文件的调试信息。选择此目标是为了开发和调试。
编译器优化设置为高,不生成调试信息。选择此目标是为了最终应用部署。
注:提供脚本文件,用来构建这两种配置。在本示例中,构建Debug
目标并在命令行中键入build_debug.bat
。如想选择Release
目标,则键入build_release.bat
。
上一个命令生成调试和版本二进制文件(sdk20-app.bin
)。这些文件位于调试和版本文件夹中。
sdk20-app.bin
复制到SD卡的启动分区。本部分介绍了采用SD卡和i.MX处理器的预建U-Boot镜像运行应用的步骤。
sdk20-app.bin
)复制到SD卡的FAT分区。J1601
启动,在EVK板上,只有一个SD插槽可用来启动。通过USB线缆连接板上的“DEBUG UART”插槽与PC。Windows操作系统自动安装USB驱动程序,Ubuntu操作系统也将找到串行设备。
有关串行通信应用的更多说明,请参阅开箱即用的串行通信控制台设置部分。
115200
bps,数据位为8
,无奇偶校验位,并接通板电源。在U-Boot倒计时到零之前按任意键,接通板电源并停止启动过程。在第一个终端仿真器的U-Boot提示符处,键入U-Boot的以下命令。
=>fatload mmc 1:1 0x7e0000 sdk20-app.bin
=>bootaux 0x7e0000
这些命令将MCUXpressoSDK存储器镜像文件从SD卡的第一个分区复制到Cortex-M4存储器,并从复位中释放M4。
Something went wrong! Please try again.
文档和视频 | 说明 |
---|---|
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应用处理器提供的黑密钥特性的公钥加密方案。 |
为边缘保驾护航:制造业保护——在非安全环境中指配敏感资料 | 本次在线研讨会将介绍制造业保护功能,并讨论如何使用该功能来确保安全地交付和安装敏感资料。 |
AN4581:如何在支持HABv4的设备上安全启动i.MX | 该应用笔记为包含HABv4的i.MX应用处理器提供了安全启动参考,并演示了生成签名镜像和配置IC以安全运行的示例。 |
i.MX 8M SoC包含加密加速与保证模块(CAAM模块),可通过CryptoDev使用,借助硬件加快加密和解密过程。由于CAAM模块位于SoC上,因此i.MX8M EVK板也支持它。建议在处理大量数据时或在性能要求较高的任何应用中使用此模块。
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: 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 EVK在Linux上连接到互联网:
RJ-45
接头上。#Log in: root
# 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 Quad EVK上配置恩智浦技术无线模块功能的指南 | 本文档不仅详细说明了i.MX 8M Quad EVK上的Wi-Fi和蓝牙功能和配置以及Azurewave AW-CM358MA(88W8987)和Azurewave AW-CM276MA(88W8997)无线模块,还阐述了Wi-Fi和蓝牙接口的初始化和配置。 |
PF4210是恩智浦针对i.MX 8M优化的14通道电源管理单元IC
文档和视频 | 说明 |
---|---|
AN12118:i.MX 8M Quad功耗测量 | 通过几个用例说明了在恩智浦EVK平台上对i.MX 8M Quad应用处理器进行的电流消耗测量。 |
AN12225:如何在使用i.MX8M A53运行M4时降低SoC功耗 | 使用AMP应用时,用户可能会发现VDD_SOC电流比预期高得多。本文档讨论根本原因和解决方案。 |
i.MX 8MM上的M4低功耗演示 | 允许您测试i.MX 8M EVK上的功耗。 |
借助i.MX板上运行的Linux,您可以评估i.MX SoC提供的特殊功能:本示例显示如何进入低功耗模式和恢复正常操作。
输入下面的命令,启用串行TTY作为板的唤醒源:
路径:
# echo enabled > /sys/class/tty/ttymxc0/power/wakeup
输入下面的命令,进入Suspend-To-RAM模式:
# 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)
按下SW1701
开关,唤醒板。终端上应出现以下消息:
HIFsuspendwow 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系列提供的音频平台产品。 |
AN12195:如何采用i.MX 8M实现低功耗音频 | 本文讨论如何采用i.MX 8M实现低功耗音频应用设计。 |
这个简单的例子显示了audiotestsrc
和alsasink
之间的链路。
将耳机插入i.MX 8M EVK板上的音频插孔。
如果您的耳机包含麦克风功能(带有四个触点的TRRS),请不要将麦克风插孔推到底。在外面留一个接触环。
#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],完成命令行
这个简单的例子显示了audiotestsrc
和alsasink
之间的链路。
将耳机插入i.MX 8M EVK板上的音频插孔。
本示例说明如何只解码视频文件中的音频。将视频文件复制到您的SD卡rootfs分区上的/home/root/
,从SD卡启动板,然后运行下面的命令:
注:您可从Big Buck Bunny网站免费获得本示例中使用的文件。
# 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 EVK上使用GStreamer 1.0版的更多信息。包括解码、编码、摄像头、视频合成以及视频缩放和旋转示例。 |
使用恩智浦MCU和Embedded Wizard在实时工业HMI系统中部署图形功能 | 恩智浦已与TARA Systems合作,提供嵌入式向导作为软件支持技术。 |
AN12189:i.MX 8M评估套件MX8-DSI-OLED1快速入门指南 | 提供有关i.MX 8M的概述,以及Crank Software的Storyboard与传统的UI开发工具有何不同。 |
AN12188:i.MX 8M评估套件IMX-MIPI-HDMI快速入门指南 | 本文档简要概述了如何使用i.MX 8M EVK和IMX-MIPI-HDMI附件卡快速入门,将MIPI-DSI信号转换为HDMI信号。 |
AN12187:i.MX 8M评估套件MINISASTOCSI快速入门指南 | 本文档简要概述了如何使用i.MX 8M EVK和MINISASTOCSI附件卡快速入门,MINISASTOCSI附件卡是一种基于OmniVision OV5640芯片组的MIPI-CSI接口摄像头套件。 |
文档和视频 | 说明 |
---|---|
i.MX 8摄像头用例 | 了解有关i.MX 8 MIPI CSI用例、Advanced Gstreamer摄像头用例、i.MX 8M EVKB支持的可用摄像头和子卡、兼容设备树(DTS)文件以及如何启用其他摄像头选项的详细信息。 |
i.MX 8 GStreamer用户指南 | 基于GStreamer 1.0版本的加速解决方案用户指南,纳入恩智浦BSP L5.4.24_1.1.0支持的各种i.MX 8系列SoC中。 |
AN12187:i.MX 8M评估套件MINISASTOCSI快速入门指南 | 本文档简要概述了如何使用i.MX 8M EVK和MINISASTOCSI附件卡快速入门,MINISASTOCSI附件卡是一种基于OmniVision OV5640芯片组的MIPI-CSI接口摄像头套件。 |
机器学习(ML)通常包括需要分类、识别和预测人为抽象的应用。例子包括图像识别、手势识别、异常检测、语音到文本、文本到语音、自动语音识别(ASR)、场景识别等等。本节将专门介绍应用于图像或视频流的恩智浦机器学习(ML)工具。音频部分可以参考所包括的示例。
文档和视频 | 说明 |
---|---|
eIQ®机器学习软件开发环境 | 支持在恩智浦MCU、i.MX RT跨界MCU和i.MX系列SoC上使用机器学习(ML)算法。eIQ软件包括推理引擎、神经网络编译器和优化库。 |
i.MX机器学习用户指南 | 恩智浦eIQ UM for i.MX工具包提供一组库和开发工具,面向针对恩智浦微控制器和应用处理器的机器学习应用。 |
恩智浦eIQ面向i.MX应用处理器的机器学习软件开发环境 | 本文档为i.MX系列支持的机器学习软件提供指导,并包括eIQ简介、Yocto安装指南和用于运行所有支持的DNN和非DNN示例的分步指南。 |
eIQ常见问题 | 本文档介绍有关eIQ和嵌入式机器学习的一些最常见的问题。 |
AN13001:Glow内存分析 | 如何理解Glow编译器生成的Glow内存信息,并计算特定模型所需的内存。然后可使用此编译器确定运行模型所需的最小内存大小。 |
AN12766:使用Tensor Flow Lite的K-Means聚类代码解析进行eIQ异常检测 | 使用异常检测启用机器状态监测应用的分步指导。 |
i.MX应用处理器eIQ软件快速入门 | 我们使用eIQ ML软件开发环境编写了一系列循序渐进的教程,从开箱到部署、建模,再到边缘推理。 |
机器学习(ML)通常包括需要分类、识别和预测人为抽象的应用。例子包括图像识别、手势识别、异常检测、语音到文本、文本到语音、自动语音识别(ASR)、场景识别等等。本节将专门介绍应用于图像或视频流的恩智浦机器学习(ML)工具。音频部分可以参考所包括的示例。
文档和视频 | 说明 |
---|---|
eIQ®机器学习软件开发环境 | 支持在恩智浦MCU、i.MX RT跨界MCU和i.MX系列SoC上使用机器学习(ML)算法。eIQ软件包括推理引擎、神经网络编译器和优化库。 |
i.MX机器学习用户指南 | 恩智浦eIQ UM for i.MX工具包提供一组库和开发工具,面向针对恩智浦微控制器和应用处理器的机器学习应用。 |
恩智浦eIQ面向i.MX应用处理器的机器学习软件开发环境 | 本文档为i.MX系列支持的机器学习软件提供指导,并包括eIQ简介、Yocto安装指南和用于运行所有支持的DNN和非DNN示例的分步指南。 |
eIQ常见问题 | 本文档介绍有关eIQ和嵌入式机器学习的一些最常见的问题。 |
AN13001:Glow内存分析 | 如何理解Glow编译器生成的Glow内存信息,并计算特定模型所需的内存。然后可使用此编译器确定运行模型所需的最小内存大小。 |
AN12766:使用Tensor Flow Lite的K-Means聚类代码解析进行eIQ异常检测 | 使用异常检测启用机器状态监测应用的分步指导。 |
i.MX应用处理器eIQ软件快速入门 | 我们使用eIQ ML软件开发环境编写了一系列循序渐进的教程,从开箱到部署、建模,再到边缘推理。 |
在Linux主机的命令提示符上,运行以下命令,确定端口号:
$ ls /dev/ttyUSB*
较小编号适用于Arm®Cortex®-A53内核,较大编号适用于Arm®Cortex®-M4内核。
使用以下命令安装和运行串行通信程序(以minicom
为例):
$ sudo apt-get install minicom
$ sudo minicom /dev/ttyUSB* -s
图3. Minicom配置
i.MX8MQuad上的FTDI USB串行芯片将枚举两个串行端口。假设这两个端口分别为COM9
和COM10
。较小的端口号( COM9
)适用于来自Arm®Cortex®-A7的串行控制台通信,而较大的端口号(COM10
)适用于Arm®Cortex®-M4内核。串行转USB驱动程序请参见FTDI芯片驱动。
注:要确定i.MX板虚拟COM端口的端口号,请打开Windows设备管理器并在端口(COM和LPT)中查找“USB串行端口”
它是一款开源终端仿真应用。此程序显示从恩智浦开发平台的虚拟串行端口中发送的信息。
COM
端口号),波特率为115200
,数据位为8
,无奇偶校验且停止位为1
。要进行此操作,进入Setup→Serial Port并更改设置。i.MX8MQuad上的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将会发出提示。在恩智浦的一个社区网站上,可与其他工程师交流,获取专家建议,了解如何使用i.MX 8M进行产品设计。