FRDM Training Hub

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FRDM Training Hub

FRDM Training Hub


Restricted Beta Program

  • Comprehensive software and tools for seamless prototyping and rapid development
  • Scale your project with modular, quick-start FRDM and expansion boards
  • Leverage our application code hub or GoPoint to access 180+ code snippets and demos

  • Leverage FRDM Training Hub to learn from the experts
  • Not sure where to start ?

Discussions

Sort by:
Hands On In this lab we make some experience with the FRDM-MCXW23 board using the SDK project to implement a simple LED blinking. Once we will get familiar with the example project, we will integrate simple modifications.   Hardware Requirements Personal Computer FRDM-MCXW23 Board Type C USB Cable   Software Requirements IDE: Visual Studio Code 1.91.1 or newer Extension: MCUXpresso for VS Code v25.06.97 or newer SDK: SDK next gen v25.06.00 or newer SPSDK Tool Windows OS (It was used Windows 11 for this hands-on) Note: In order to make downloads in NXP website, it is necessary to have an account. Please, register and log-in for moving forward.   MCUXpresso for Visual Studio Code   MCUXpresso for Visual Studio Code (VS Code) provides an optimized embedded developer experience for code editing and development. The extension enables NXP developers to use one of the most popular embedded editors tools and provides an easy and fast way to create, build and debug applications based on MCUXpresso SDK or Zephyr projects.               Install it following the next steps: Download Visual Studio Code from Microsoft Store or visual studio code web page  Access to vscode for MCUX wiki and download MCUXpresso Installer  Run MCUXpresso Installer and for this Hands On install at least MCUXpresso SDK Developer Arm GNU Toolchain PEmicro   Installing the FRDM-MCXW23 SDK v 25.06.00 Each MCU has its own SDK that includes driver, examples, middleware, docs and other components. To get and build the demo, let’s install the SDK into VS Code:        Once MCUXpresso for Visual Studio Code is installed open VS Code. Go to MCUXpresso for VS Code extension that is on the tools column at the left. Look for INSTALLED REPOSITORIES option and press ‘+’. Detail steps are described in Use the steps for import a remote Git repository wiki page.      4.Search for FRDM-MCXW23 v25.06.00 SDK and complete installation. Lab Section: LED it Shine Open VSCode and follow the steps in this section to import the led_blinky example from SDK, belonging to the demo_apps section in the MCUXpresso SDK as per the following snapshot:       Click on Import button to import the full project into your workspace. Check the frdmmcxw23_led_blinky_lpc project in the Project explorer tab.                                   Build and Debug the project, follow the steps explained in the previous lab. Start the Debug session and hit the breakpoint at the first instruction in main, then click on Continue (F5) to start the debug session and you will see the RGB GREEN LED blinking at one second rate. Click on Stop (red square button) to stop the debugging. Note: User BLUE LED will continue blinking at the same rate as before because the Debug takes care about flashing the memory. Now is time to play with the code. In the next steps we will add a new blinking LED. Having a look at the schematic of the FRDM-MCXW23 board in the RGB LED section, we notice RED is connected to GPIO0_0 and BLUE is connected to GPIO0_4 while the RED LED (digging a little more in depth in the document) is connected to GPIO0_1.     What we want to do is to have a RED LED blinking at the same one second rate but will blink in the inverse time as the GREEN LED, this means when RED is on BLUE is off and vice versa.  To do this we will add few code modification. 1. Let us first explore a couple of defines part of the example. Open led_blinky.c file, at line 13 you will add the following two defines: #define RED_LED_PIN 1U #define RED_LED_PORT 0 Respectively these two are defining the new LED under control in the application, GPIO0 and pin 1 as per the schematic portion provided above. Have a look then in the code and you will see that at line 65 you will encounter the following function call GPIO_PortToggle(GPIO, BOARD_LED_PORT, 1u << BOARD_LED_PIN; This is the function that effectively toggles the LED under control. Let's modify the code to toggle the second LED and also add the name of the color. GPIO_PortToggle(GPIO, BOARD_LED_PORT, 1u << BOARD_LED_PIN; GPIO_PortToggle(GPIO, RED_LED_PORT, 1<< RED_LED_PIN; 2.Now, open the pin_mux.c file and look for BOARD_InitPins on line 67. In line 70 and 72 code enables the clock for the Iocon and GPIO0   /* Enables the clock for the I/O controller.: Enable Clock. */ CLOCK_EnableClock(kCLOCK_Iocon; /* Enables the clock for the GPIO0 module */ CLOCK_EnableClock(kCLOCK_Gpio0; Since BLUE LED is on the same port and GPIO group as RED LED we will not need to add a new one. 3. In line 76 we have the configuration for the GREEN LED  gpio_pin_config_t LED_BLUE_config = { .pinDirection = kGPIO_DigitalOutput, .outputLogic = 0U }; const uint32_t LED_BLUE = (/* Pin is configuBLUE as PIO0_19 */ IOCON_PIO_FUNC0 | /* No addition pin function */ IOCON_PIO_MODE_INACT | /* Standard mode, output slew rate control is enabled */ IOCON_PIO_SLEW_STANDARD | /* Input function is not inverted */ IOCON_PIO_INV_DI | /* Enables digital function */ IOCON_PIO_DIGITAL_EN | /* Open drain is disabled */ IOCON_PIO_OPENDRAIN_DI); /* PORT0 PIN19 (coords: 7) is configuBLUE as PIO0_19 */ IOCON_PinMuxSet(IOCON, BOARD_INITPINS_LED_BLUE_PORT, BOARD_INITPINS_LED_BLUE_PIN, LED_BLUE); Now we need to add the configuration for the RED LED, add the next code after BLUE LED configuration. Notice that default output logic is 1 the opposite of BLUE LED this will be use to have the opposite state when LEDs toggle. /* Initialize GPIO functionality on pin PIO0_1 */ GPIO_PinInit(BOARD_INITPINS_LED_RED_GPIO, BOARD_INITPINS_LED_RED_PORT, BOARD_INITPINS_LED_RED_PIN, &LED_RED_config); const uint32_t LED_RED = (/* Pin is configuBLUE as PIO0_19 */ IOCON_PIO_FUNC0 | /* No addition pin function */ IOCON_PIO_MODE_INACT | /* Standard mode, output slew rate control is enabled */ IOCON_PIO_SLEW_STANDARD | /* Input function is not inverted */ IOCON_PIO_INV_DI | /* Enables digital function */ IOCON_PIO_DIGITAL_EN | /* Open drain is disabled */ IOCON_PIO_OPENDRAIN_DI); /* PORT0 PIN19 (coords: 7) is configuBLUE as PIO0_19 */ IOCON_PinMuxSet(IOCON, BOARD_INITPINS_LED_RED_PORT, BOARD_INITPINS_LED_RED_PIN, LED_RED); 4. If you tried to compile now you will get some errors this is because we use some defines that are not created yet. Go to pin_mux.h, in this file we have definitions for BLUE LED as well starting on line 45. /* Symbols to be used with GPIO driver */ #define BOARD_INITPINS_LED_BLUE_GPIO GPIO /*!<@brief GPIO peripheral base pointer */ #define BOARD_INITPINS_LED_BLUE_GPIO_PIN_MASK (1U << 19U) /*!<@brief GPIO pin mask */ #define BOARD_INITPINS_LED_BLUE_PORT 0U /*!<@brief PORT peripheral base pointer */ #define BOARD_INITPINS_LED_BLUE_PIN 19U /*!<@brief PORT pin number */ #define BOARD_INITPINS_LED_BLUE_PIN_MASK (1U << 19U) /*!<@brief PORT pin mask */ Create defines for REDS LED, copy next test after BLUE LED defines #define BOARD_INITPINS_LED_RED_GPIO GPIO /*!<@brief GPIO peripheral base pointer */ #define BOARD_INITPINS_LED_RED_GPIO_PIN_MASK (1U << 1U) /*!<@brief GPIO pin mask */ #define BOARD_INITPINS_LED_RED_PORT 0U /*!<@brief PORT peripheral base pointer */ #define BOARD_INITPINS_LED_RED_PIN 1U /*!<@brief PORT pin number */ #define BOARD_INITPINS_LED_RED_PIN_MASK (1U << 1U) /*!<@brief PORT pin mask */ 5. Follow the steps described at point 3 to Build and Debug the application and hit the Continue button to start the debugging session. You will see the BLUE LED blinking at the same one second rate alternating with GREEN one. What if we want to change the blinking rate? Having a look at the led_blinky.c file, we notice there one special function called SysTick_Handler(void) defined at line 33. This is the interrupt routine associated to the so called Systick timer which is a timer embedded within the Cortex-M33 core typically used as a system tick for many RTOSes. The interrupt routine toggles the LED in use at a specific moment. We do not see any initialization function of it, though. The Systick Timer in this particular implementation is initialized by the function SysTick_Config(SystemCoreClock/1000U); invoked at line 59, this function simply initialize the internal SysTick Timer to a certain value taken as time base. The blinking delay is ensured by the  SysTick_Config(1000U) function called at line 69. Check what happens if you change the value of 1000U to another value.  6. Navigate to the ultimate call, and let us see what happens if we modify the call at line 69 like this: SysTick_DelayTicks(1000U/2); 7. Save the modification (CTRL+S), Build and start the debugging. What are you observing? Has the blinking rate changed, if yes, is it faster or slower? Congratulations, you have mastered the LED it shine Lab.  
View full article
Bring up Wi-Fi and Bluetooth interface. Configure and bring up Bluetooth A2DP sink profile. Configure and bring up Wi-Fi STA mode and perform throughput test. Bluetooth A2DP Sink profile configurations STA mode creation Connection of STA device to Ext AP Execution of udhcp client to receive the dynamic IP address from Ext AP iPerf server execution on Ubuntu/Windows machine iPerf client execution on FRDM i.MX 93 board 802.15.4 configuration on FRDM i.MX 93 board Wi-Fi Bluetooth LE and OT COEX Hands-on Demo Guide  Community Support If you have questions regarding this training, please leave your comments in our Wireless MCU Community! here 
View full article
In this lab, you will learn how to: Load wireless module into board Bring-up Bluetooth + 802.15.4 firmware Initialize the 802.15.4 interface on the FRDM-i.MX93 board. Configure and bring up the 802.15.4 interface. Create a thread network. Add nodes to the thread network. Verify thread network connectivity. Exchange data between thread nodes.   OpenTread Hands-on Demo Guide  Community Support If you have questions regarding this training, please leave your comments in our Wireless MCU Community! here 
View full article
Load drivers of wireless module into board Bring-up Bluetooth Scan/pair/connect Bluetooth with smartphone Hands-on Bluetooth A2DP sink/source profile demo play audio on remote Bluetooth headset or speaker using Bluetooth A2DP source profile play audio on FRDM i.MX 93 board from smart phone using Bluetooth A2DP sink profile Bluetooth A2DP Source and Sink Profile Demo    Community Support If you have questions regarding this training, please leave your comments in our Wireless MCU Community! here 
View full article
In this lab, you will learn how to: Bring up Wi-Fi interfaces. Run basic Wi-Fi scan Configure and bring up Wi-Fi STA mode using WPA_SUPPLICANT. Configure and bring up UDHCP server for dynamic IP assignment for associated client devices. Run UDHCP client to get dynamic IP address. Configure and bring up Wi-Fi AP mode using hostapd. Connect STA to external AP Connect AP to external STA Start ping  Wi-Fi Basic Hands-on Demo Guide  Community Support If you have questions regarding this training, please leave your comments in our Wireless MCU Community! here 
View full article
The FRDM-i.MX93 development board is designed to support advanced applications such as Industrial and Consumer HMI, Edge AI, Interconnected Devices, and High-Performance IoT Solutions. Built with NXP's i.MX 93 applications processor, it offers robust features like efficient machine learning acceleration, enhanced multimedia capabilities, and advanced connectivity options. This document provides a detailed guide on setting up the FRDM-i.MX93 development board. It includes hardware connections, flashing the Linux image, and accessing the debug console for seamless development and prototyping. FRDM-IMX93 Board Flashing Guide  Community Support If you have questions regarding this training, please leave your comments in our Wireless MCU Community! here 
View full article
This document assumes FRDM-iMX91 board is flashed with a Linux image. For flashing instructions, refer to FRDM-MX93_Board_Flashing guide. Then, follow this document to download software applications to test Wi-Fi, Bluetooth, and 802.15.4 performance. Hardware Prerequisites Windows or Linux PC with 64-bit OS 2 spare USB ports on PC FRDM-iMX91 Development Board Bluetooth LE device: Mobile phone which can configured as central or peripheral Wi-Fi Access Point: Standalone or mobile hotspot Wi-Fi Station: Mobile phone used as a station OPENTHREAD: 1 Another OT enabled board   Required PC Software Serial Terminal program Setting for terminal: Baud rate:115200, Parity: none, Data bits: 8, Stop bits: 1 Windows:   PUTTY or teraterm  and USB Device driver  Linux:           Minicom (Command to download the tool : sudo apt-get install minicom)   Iperf Windows:    Download Iperf version 3.0.11 from here. Linux:            Download Debian package of IPerf 3.0.11 for Ubuntu 16.04 from here. $ wget https://iperf.fr/download/ubuntu/iperf3_3.0.11-1_amd64.deb   Install the package using the command below. $ sudo dpkg -i /path/to/package/iperf3_3.0.11-1_amd64.deb   Required Mobile Software Iperf Application (iperf 3) Android:                  HE.NET Network Tools on Google Play iOS:                HE.NET Network Tools on AppStore   nRF Connect Application Android:                   nRF Connect on Google Play iOS:               nRF Connect on App Store   Required EVK Software Linux BSP Image  Version: L6.6.52_2.2.0 Link: https://www.nxp.com/webapp/sps/download/license.jsp?colCode=L6.6.52_2.2.0_MX91&appType=file1&DOWNLOA...   To download the pre-built image, please refer to https://www.nxp.com/design/design-center/software/embedded-software/i-mx-software/embedded-linux-for...   hands-on Labs Lab1 - WIFI Basic Hands-on Lab2 - Bluetooth A2DP Source and Sink Profile Demo Lab3 - OpenThread  Hands-on Lab4- WiFi Bluetooth and OT COEX Demo   Community Support If you have questions regarding this training, please leave your comments in our Wireless MCU Community! here 
View full article
This document assumes FRDM-iMX91 board is flashed with a Linux image. For flashing instructions, refer to FRDM-iMX91_Board_Flashing guide. Then, follow this document to download software applications to test Wi-Fi, Bluetooth, and 802.15.4 performance. Hardware Prerequisites Windows or Linux PC with 64-bit OS 2 spare USB ports on PC FRDM-iMX91 Development Board Bluetooth LE device: Mobile phone which can configured as central or peripheral Wi-Fi Access Point: Standalone or mobile hotspot Wi-Fi Station: Mobile phone used as a station OPENTHREAD: 1 Another OT enabled board   Required PC Software   Serial Terminal program Setting for terminal: Baud rate:115200, Parity: none, Data bits: 8, Stop bits: 1 Windows:   PUTTY or teraterm  and USB Device driver  Linux:           Minicom (Command to download the tool : sudo apt-get install minicom)   Iperf Windows:    Download Iperf version 3.0.11 from here. Linux:            Download Debian package of IPerf 3.0.11 for Ubuntu 16.04 from here. $ wget https://iperf.fr/download/ubuntu/iperf3_3.0.11-1_amd64.deb   Install the package using the command below. $ sudo dpkg -i /path/to/package/iperf3_3.0.11-1_amd64.deb   Required Mobile Software   Iperf Application (iperf 3) Android:  HE.NET Network Tools on Google Play iOS:   HE.NET Network Tools on AppStore   nRF Connect Application Android:   nRF Connect on Google Play iOS:    nRF Connect on App Store   Required EVK Software Linux BSP Image  Version: L6.6.52_2.2.0 Link: https://www.nxp.com/webapp/sps/download/license.jsp?colCode=L6.6.52_2.2.0_MX91&appType=file1&DOWNLOAD_ID=null   To download the pre-built image, please refer to https://www.nxp.com/design/design-center/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX   hands-on Labs   Lab1 - WIFI Hands-on Lab2 - Bluetooth LE GATT Profile  Lab3 - OpenThread  Lab4-WIFI_Bluetooth-LE_OpenThread   Community Support If you have questions regarding this training, please leave your comments in our Wireless MCU Community! here   
View full article
In this lab, you will learn how to:   Bring-up Bluetooth interface. The LE GATT profile defines the way that two Bluetooth LE devices transfer the data using concept of Services and Characteristics. Configure and bring up Bluetooth LE GATT server profile using NXP-based IW610 module. Configure and bring up Bluetooth LE GATT client profile using NXP-based IW610 module. nRF connect smartphone application is used to run the LE GATT server with the help of predefined Heart Rate Service.   Bluetooth LE GATT Profile Demo Guide Lab Video   Community Support If you have questions regarding this training, please leave your comments in our Wireless MCU Community! here 
View full article
In this lab, you will learn how to: Load wireless module into board Bring-up Bluetooth The bring-up of 802.15.4 Initialize the 802.15.4 interface on the FRDM-i.MX91 board. Configure and bring up the 802.15.4 interface. Create a thread network. Add nodes to the thread network. Verify thread network connectivity. Exchange data between thread nodes.   OpenTread Hands-on Demo Guide Video   Community Support If you have questions regarding this training, please leave your comments in our Wireless MCU Community! here 
View full article
In this lab, you will learn how to: Bring up Wi-Fi and Bluetooth interface. Configure and bring up Bluetooth A2DP sink profile. Configure and bring up Wi-Fi STA mode and perform throughput test. Bluetooth LE GATT profile configurations STA mode creation Connection of STA device to Ext AP Execution of udhcp client to receive the dynamic IP address from Ext AP iPerf server execution on Ubuntu/Windows machine iPerf client execution on FRDM i.MX 91 board OT child configuration on FRDM i.MX 91 board Wi-Fi Bluetooth LE and OT COEX Hands-on Demo Guide Video   Community Support If you have questions regarding this training, please leave your comments in our Wireless MCU Community! here 
View full article
The FRDM-i.MX 91 development board enables Advance HMI Solutions supporting Industrial and consumer HMI, Enriched user experience, Immersive Audio Processing, Voice Solutions, and Interconnected Devices (smarter edge devices) among other applications. This document explains how to set up FRDM-i.MX 91 development board. This includes the hardware connections, flashing the Linux image, and accessing the debug console.   FRDM-IMX91 Board Flashing Guide Video   Community Support If you have questions regarding this training, please leave your comments in our Wireless MCU Community! here 
View full article
In this lab, you will learn how to: Bring up Wi-Fi interfaces. Run basic Wi-Fi scan Configure and bring up Wi-Fi STA mode using WPA_SUPPLICANT. Configure and bring up UDHCP server for dynamic IP assignment for associated client devices. Run UDHCP client to get dynamic IP address. Configure and bring up Wi-Fi AP mode using hostapd. Connect STA to external AP Connect AP to external STA Start ping  Wi-Fi Basic Hands on Demo Guide Video   Community Support If you have questions regarding this training, please leave your comments in our Wireless MCU Community! here 
View full article
  The RW61x is a highly integrated, low-power tri-radio wireless MCU with an integrated MCU and Wi-Fi ®  6 + Bluetooth ®  Low Energy (LE) 5.4 / 802.15.4 radios designed for a broad array of applications, including connected smart home devices, enterprise and industrial automation, smart accessories and smart energy. The RW612 MCU subsystem includes a 260 MHz Arm ®  Cortex ® -M33 core with Trustzone ™ -M, 1.2 MB on-chip SRAM and a high-bandwidth Quad SPI interface with an on-the-fly decryption engine for securely accessing off-chip XIP flash. The RW612 includes a full-featured 1x1 dual-band (2.4 GHz/5 GHz) 20 MHz Wi-Fi 6 (802.11ax) subsystem bringing higher throughput, better network efficiency, lower latency and improved range over previous generation Wi-Fi standards. The Bluetooth LE radio supports 2 Mbit/s high-speed data rate, long range and extended advertising. The on-chip 802.15.4 radio can support the latest Thread mesh networking protocol. In addition, the RW612 can support Matter over Wi-Fi or Matter over Thread offering a common, interoperable application layer across ecosystems and products. Hands-On Trainings Introduction to RW61x and FRDM-RW612 Quick introduction to RW61x family, module offering and FRDM-RW612 evaluation board FRDM-RW612 Out of the Box Experience Wi-Fi CLI (Command Line Interface) demo provides the user with a menu with different commands to explore the Wi-Fi capabilities of the FRDM RW612 board. When the board is powered on for the first time, the green RGB LED should be blinking indicating that the demo is loaded into the board. FRDM-RW612 Getting Started. Wi-Fi CLI on VS Code This lab guides you step by step on how to get started with FRD-RW612 board using Visual Studio Code  FRDM-RW612 BLE Sensors over Zephyr This demo shows the temperature from the i2c temperature sensor integrated in the board. This demo is based on Zephyr RTOS. The information can be monitored in the UART terminal or in the IoT Toolbox app. FRDM-RW612 Kitchen Timer using Low-cost LCD This lab shows how to modify a Kitchen Timer graphical application using LCD-PAR-S035 display Changing the date and button colors. The timer can also be viewed on a serial terminal.   Community Support If you have questions regarding this training or RW61x series, please leave your comments in our Wireless MCU Community! here 
