1
开箱即用2
获取软件3
构建并运行4
Developer Experience (开发人员体验)下面描述了启动FRDM-IMX95的步骤。
开发套件包含:
跟着演示视频,开始采用FRDM-IMX95开发应用。如需了解更多信息,请访问i.MX 95应用处理器文档。
Something went wrong! Please try again.
FRDM-IMX95配备一个预构建的恩智浦Linux二进制演示镜像,烧写在eMMC上。无需修改内部的二进制文件,从eMMC启动将提供具有某些功能的默认系统,用于在Linux上构建其他应用。
如需了解有关恩智浦Embedded Linux®的更多详情,请继续阅读后续章节。
Something went wrong! Please try again.
将随附的USB Type-C转Type-A线连接到调试端口J1,然后将线缆的另一端连接到主机。
主机上会出现4个UART连接:一个用于Arm® Cortex®-A55,一个用于Arm Cortex-M33内核,还有一个用于Arm Cortex-M7内核系统调试。
如果您不熟悉终端应用,请先查看“调试终端设置”章节,再继续步骤1.4。
要在Linux下进行调试,请确保已安装CH344 Linux驱动程序 。
Something went wrong! Please try again.
SW1 [1-2]是启动配置开关。默认情况下,启动设备是eMMC/uSDHC1。
| 启动设备 | BOOT_MODE3 | BOOT_MODE2 | BOOT_MODE1 SW1-1 |
BOOT_MODE0 SW1-2 |
|---|---|---|---|---|
| 串行下载器 | x | 0 | 0 | 1 |
| USDHC1 8位eMMC 5.1 | x | 0 | 1 | 0 |
| USDHC2 4位SD3.0 | x | 0 | 1 | 1 |
Something went wrong! Please try again.
要查看随镜像二进制文件提供的用户界面,请通过HDMI连接器J17连接显示器。
Something went wrong! Please try again.
使用USB Type-C公头对Type-C公头线缆将USB PD适配器连接到电源连接器J25,然后打开开关SW5给板上电。
处理器开始从eMMC执行可启动镜像。然后,U-Boot执行应自动开始。
信息在Arm® Cortex®-A55的串行控制台中输出。如果不停止U-boot流程,就会继续启动内核。
当板启动时,您会看到显示器的左上角出现企鹅,然后在左上角看到Linux终端图标,在右上角看到定时器。恭喜,已顺利启动并运行。
Something went wrong! Please try again.
i.MX Linux板级支持包(BSP)包含一系列二进制文件、源代码和支持文件,可用来启动特定i.MX开发平台上的Embedded Linux镜像。
当前版本的Linux二进制演示文件请参见Linux下载页面。i.MX软件和开发工具的Linux部分中的i.MX Linux文档包提供其他文档。
FRDM-IMX95支持从eMMC和SD卡启动。
本入门指南仅概述了将Linux BSP镜像传输到SD卡的几种方法。经验丰富的Linux开发人员可根据需要探究其他选项。
Something went wrong! Please try again.
FRDM-IMX95最新的预构建镜像可参见Linux最新版本的Linux下载页面。
预构建的恩智浦Linux二进制演示镜像提供典型系统和基本的功能集,用于使用和评估该处理器。无需修改系统,用户就可以评估硬件接口、测试SoC功能并运行用户空间应用。
Something went wrong! Please try again.
除了“开箱即用”章节的连接外,使用USB数据线将USB1 J3连接到主机。
给板断电。参考“1.4 启动开关设置”章节,配置板以串行下载协议(SDP)模式启动。
根据主机使用的操作系统,将Linux BSP镜像传输到SD卡的方式可能会有所不同。从下面的选项中进行选择,获取详细指导:
如需下载最新的稳定版文件,请访问UUU GitHub页面 。如需有关UUU的进一步帮助,请参阅本详细教程 。
uuulibusb1(通过apt-get或任何其它资源包管理器)在默认情况下,本流程将镜像烧写到SD卡中。查看UUU GitHub页面 ,了解如何将镜像烧写到其他设备。
打开终端应用并将目录更改为uuu及FRDM-IMX95最新Linux发行版所在位置。向uuu文件添加执行权限并执行。uuu等待USB设备连接。
$ chmod a+x uuu
$ sudo ./uuu -b sd_all imx-boot-imx95-15x15-lpddr4x-frdm-sd.bin-flash_all imx-image-full-imx95evk.wic确认FRDM-IMX95启动模式已切换至串行下载模式,然后启动板,uuu开始将镜像烧写到板上。
完成后,为板和终端断电。如需获得关于配置板从SD卡启动的进一步帮助,请参阅“1.4 启动开关设置”。
如需下载最新的稳定版文件,请访问UUU GitHub页面。如需有关UUU的进一步帮助,请参阅本详细教程 。
uuu.exe在默认情况下,本流程将镜像烧写到SD卡中。查看UUU GitHub页面 ,了解如何将镜像烧写到其他设备。
打开命令提示应用,转到uuu.exe文件及FRDM-IMX95最新Linux版本所在位置。
.\uuu.exe -b sd_all imx-boot-imx95-15x15-lpddr4x-frdm-sd.bin-flash_all imx-image-full-imx95evk.wic确认FRDM-IMX95启动模式已切换至串行下载模式,然后启动板,uuu开始将镜像烧写到板上。
完成后,为板和终端断电。如需获得关于配置板从SD卡启动的进一步帮助,请参阅“1.4 启动开关设置”。
Something went wrong! Please try again.
本节简要介绍了如何为FRDM-IMX95构建Yocto BSP镜像。
FRDM-IMX95 BSP每季度随i.MX系列Linux BSP同步发布。要从源代码构建FRDM-IMX95镜像,请先查阅《i.MX Yocto Project用户指南》,熟悉Yocto项目和Yocto构建流程。然后,按照以下步骤为FRDM-IMX95构建镜像。下面以LF6.12.49_2.2.0 BSP为例。
1. 下载最新的i.MX系列Linux BSP版本:
$ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-walnascar -m imx-6.12.49-2.2.0.xml
$ repo sync2. Yocto Project设置:
$ MACHINE=imx95-15x15-lpddr4x-frdm DISTRO=fsl-imx-xwayland source imx-setup-release.sh -b frdm-imx953. 构建镜像:
$ bitbake imx-image-full4. 烧写SD卡镜像:
$ zstdcat imx-image-full-imx95-15x15-lpddr4x-frdm.rootfs.wic.zst | sudo dd of=/dev/sdx bs=1M && sync或使用uuu将镜像烧写到SD卡上:
$ uuu -b sd_all imx-image-full-imx95-15x15-lpddr4x-frdm.rootfs.wic.zst5. 将启动开关SW1[1:2]更改为“11”以选择SD卡启动,插入SD卡并为FRDM-IMX95板上电。
Something went wrong! Please try again.
为了帮助各种技能水平的用户加速开发,恩智浦提供了丰富的示例应用,以展示该平台的各种功能和性能。
工程师可以通过应用代码中心 (ACH)资料库轻松查找由恩智浦专家开发的微控制器和处理器软件示例、代码片段和应用软件包及演示。在代码中心,可轻松快速且一致地查找微控制器和处理器应用。
ACH提供筛选和搜索选项,让您能够快速找到特定应用。在Git功能的加持下,您可以在用户开发环境中轻松导入并使用应用。
如需了解ACH的更多详细信息,请访问此链接。
要查找FRDM-IMX95的可用示例应用,请在“器件系列”中选择“i.MX”,如下所示。
选择每个示例应用以查看其详细信息。
要获取每个示例应用的源代码,请点击顶部的“访问GitHub”按钮,访问恩智浦GitHub中的代码库。
Something went wrong! Please try again.
面向i.MX应用处理器的GoPoint是一款用户友好型应用,可启动随Linux BSP提供的预构建应用,为用户提供卓越的开箱即用体验,让他们亲身体验i.MX SoC的各项功能。GoPoint不仅突出了高级功能,还提供了实用的实现解决方案,并在GitHub 上提供了应用的源代码和构建配方。
如需了解GoPoint的更多详细信息,请访问此链接。
对于FRDM-IMX95,GoPoint默认包含在BSP发布包中。要打开GoPoint GUI启动器,请在FRDM-IMX95启动后,按屏幕左上角显示的“GoPoint”,如下所示。
会显示可用的示例应用以及每个应用的屏幕截图图标。选择示例应用时,右侧会显示此示例应用的简要说明。要启动当前选定的应用,请点击“启动演示”按钮。
应用启动后,可以通过点击启动器中的“停止当前演示”按钮(应用启动后出现)强制退出。
有关每个应用用法的详细信息,请参阅《i.MX应用处理器GoPoint用户指南》。
Something went wrong! Please try again.
Linux USB串行驱动程序可在“CH344 Linux驱动程序” 获取。
在Linux主机的命令提示符上,运行以下命令,确定端口号:
ls /dev/ttyCH343USB*一个端口用于Arm® Cortex®-M7,一个端口用于Arm® Cortex®-A55,还有一个端口用于Arm® Cortex®-M33。
使用以下命令安装和运行Minicom程序:
$ sudo apt-get install minicom$ sudo minicom /dev/ttyCH343USB * -s
按照图中所示配置Minicom,并退出配置。
FRDM-IMX95上的WCH USB转换器芯片枚举4个串行端口。一个端口用于从Arm® Cortex®-M7进行串行控制台通信,一个端口用于Arm® Cortex®-A55,还有一个端口用于Arm® Cortex®-M33。USB串行驱动程序可在“CH344 Windows驱动程序” 获取。
注:要确定i.MX板虚拟COM端口的端口号,请打开Windows设备管理器并在“端口”(COM和LPT)中查找“USB串行端口”。
Tera Term是一款开源终端仿真应用。此程序显示从恩智浦开发平台的虚拟串行端口发送的信息。
PuTTY是一款广受欢迎的终端仿真应用。此程序显示从恩智浦开发平台的虚拟串行端口发送的信息。
FRDM-IMX95有一个运行频率高达800MHz的通用Arm® Cortex®-M7内核,可用于实时和低功耗处理。关于如何在Cortex-M7内核上构建和运行程序,开发人员可以参考应用笔记AN14748《如何在i.MX 95的M7内核上运行应用》。
关于如何调试在Cortex-M7内核上运行的程序,开发人员可以参考应用笔记AN14120《在i.MX 8M、i.MX 8ULP和i.MX 9上使用VS Code调试Cortex-M》。
注:Yocto build已经在rootfs /lib/firmware/文件夹下包含了几个Cortex-M7示例镜像,用于快速评估和验证。
FRDM-IMX95配备神经处理单元(NPU),其最高运算性能可达2TOPS,用于加速神经网络机器学习推理。如需了解有关NPU硬件架构的详情,请参阅《i.MX 95应用处理器参考手册》。如需了解有关NPU软件架构的详情,请参阅《i.MX机器学习用户指南》。
要利用NPU进行加速,神经网络算子必须量化为8位(无符号或有符号)。对于模型量化,请下载最新的eIQ工具包并查看用户指南。
要通过NPU进行加速,需要使用neutron-converter工具对量化的模型进行转换。最新的neutron-converter工具包含在eIQ Neutron SDK中,可以从eIQ工具包页面下载。请按照eIQ Neutron SDK中的用户指南来转换适用于i.MX95的模型。
要评估NN模型在NPU上的性能,最简单的方法是使用Linux BSP中的benchmark_model工具。该工具使用随机数据作为输入,并给出指定运行次数的平均推理时间。以下是一个示例:
root@imx95frdm:~# /usr/bin/tensorflow-lite-2.19.0/examples/benchmark_model --graph=/usr/bin/tensorflow-lite-2.19.0/examples/mobilenet_v1_1.0_224_quant_converted.tflite $ --external_delegate_path=/usr/lib/libneutron_delegate.so关于如何使用C++和Python编写代码在NPU上运行模型推理,请参考GoPoint 中的示例应用。
FRDM-IMX95搭载了一个运行频率高达333MHz的Arm® Cortex®-M33,专门用于运行系统管理器(SM)。SM是恩智浦提供的一个应用程序,旨在管理SoC中其他处理器的低级资源。
Cortex-M33是启动内核,运行启动ROM,启动ROM会加载SM (及其他启动代码),然后跳转到SM。随后,SM会配置硬件的某些方面(例如隔离机制),然后启动系统中的其他内核。启动这些内核后,SM会进入一种服务模式,通过基于Arm系统控制与管理接口(SCMI) 的客户端RPC API,提供对时钟、电源、传感器和引脚控制的访问。为了促进内核之间的隔离,SM将SoC划分为多个逻辑机(LM),这些逻辑机对硬件和RPC API调用具有静态可配置的访问权限。
SM以源代码形式存储在Github imx-sm 库中,让客户可以根据自己的需求自由修改和重新编译其代码。但恩智浦建议,任何旨在扩展SM功能的改动都应仅限于客户自身的板层面进行。要扩展SM功能,开发人员可以参考应用笔记AN14478《通过板控制扩展i.MX 9系统管理器功能》。
FRDM-IMX95配备包含解码器和编码器的视频处理单元(VPU),支持H.264/H.265 4Kp30解码和H.264/H.265 4Kp30编码。
要对VPU进行测试,最简单的方法是使用以下命令播放MP4视频文件:
root@imx95frdm:~# gplay-1.0 MP4_EXAMPLE_FILE.mp4gplay-1.0将自动选择VPU作为视频解码器,并在Weston桌面上播放MP4文件。如果连接了HDMI显示器,应能看到视频画面。
如需了解关于如何在应用中使用VPU API的更多详细信息,请参阅《i.MX VPU API参考手册》。
FRDM-IMX95具有500万像素/秒的MIPI_CSI和ISP (两个4通道,2.5Gbps/通道)以及PHY (1个带DSI的复用器)摄像头接口,该接口通过MIPI虚拟通道支持1个4Kp60fps、两个4Kp30、4个1080p60或8个1080p30摄像头。
要测试ISP,可将EXPI-S08A20摄像头与FRDM-IMX95搭配使用。
注:请确保在给板上电前,EXPI-OS08A20摄像头已连接到FRDM-IMX95的MIPI_CSI端口。然后,请确保使用“imx95-15x15-frdm-os08a20-isp.dtb”启动Linux OS。
u-boot=> setenv fdtfile imx95-15x15-frdm-os08a20-isp.dtb
u-boot=> boot在FRDM-IMX95启动且连接了OS08A20摄像头后,请运行下面的命令搭建环境并打开OS08A20的摄像头预览:
root@imx95frdm:~# export LIBCAMERA_IPA_MODULE_PATH=/usr/lib/libcamera/ipa
root@imx95frdm:~# export LIBCAMERA_PIPELINES_MATCH_LIST='nxp/neo,uvc'
root@imx95frdm:~# export LIBCAMERA_IPA_CONFIG_PATH=/usr/share/libcamera/ipa
root@imx95frdm:~# export CAMERA0="/base/soc/bus@42000000/i2c@42540000/os08a20_mipi@36"
root@imx95frdm:~# gst-launch-1.0 libcamerasrc camera-name="${CAMERA0}" ! video/x-raw, width=3840, height=2160, format=YUY2 ! queue ! waylandsink如果HDMI显示器上正确显示出摄像头预览画面,则证明ISP正常运行。
如需了解关于ISP用法的详情,请参阅《i.MX 95摄像头移植指南》。
FRDM-IMX95配备了Mali-G310图形处理单元(GPU),其工作性能最高可达60 GFLOPS (高精度),支持OpenGL ES 3.2、OpenCL 3.0、Vulkan 1.2。
要测试GPU性能,最简单的方法是运行glmark2-es2-wayland基准测试,命令如下:
root@imx95frdm:~# glmark2-es2-wayland --fullscreen除此之外,在FRDM-IMX95的默认rootfs文件系统中,在/opt/imx-gpu-sdk/文件夹下还安装了许多其他GPU示例应用。可以直接运行该二进制文件,或通过GoPoint启动应用。
如需了解关于GPU用法的更多信息,请参阅《i.MX Graphics用户指南》。
在某些应用场景下,对设备启动时间有严格要求,即设备必须在限定时间内完成启动过程。
为优化启动时间,FRDM-IMX95在U-Boot中支持Falcon模式。Falcon模式是U-Boot的一项功能,它允许SPL直接启动Linux内核,从而实现快速启动。它完全跳过了U-Boot的加载和初始化,从而减少在引导加载程序中花费的时间。
关于如何启用Falcon模式以及进一步优化启动时间,请参阅应用笔记AN14093《通过Falcon模式及内核优化在i.MX 8M和i.MX 9上实现快速启动》。