1
Out of the Box2
Get Software3
Build and Run4
Developer ExperienceSign in to save your progress. Don't have an account? Create one.

The following section describes the steps to boot the FRDM-IMX91S.
Development kit contains:
Get started developing your application on the FRDM-IMX91S with the out-of-the-box video. For more information, please visit the i.MX 91 applications processor Documentation.
Something went wrong! Please try again.
The FRDM-IMX91S comes with a prebuilt NXP Linux binary demo image flashed on the TF card. Without modifying the binary inside, booting from the TF card provides a default system with certain features for building other applications on top of Linux.
FRDM-IMX91S board features integrated 256 MB NAND flash memory supporting direct boot (NAND boot). This includes a deeply trimmed, lightweight file system optimized for reliability and minimal resource consumption. Its small footprint maximizes usable storage while ensuring efficient operation. This file system serves as an ideal starting point – its modular design is fully customizable, allowing you to tailor it further to your specific application needs and optimize performance.
Something went wrong! Please try again.
Connect the supplied USB-Type C cable to the debug UART port J11, then connect the other end of the cable to a host computer.
Two UART connections will appear on the host computer. The first port is for A55 core system debugging.
If you are unfamiliar with terminal applications, please view one of the following tutorials before continuing to step 1.4: Minicom Tutorial, Tera Term Tutorial, PuTTY Tutorial.
To debug under Linux, make sure that CH342F Linux driver is installed.
Something went wrong! Please try again.
SW1 [4-1] is the boot configuration switch. By default, the boot device is USDHC2 4-bit SD3.0.
| BOOT MODE | SW1-4 |
SW1-3 |
SW1-2 |
SW1-1 |
|---|---|---|---|---|
| Serial Downloader | 0 | 0 | 0 | 1 |
| USDHC2 4-bit SD3.0 | 0 | 0 | 1 | 1 |
| FlexSPI Serial NAND | 0 | 1 | 0 | 1 |
Something went wrong! Please try again.
Connect the power supply cable to the power connector (J1), the board will power on automatically.
The serial port starts to print log information to the PC as the board boots up. Congratulations, you are up and running!
Something went wrong! Please try again.
The i.MX Linux board support package (BSP) is a collection of binary files, source code and support files that are used to boot an Embedded Linux image on a specific i.MX development platform.
Current releases of Linux binary demo files can be found on the Linux download page. Additional documentation is available in the i.MX Linux documentation bundle under the Linux sections of the i.MX Software and Development Tools.
FRDM-IMX91S support booting from NAND and SD card.
This Getting Started guide only outlines a few methods of flashing the Linux BSP image to an SD card. Experienced Linux developers can explore other options if desired.
Something went wrong! Please try again.
The latest prebuilt images for the FRDM-IMX91S are available on the FRDM i.MX 91S Development Board.
The prebuilt NXP Linux binary demo image provides a typical system and basic set of features for using and evaluating the processor. Without modifying the system, the users can evaluate hardware interfaces, test SoC features and run user space applications.
Something went wrong! Please try again.
In addition to the connections from "Out of the Box" section, connect the USB1 (J5) to the host machine using the proper USB cable.
Turn off the board. Refer to the 1.4 Boot Switch Setup section and configure the board to boot in serial download protocol (SDP) mode.
Depending on the OS used in the host machine, the way to transfer the Linux BSP image onto an SD card can vary. Choose an option below for detailed instructions:
Download the latest stable files from UUU GitHub page . If further assistance for UUU is needed, please refer to this extensive tutorial .
uuulibusb1 (via apt-get or any other package manager)By default, this procedure flashes the image to the SD card. Check the UUU GitHub page for reference on how to flash the image to other devices.
Open a terminal application and change the directory to the location where uuu and the latest Linux distribution for FRDM-IMX91S are located. Add execution permission to the uuu file and execute it. uuu will wait for the USB device to connect.
$ chmod a+x uuu
$ sudo ./uuu -b sd_all imx-image-full-imx91frdmimx91s.rootfs.wic.zstConfirm that FRDM-IMX91S boot mode is switched to serial download mode, and turn on the board, uuu will start to flash the images to the SD card.
When it finishes, turn off the board and the terminal. If further assistance with configuring the board to boot from an SD card is needed, please refer to the 1.4 Boot Switch Setup section.
Download the latest stable files from UUU GitHub page . If further assistance for UUU is needed, please refer to this extensive tutorial .
uuu.exeBy default, this procedure flashes the image to the SD card. Check the UUU GitHub page for reference on how to flash the image to other devices.
Open the command prompt application and navigate to the directory where the uuu.exe file and the Linux release for the FRDM-IMX91S are located.
uuu.exe -b sd_all imx-image-full-imx91frdmimx91s.rootfs.wic.zstConfirm that FRDM-IMX91S boot mode is switched to serial download mode, and turn on the board, uuu will start to copy the images to the board.
When it finishes, turn off the board and the command prompt application. If further assistance with configuring the board to boot from an SD card is needed, please refer to the 1.4 Boot Switch Setup.
Something went wrong! Please try again.
In this section, a brief guide of how to build Yocto BSP image for FRDM-IMX91S is introduced, along with how to add Matter support and how to build Debian release image.
The FRDM-IMX91S BSP release is based on i.MX SW 2024 Q3 release with Yocto Project 5.0 (Scarthgap). To build FRDM-IMX91S image from source code, please first check i.MX Yocto Project User’s Guide to get familiar with Yocto project and Yocto build. Then please follow the below steps to build image for FRDM-IMX91S.
$ 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=imx91frdmimx91s DISTRO=fsl-imx-xwayland source sources/meta-imx-frdm/tools/imx-frdm-setup.sh -b frdm-imx91s$ bitbake imx-image-full$ zstdcat imx-image-full-imx91frdmimx91s.rootfs.wic.zst | sudo dd of=/dev/sdx bs=1M && syncOr using uuu to burn image into SD card:
$ uuu -b sd_all imx-image-full-imx91frdmimx91s.rootfs.wic.zstSW1[4:1] to “0011” to select SD card boot, insert the SD card and power up the FRDM-IMX91S boardSomething went wrong! Please try again.
FRDM-IMX91S has support for Matter. To include Matter support, please follow below steps to include Matter layer into Yocto build.
$ 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=imx91frdmimx91s-iwxxx-matter DISTRO=fsl-imx-xwayland source sources/meta-imx-frdm/tools/imx-frdm-matter-setup.sh bld-xwayland-frdmimx91s$ bitbake imx-image-multimediaSomething went wrong! Please try again.
FRDM-IMX91S has support for Debian 12 OS. i.MX Debian Linux SDK distribution is a combination of NXP-provided kernel and boot loaders with a Debian distro user-space image, which includes:
For more details of the NXP Debian Linux SDK Distribution, please check the NXP Debian Linux SDK Distribution for i.MX and Layerscape page.
To create an SD card with Debian for FRDM-IMX91S, please follow below steps.
$ 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 imx91frdmimx91s$ dhclient -i end0$ date -s "22 Nov 2024 09:00:00"$ debian-post-install-pkg desktop$ debian-post-install-pkg serverTo build Debian image with Flexbuild for FRDM-IMX91S, please follow the below steps.
$ git clone https://github.com/nxp/flexbuild
$ cd flexbuild && ./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 imx91frdmimx91s$ bld uboot -m imx91frdmimx91s (compile u-boot image for imx91frdmimx91s)
$ bld linux (compile linux kernel for all arm64 i.MX machines)
$ bld bsp -m imx91frdmimx91s (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.
To enable faster development for users of all skill levels, NXP provides extensive example applications to showcase various features and capabilities of the platform.
The Application Code Hub (ACH) repository enables engineers to easily find microcontroller and processor software examples, code snippets, application software packs and demos developed by NXP in-house experts. This space provides a quick, easy and consistent way to find microcontroller and processor applications.
ACH provides filter and search options to quickly find specific applications. With the support of Git capabilities, there is an easy way to import and use applications within user’s development environments.
To learn more details of ACH, please visit this link.
Something went wrong! Please try again.
The GoPoint for i.MX Application Processors is a user-friendly application launches prebuilt applications packed with the Linux BSP, giving users an excellent out of the box experience and hands on experience with i.MX SoC's capabilities. GoPoint highlights advanced features while providing practical solutions for implementation, with source code and build recipes for the applications provided in GitHub .
To learn more details of GoPoint, please visit this link.
Something went wrong! Please try again.
The serial-to-USB drivers are available at CH342F Linux Drivers .
On the command prompt of the Linux host machine, run the following command to determine the port number:
$ ls /dev/ttyCH343USB*The first number is for Arm® Cortex®-A53.
Use the following commands to install and run the Minicom program:
$ sudo apt-get install minicom$ sudo minicom /dev/ttyCH343USB * -s
Configure Minicom as shown in Figure and Exit configure.
The WCH USB-serial chip on FRDM-IMX91S enumerates 2 serial ports. Assume that the ports are COM11 and COM12. The first Port(COM11) is for the serial console communication from Arm® Cortex®-A53. The serial-to-USB drivers are available at CH342F Windows Driver .
Note: To determine the port number of the i.MX board virtual COM port, open the Windows device manager and find USB serial Port in Ports (COM and LPT).
Tera Term is an open source terminal emulation application. This program displays the information sent from the NXP development platform’s virtual serial port.
PuTTY is a popular terminal emulation application. This program displays the information sent from the NXP development platform’s virtual serial port.
System security and integrity are always one of the most critical aspects to be considered in product development.
FRDM-IMX91S support secure boot feature and encrypted boot feature, helping to prevent unauthorized software execution during the device boot sequence and protect bootloader data from unauthorized access.
For more details of the secure boot feature, please check application note AN12312 Secure Boot on AHAB Supported Devices.
For more details of the encrypted boot feature, please check application note AN13994 i.MX Encrypted Boot on AHAB-Enabled Devices.
In certain use cases, there is a requirement for the device boot time, which means the device needs to complete booting in a given time limit.
To optimize the boot time, FRDM-IMX91S supports falcon mode in U-Boot. Falcon mode is a feature in U-Boot that enables fast booting by allowing SPL to directly start the Linux kernel. It completely skips the U-Boot loading and initialization, with the effect of reducing the time spent in the bootloader.
For how to enable falcon mode and further optimize boot time, please check AN14093 Fast Boot on i.MX 8M and i.MX 9 Using Falcon Mode and Kernel Optimizations.
FRDM-IMX91S has a 256MB NAND flash memory on the board. Since the rootfs of a full functionality usually takes over 5GB, the rootfs that can fit into the 256MB NAND storage have to be customized. For how to compile the bootloader and rootfs for NAND boot, and how to download the image into the NAND, please refer to the i.MX FRDM Software User Guide.