View full article
    Step by Step video:
View full article
Prerequisites  Hardware  FRDM-RW612 evaluation board  USB-C Cable Mobile phone (Android or IOS) Software Visual Studio Code VS Code Serial Terminal Software: Tera Term You can use any serial terminal you have, but we are using Tera Term for the training slides IoT Toolboox App Available for Android and iPhone app stores. Step by Step instructions document is here Step by Step video:
View full article
Prerequisites  Hardware  FRDM-RW612 evaluation board  USB-C Cable Software Visual Studio Code VS Code Serial Terminal Software: Tera Term You can use any serial terminal you have, but we are using Tera Term for the training slides LCD-PAR-S035 display  Step by Step instructions document is here  Step by Step video:
View full article
Prerequisites  Hardware  FRDM-RW612 evaluation board  USB-C Cable Software Visual Studio Code VS Code Serial Terminal Software: Tera Term You can use any serial terminal you have, but we are using Tera Term for the training slides Step by Step instructions document is here Step by Step video:    
View full article
Prerequisites  Hardware  FRDM-RW612 evaluation board  USB-C cable Software Visual Studio Code VS Code FRDM-RW612 SDK Serial Terminal Software: Tera Term You can use any serial terminal you have, but we are using Tera Term for the training slides Step by Step instructions document is here Step by Step video:
View full article
FRDM-IMX93 Yocto Release - BSP  Based on i.MX SW 2024 Q3 release Linux kernel: 6.6.36_2.1.0 u-boot: 2024.04 Source: https://github.com/nxp-imx-support/meta-imx-frdm FRDM-IMX93 BSP changes: U-boot: Add basic support for FRDM-IMX93 Kernel: Add basic support for FRDM-IMX93 and add support for kinds of accessories GoPoint: Add FRDM-IMX93 support FRDM-IMX93 Yocto layer: Add Yocto layer for FRDM-IMX93 and integrate u-boot/kernel/GoPoint patches    FRDM-IMX93 accessories 7 inch Waveshare LCD: imx93-11x11-frdm-dsi.dtb 5 inch Tianma LCD: imx93-11x11-frdm-tianma-wvga-panel.dtb RPi-CAM-MIPI: imx93-11x11-frdm.dtb RPI-CAM-INTB: imx93-11x11-frdm-mt9m114.dtb MX93AUD-HAT or MX93AUD-HAT + 8MIC-RPI-MX8: imx93-11x11-frdm-aud-hat.dtb 8MIC-RPI-MX8: imx93-11x11-frdm-8mic.dtb   LCD Panel Vender Interface Size Resolution Support Touch Purchase Link dtb T050RDH03-HC Tianma 24 bit Parallel 5" 800 x 480 No Will launch with MX91 EVK in Dec'24 imx93-11x11-frdm-tianma-wvga-panel.dtb 7inch Capacitive Touch IPS Display for Raspberry Pi, with Protection Case, 1024×600, DSI Interface Waveshare MIPI DSI 7" 1024x600 Yes Click Here imx93-11x11-frdm-dsi.dtb Camera Vender Interface Size Resolution Sensor Purchase Link dtb RPI-CAM-MIPI onsemi MIPI CSI  1/4-inch 1M pixel, 1280H x 800V AR0144 Click Here imx93-11x11-frdm.dtb RPI-CAM-INTB   Parallel Camera 40pins 1/6-inch 1.26 Mpixel 1296H × 976V MT9M114 Will launch with MX91 EVK in Dec'24 imx93-11x11-frdm-mt9m114.dtb Audio Vender Interface Channel     Purchase Link dtb MX93AUD-HAT Cirrus 40pins 8     Click Here imx93-11x11-frdm-aud-hat.dtb 8MIC-RPI-MX8 NXP 40pins 8     Click Here imx93-11x11-frdm-8mic.dtb   FRDM-IMX93 Yocto Release Usage Download i.MX SW 2024 Q3 Release: $ 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 Integrate FRDM-IMX93 layer into Yocto code base: $ cd ${MY_YOCTO}/sources $ git clone https://github.com/nxp-imx-support/meta-imx-frdm.git Yocto Project Setup: $ MACHINE=imx93frdm DISTRO=fsl-imx-xwayland source sources/meta-imx-frdm/tools/imx-frdm-setup.sh -b frdm-imx93 Build images: $ bitbake imx-image-full Flashing SD card image: $ zstdcat imx-image-full-imx93frdm.rootfs.wic.zst | sudo dd of=/dev/sdb bs=1M && sync Using uuu to burn image and rootfs to SD: $ uuu -b sd_all imx-image-full-imx93frdm.rootfs.wic.zst   FRDM-IMX93 Yocto Release – Matter support Based on i.MX Matter 2024 Q3 Usage: −Download i.MX SW 2024 Q3 Release; $ 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 −Download i.MX Matter 2024 Q3; $ cd ${MY_YOCTO}/sources/meta-nxp-connectivity $ git remote update $ git checkout imx_matter_2024_q3 −Download FRDM-IMX93 Layer: $ cd ${MY_YOCTO}/sources $ git clone https://github.com/nxp-imx-support/meta-imx-frdm.git −Yocto Project Setup: $ MACHINE=imx93frdm-iwxxx-matter DISTRO=fsl-imx-xwayland source sources/meta-imx-frdm/tools/imx-frdm-matter-setup.sh bld-xwayland-imx93 −Build images: $ bitbake imx-image-multimedia     FRDM-MX93 Debian Release Debian is a free Operating System (OS), also known as Debian GNU/Linux. i.MX Debian Linux SDK distribution is a combination of NXP-provided kernel and boot loaders with a Debian distro user-space image. −Debian 12 −NXP packages are based i.MX SW Release 2024 Q3 i.MX Debian Linux SDK distribution uses Flexbuild to build system. −Debian-based RootFS; Debian Base (basic packages) Debian Server (more packages without GUI Desktop) Debian Desktop (with GNOME GUI Desktop) −Linux kernel; −BSP components; −various  applications (graphics, multimedia, networking, connectivity, security, and AI/ML); Source: https://github.com/NXP/flexbuild Introduction:  https://nxp.com/nxpdebian  Quick Start with Debian Flexbuild compiles and assembles the distro images as three parts: BSP firmware image Boot image RootFS image Creating an SD card on the Linux host Download flex-installer −$ wget http://www.nxp.com/lgfiles/sdk/lsdk2406/flex-installer −$ chmod +x flex-installer; sudo mv flex-installer /usr/bin Plug the SD card into the Linux host and install the images as below: −$ flex-installer -i pf -d /dev/sdb (format SD card) −$ flex-installer -i auto -d /dev/mmcblk1 -m imx93frdm (automatically download and install images) Plug the SD card into the i.MX board and install the extra packages as follows: −$ dhclient -i end0 (setup Ethernet network interface by DHCP or setting it manually) −$ date -s "22 Nov 2024 09:00:00" (setting correct system time is required) −$ debian-post-install-pkg desktop (install extra packages for GNOME GUI Desktop version) −or −$ debian-post-install-pkg server (install extra packages for Server version without GUI Desktop) −# After finishing the installation, run the reboot command to boot up the Debian Desktop/Server system.   Building Debian Images with Flexbuild Run the following commands for the first time to set up the build environment: −$ 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 (create or attach a docker container) −$ . setup.env   Flexbuild usage: −$ bld -m imx93frdm (build all images for imx93frdm) −$ bld uboot -m imx93frdm (compile u-boot image for imx93frdm) −$ bld linux (compile linux kernel for all arm64 i.MX machines) −$ bld bsp -m imx93frdm (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:base (generate Debian base rootfs with base packages) −$ 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 (pack and compress target rootfs)   Related Documentation   FRDM-IMX93 Documents: FRDM-IMX93 Quick Start Guide FRDM-IMX93 Board User Manual FRDM-IMX93 Software User Guide  More information about i.MX productions can be found at(http://www.nxp.com/imxlinux) i.MX Yocto Project User’s Guide​ i.MX Linux User’s Guide​ i.MX Linux Reference Manual​ i.MX Porting Guide Debian documents at http://www.nxp.com/nxpdebian i.MX Debian Linux SDK User Guide
View full article