1
开箱即用2
获取软件3
构建并运行4
Developer Experience(开发人员体验)下面描述了启动FRDM-IMX91的步骤。
开发套件包含:
跟着演示视频,采用FRDM-IMX91开始开发你的应用。如需了解更多信息,请访问i.MX 91应用处理器文档。
图1 FRDM-IMX91顶视图
图2 FRDM-IMX91底视图
Something went wrong! Please try again.
FRDM-IMX91配备一个预置的恩智浦Linux二进制演示镜像,在eMMC上闪存。无需修改内部的二进制文件,从eMMC启动将提供具有某些功能的默认系统,在Linux上构建其他应用。
如需了解有关恩智浦Embedded Linux®的更多详情,请继续阅读后续章节。
Something went wrong! Please try again.
将提供的USB Type-C线缆连接到调试UART端口P16,然后将线缆的另一端连接到主机。
主机上将显示两个UART连接。 第一个端口用于A55核心系统调试。
如果您不熟悉终端应用,请先查看以下某个教程,再继续步骤1.4:Minicom教程、Tera Term教程、PuTTY教程。
要在Linux下调试,请确保已安装CH342F Linux驱动程序。
Something went wrong! Please try again.
SW1[4-1]是启动配置开关。默认情况下,启动设备是eMMC/uSDHC1。
| 启动模式 | SW1-4 | SW1-3 | SW1-2 | SW1-1 |
|---|---|---|---|---|
| 串行下载器 | 0 | 0 | 0 | 1 |
| USDHC1 8位eMMC 5.1 | 0 | 0 | 1 | 0 |
| USDHC2 4位SD3.0 | 0 | 0 | 1 | 1 |
Something went wrong! Please try again.
将并行LCD面板(TM050RDH03-41)插入P112x20引脚EXPI。将电源线连接到电源连接器(P1)。在u-boot阶段将DTB切换为“imx91-11x11-frdm-tianma-wvga-panel.dtb”。
Something went wrong! Please try again.
将电源线连接到电源连接器(P1)。
此开发板默认设置为从eMMC启动。处理器开始执行eMMC中的可启动镜像。信息在Arm® Cortex®-A55的串行控制台中打印。当板启动时,您会看到LCD面板左上角出现1只企鹅,然后会在左上角看到Linux终端图标,在右上角看到计时器。恭喜,您已经启动并运行。
Something went wrong! Please try again.
要登录FRDM-IMX91上运行的Linux系统,请使用“root”作为i.MX Linux操作系统的默认登录用户名,无需密码。使用以下命令在内核中加载Wi-Fi和蓝牙模块。
root@imx91frdm:~# modprobe moal mod_para=nxp/wifi_mod_para.conf
root@imx91frdm:~# ifconfig mlan0 up
root@imx91frdm:~# modprobe btnxpuart
root@imx91frdm:~# hciconfig hci0 reset欲了解更多信息,请访问:FRDM-IMX91连接培训 —— 恩智浦技术论坛
Something went wrong! Please try again.
i.MX Linux板级支持包(BSP)是一系列二进制文件、源代码和支持文件,可用来启动特定i.MX开发平台上的Embedded Linux镜像。
当前Linux二进制演示文件版本请参见Linux下载页面。i.MX软件和开发工具的Linux部分中的i.MX Linux文档包提供其他文档。
FRDM-IMX91支持从eMMC和SD卡启动。
本入门指南仅概述了将Linux BSP镜像闪存到SD卡的几种方法。经验丰富的Linux开发人员可根据需要探究其他选项。
Something went wrong! Please try again.
FRDM-IMX91的最新预建镜像可在FRDM i.MX 91开发板上获取。
预建的恩智浦Linux二进制演示镜像提供典型系统和基本的功能集,用于使用和评估处理器。无需修改系统,用户就可以评估硬件接口、测试SoC功能并运行用户空间应用。
Something went wrong! Please try again.
除了“开箱即用”章节的连接外,使用USB线缆将USB1连接到主机。
为板断电。参考“1.5启动开关设置”章节,配置板在串行下载协议(SDP)模式启动。
根据主机中使用的操作系统,将Linux BSP镜像传输到SD卡的方式可能会有所不同。从下面的选项中进行选择,获取详细指导:
如需下载最新的stable文件请访问UUU GitHub页面。如果需要有关UUU的进一步帮助,请参阅本详细教程。
uuulibusb1(通过apt-get或任何其它资源包管理器)在默认情况下,本流程将镜像闪存到SD卡中。查看UUU GitHub页面,了解如何将镜像闪存到其他设备。
打开终端应用并将目录更改为uuu及FRDM-IMX91最新Linux版本所在位置。向uuu文件添加执行权限并执行。uuu等待USB设备连接。
$ chmod a+x uuu $ sudo ./uuu -b sd_all imx-image-full-imx91frdm.rootfs.wic.zst确认FRDM-IMX91启动模式已切换至串行下载模式,然后打开开发板,uuu将开始将镜像烧录到SD卡。
完成后,为板和终端断电。如果需要进一步帮助来配置开发板从SD卡启动,请参阅1.5 启动开关设置。
如需下载最新的stable文件请访问UUU GitHub页面。如果需要有关UUU的进一步帮助,请参阅本详细教程。
uuu.exe在默认情况下,本流程将镜像闪存到SD卡中。查看UUU GitHub页面,了解如何将镜像闪存到其他设备。
打开命令提示应用,浏览至uuu.exe及FRDM-IMX91最新Linux版本所在位置。
uuu.exe -b sd_all imx-image-full-imx91frdm.rootfs.wic.zst确认FRDM-IMX91启动模式已切换至串行下载模式,然后打开开发板,uuu将开始将镜像拷贝到开发板。
完成后,关闭开发板和命令提示符应用程序。如果需要进一步帮助来配置开发板从SD卡启动,请参阅1.5 启动开关设置。
Something went wrong! Please try again.
本节简要介绍了如何为FRDM-IMX91构建Yocto BSP镜像、如何添加Matter支持以及如何构建Debian发行版镜像。
FRDM-IMX91 BSP基于i.MX SW 2024 Q3版本和Yocto Project 5.0 (Scarthgap)。要从源代码构建FRDM-IMX91镜像,请先查阅《i.MX Yocto 项目用户指南》,熟悉Yocto项目和Yocto构建。然后,请按照以下步骤为FRDM-IMX91构建镜像。
$ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-scarthgap -m imx-6.6.36-2.1.0.xml
$ repo sync $ cd ${MY_YOCTO}/sources
$ git clone https://github.com/nxp-imx-support/meta-imx-frdm.git$ cd ${MY_YOCTO}
$ MACHINE=imx91frdm DISTRO=fsl-imx-xwayland source sources/meta-imx-frdm/tools/imx-frdm-setup.sh -b frdm-imx91$ bitbake imx-image-full$ zstdcat imx-image-full-imx91frdm.rootfs.wic.zst | sudo dd of=/dev/sdx bs=1M && sync或使用uuu将映像烧录到 SD 卡:
$ uuu -b sd_all imx-image-full-imx91frdm.rootfs.wic.zstSomething went wrong! Please try again.
FRDM-IMX91支持Matter。要加入Matter支持,请按照以下步骤将Matter层纳入Yocto构建。
$ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-scarthgap -m imx-6.6.36-2.1.0.xml
$ repo sync $ cd ${MY_YOCTO}/sources/meta-nxp-connectivity
$ git remote update
$ git checkout imx_matter_2024_q3$ cd ${MY_YOCTO}/sources
$ git clone https://github.com/nxp-imx-support/meta-imx-frdm.git$ cd ${MY_YOCTO}
$ MACHINE=imx91frdm-iwxxx-matter DISTRO=fsl-imx-xwayland source sources/meta-imx-frdm/tools/imx-frdm-matter-setup.sh bld-xwayland-imx91$ bitbake imx-image-multimediaSomething went wrong! Please try again.
FRDM-IMX91支持Debian 12操作系统。i.MX Debian Linux SDK发行版组合了恩智浦的内核和引导加载程序与Debian发行版用户空间镜像,其中包括:
有关NXP Debian Linux SDK发行版的更多详情,请查阅《NXP Debian Linux SDK Distribution for i.MX and Layerscape》
要为FRDM-IMX91创建带Debian的SD卡,请按照以下步骤操作:
$ wget http://www.nxp.com/lgfiles/sdk/lsdk2412/flex-installer
$ chmod +x flex-installer
$ sudo mv flex-installer /usr/bin# format SD card
$ flex-installer -i pf -d /dev/sdb
# automatically download and install images into SD card
$ flex-installer -i auto -d /dev/mmcblk1 -m imx91frdm$ dhclient -i end0$ date -s "22 Nov 2024 09:00:00"$ debian-post-install-pkg desktop$ debian-post-install-pkg server要使用Flexbuild为FRDM-IMX91构建Debian镜像,请按照以下步骤操作。
$ git clone https://github.com/nxp/flexbuild
$ cd flexbuild && source setup.env
#Continue to run commands below in case you need to build in Docker due to lack of Ubuntu 22.04 or Debian 12 host
$ bld docker
$ source setup.env$ bld -m imx91frdm要构建镜像的单个部分,请查看以下Flexbuild用法命令列表
$ bld uboot -m imx91frdm (compile u-boot image for imx91frdm)
$ bld linux (compile linux kernel for all arm64 i.MX machines)
$ bld bsp -m imx91frdm (generate BSP firmware)
$ bld boot (generate boot partition tarball including kernel, dtb, modules, distro bootscript for iMX machines)
$ bld multimedia (build multimedia components for i.MX platforms)
$ bld rfs -r debian:server (generate Debian server rootfs)
$ bld apps -r debian:server (compile apps against runtime dependencies of Debian server RootFS)
$ bld merge-apps -r debian:server (merge iMX-specific apps into target Debian server RootFS)
$ bld packrfs -r debian:server (pack and compress target debian server rootfs)Something went wrong! Please try again.
为了帮助各种技能水平的用户加速开发,恩智浦提供了丰富的示例应用程序,以展示平台的各种功能和性能。
串行转USB驱动程序请参见CH342F Linux驱动程序。
在Linux主机的命令提示符上,运行以下命令,确定端口号:
ls /dev/ttyCH343USB*第一个数字代表Arm® Cortex®-A55。
使用以下命令安装和运行Minicom程序:
sudo apt-get install minicomsudo minicom /dev/ttyCH343USB * -s
按照图中所示配置Minicom,并退出配置。
FRDM-IMX91上的WCH USB串行芯片枚举2个串行端口。假设端口分别为COM11、COM12。第一个端口(COM11)用于Arm® Cortex®-A55的串行控制台通信。串行转USB驱动程序请参见CH342F Windows驱动程序。
注:要确定i.MX板虚拟COM端口的端口号,请打开Windows设备管理器并在端口(COM和LPT)中查找“USB串行端口”。
Tera Term是一款开源终端仿真应用。此程序显示从恩智浦开发平台的虚拟串行端口发送的信息。
PuTTY是一款广受欢迎的终端仿真应用。此程序显示从恩智浦开发平台的虚拟串行端口发送的信息。
系统安全性与完整性始终是产品开发中最为关键的考量因素之一。
FRDM-IMX91支持安全启动和加密启动功能,有效防止设备在启动序列中执行未经授权的软件,并保护引导加载程序数据免遭未授权的访问。
有关安全启动功能的详细说明,请参阅应用笔记AN12312“在支持AHAB的设备上实现安全启动”。
有关加密启动功能的详细说明,请参阅应用笔记AN13994“在支持AHAB的i.MX设备上实现加密启动”。
在某些应用场景下,对设备启动时间有严格要求,即设备必须在限定时间内完成启动过程。
为优化启动时间,FRDM-IMX91在U-Boot中支持Falcon模式。Falcon模式是U-Boot的一项功能,它允许SPL直接启动Linux内核,从而实现快速启动。它完全跳过了U-Boot的加载和初始化,从而减少在引导加载程序中花费的时间。
关于如何启用Falcon模式以及进一步优化启动时间,请参阅应用笔记AN14093“通过Falcon模式及内核优化在i.MX 8M和 i.MX 9上实现快速启动”。