Skip to main content

Software setup

For SoMs with an onboard DX-M1 module, we provide pre-built software images based on Yocto Linux. These images include the required drivers and runtime support for the DX-M1 and are available for download from sw.embeddedartists.com.

When using the DX-M1 as an M.2 module, the same software images can be used, provided that the host system is based on the same application processor, for example iMX8M Mini or RZ/G3E, as the corresponding SoM with an onboard DX-M1.

Our Yocto documentation provides detailed instructions on how to deploy pre-built software images for supported platforms.

DX-M1 detection and verification

After deploying the software image, verify that the DX-M1 module is correctly recognized by the system. Successful detection confirms that the required drivers and runtime components are properly installed and that the system has access to the accelerator.

To check the status of the DX-M1, run the following command on the target system:

dxrt-cli -s

If the DX-M1 module is correctly detected, the command will display information about the available device, including device ID, firmware version, and operational status. A typical output is shown below.

If no DX-M1 device is reported, verify that the correct software image is installed and that the hardware configuration (onboard module or M.2 module with PCIe routing) is correctly set up.

DXRT v3.1.0
=======================================================
* Device 0: M1, Accelerator type
--------------------- Version ---------------------
* RT Driver version : v1.8.0
* PCIe Driver version : v1.6.0
-------------------------------------------------------
* FW version : v2.4.0
--------------------- Device Info ---------------------
* Memory : LPDDR5 5600 Mbps, 3.92GiB
* Board : M.2, Rev 1.0
* Chip Offset : 0
* PCIe : Gen3 X2 [01:00:00]

NPU 0: voltage 750 mV, clock 1000 MHz, temperature 28'C
NPU 1: voltage 750 mV, clock 1000 MHz, temperature 27'C
NPU 2: voltage 750 mV, clock 1000 MHz, temperature 27'C
=======================================================

Build the software

This section describes how software components related to DEEPX are integrated and built within Yocto Linux. This information is intended for users who want to create custom Yocto images instead of using the provided pre-built software images.

note

General instructions for building a Yocto Linux distribution are provided in the Yocto documentation:

All DEEPX-related Yocto recipes are provided in the meta-ea-dx layer. To include DX-M1 support in your own Yocto build, follow the steps below.

  1. Clone the meta-ea-dx repository into the sources directory and checkout the branch that match your Yocto release. In the example below, the Walnascar release is used.
cd <repo-dir>/sources
git clone https://github.com/embeddedartists/meta-ea-dx

cd meta-ea-dx
git checkout walnascar
  1. Add the layer to the conf/bblayers.conf file.
BBLAYERS += " ${BSPDIR}/sources/meta-ea-dx "
  1. The layer contains package groups to help you include necessary recipes. For a minimal build use packagegroup-ea-dx-base. Add the following to conf/local.conf.
IMAGE_INSTALL:append = " packagegroup-ea-dx-base"
  1. For a more complete build with build tools, opencv and more, use packagegroup-ea-dx-extended. Add the following to conf/local.conf.
IMAGE_INSTALL:append = " packagegroup-ea-dx-extended"
info

All of the above is already applied in the provided images for SoMs with onboard DX-M1 module, see below for two examples.