Antmicro’s Renode simulation framework supports a broad range of architectures and platforms, including the popular NXP i.MX RT500 and i.MX RT700 MCUs. While the i.MX RT series targets applications requiring real-time processing with low power consumption, the high-performance NXP i.MX family supports applications with advanced video and audio processing running on Linux. A notable member of this family is the heterogeneous i.MX 8M Plus SoC featuring four Arm Cortex-A53 cores and one M7 core, with a Machine Learning accelerator, 2D and 3D graphics, video support, audio processing, and more. It also offers many connectivity options, including Ethernet, USB, CAN, and PCIe.

In a recent customer project, we added support for the NXP i.MX 8M Plus SoC and relevant peripherals in Renode. In this note we describe the scope of the support and show how to run a Linux demo on an NXP i.MX 8M Plus platform simulated in Renode.

Renode support for NXP i.MX8M Plus

NXP i.MX 8M Plus support in Renode

Renode now includes an i.MX 8M Plus SoC platform description and an FRDM i.MX 8M Plus board platform description. To enable i.MX 8M Plus support, we introduced new and improved existing peripherals in Renode, including:

While the Renode model doesn’t cover all the features of the NXP i.MX 8M Plus platform, it is sufficient to run the U-Boot bootloader with MMC (MultiMediaCard) support, and to boot Linux with certain limitations.

With NXP i.MX 8M Plus supported in Renode, you can now create complete digital twins of your platforms built around this SoC for pre- and post-hardware development, optimization, collaboration, and more. As Renode offers many additional features, such as CAN support and a custom Renode Sensor Data format, it’s a perfect choice for developing and testing i.MX 8M Plus-based devices in various scenarios.

Linux demo

To test the i.MX 8M Plus in Renode, we prepared an NXP FRDM i.MX8MP Linux Renode script and a complementary Robot test. This script first creates a machine called frdm_imx8mp, then loads the FRDM i.MX 8M Plus platform description, and opens a uart2 analyzer window. In the reset macro, it loads the U-Boot ELF and DTB files, and configures the Cortex-A53 cluster.

To run this example on your machine, get the most recent Renode package for your system, then start the script:

(monitor) start @scripts/single-node/nxp-im8mplus_linux.resc
Loading terminal recording...

We also have a Renode script running the Zephyr RTOS on a Cortex-A53 core.

Get started with NXP i.MX 8M Plus and Renode

Renode support for the NXP i.MX 8M Plus enables you to take advantage of the many features offered by the SoC to develop, test and debug your system, even without the physical hardware on hand. Beside the i.MX family, Renode supports many other NXP platforms, including the automotive-grade S32K MCU, which you can simulate even in complex, multi-node configurations.

If you would like to integrate Renode into your development workflow or extend it with a specific platform, don’t hesitate to contact us at contact@antmicro.com.