Board description
The i.MX 8XLite evaluation kit (EVK) provides a platform for evaluation and development using the Arm® Cortex® A35 + Cortex-M4F based i.MX 8XLite applications processors as well as the NXP PF7100 power management integrated circuit (PMIC) solution and sensors.
The i.MX 8XLite processor family is built with a high-level integration to support security, automotive telematics (V2X) and time-sensitive networking (TSN) while meeting efficient performance requirements. The EVK is supported with highly optimized drivers and software to enable broad-based applications for the embedded industrial and automotive markets.
- References i.MX 8XLite EVK & i.MX 8XLite
- NXP Support
Test results
The Yocto Project releases in the table below have been tested by the Mender community. Please update it if you have tested this integration on other Yocto Project releases:
Yocto Project | Build | Runtime |
---|---|---|
langdale (4.1) |
Build Means that the Yocto Project build using this Mender integration completes without errors and outputs images.
Runtime Means that Mender has been verified to work on the board. For U-Boot-based boards, the integration checklist has been verified.
Getting started
Prerequisites
- A supported Linux distribution and dependencies installed on your workstation/laptop as described in the Yocto Mega Manual
- NOTE. Instructions depend on which Yocto version you intend to use.
- Google repo tool installed and in your
PATH
.
Configuring the build
Setup Yocto environment
Set the Yocto Project branch you are building for:
# set to your branch, make sure it is supported (see table above)
export BRANCH="langdale"
Create a directory for your mender-nxp
setup to live in and clone the
meta information.
mkdir mender-nxp && cd mender-nxp
Clone the NXP sources
repo init -u https://github.com/nxp-imx/imx-manifest.git \
-b imx-linux-$BRANCH \
-m imx-6.1.1-1.0.0.xml
repo sync -j$(nproc)
Fetch Mender layers:
cd sources
git clone https://github.com/mendersoftware/meta-mender.git \
-b kirkstone
git clone https://github.com/estape11/meta-mender-community.git \
-b langdale
cd ..
Setup build environment
Initialize the build environment:
MACHINE=imx8dxlb0-lpddr4-evk DISTRO=fsl-imx-wayland source ./imx-setup-release.sh -b build
Add langdale
in the LAYERSERIES_COMPAT_mender
:
vi ../sources/meta-mender/meta-mender-core/conf/layer.conf
vi ../sources/meta-mender/meta-mender-demo/conf/layer.conf
Add the Mender layer to the bblayers
bitbake-layers add-layer ../sources/meta-mender/meta-mender-core/
bitbake-layers add-layer ../sources/meta-mender/meta-mender-demo/
bitbake-layers add-layer ../sources/meta-mender-community/meta-mender-nxp
Apply the local.conf templates
cat ../sources/meta-mender-community/templates/local.conf.append >> conf/local.conf
cat ../sources/meta-mender-community/meta-mender-nxp/templates/local.conf.append >> conf/local.conf
cat ../sources/meta-mender-community/meta-mender-nxp/templates/local-sdcard.conf.append >> conf/local.conf
Configure Mender server URL (optional)
This section is not required for a successful build but images that are generated by default are only suitable for usage with the Mender client in Standalone deployments, due to lack of server configuration.
You can edit the conf/local.conf
file to provide your Mender server configuration, ensuring the generated images and Mender Artifacts are connecting to the Mender server that you are using. There should already be a commented section in the generated conf/local.conf
file and you can simply uncomment the relevant configuration options and assign appropriate values to them.
Build for Hosted Mender:
# To get your tenant token:
# - log in to https://hosted.mender.io
# - click your email at the top right and then "My organization"
# - press the "COPY TO CLIPBOARD"
# - assign content of clipboard to MENDER_TENANT_TOKEN
#
MENDER_SERVER_URL = "https://hosted.mender.io"
MENDER_TENANT_TOKEN = "<copy token here>"
Building the image
You can now proceed with building an image:
bitbake core-image-minimal
Replace core-image-minimal
with your desired image target.
Using the build output
After a successful build, the resources should available in the result deploy folder (<build_dir>/tmp/deploy/images/imx8dxlb0-lpddr4-evk
). Inside you will find the needed files such as the bootloader, kernel, rootfs and Mender artifact.
If you already have Mender running on your device and want to deploy a rootfs update using this build, you should use the Mender Artifact files, which have .mender
suffix.
You can either deploy this Artifact in managed mode with the Mender server (upload it under Releases in the server UI) or by using the Mender client standalone mode .
Flash the SD card (predefined partitions)
dd if=core-image-minimal-imx8dxlb0-lpddr4-evk.sdimg | pv | dd of=/dev/<sd_dev>
Flash the bootloader
The device has to be in Download Mode
and the USB connected from the OTG-2 to the PC
uuu -lsusb
With the card inserted in the device, flash using the uuu
tool
uuu -b sd imx-boot-imx8dxlb0-lpddr4-evk-sd.bin-flash_linux_m4
Boot the board
After flashing:
- Turn the board off
- Change the BOOT-MODE jumpers to boot into the SD card
- Connect the DEBUG cable (micro-usb) to the board
- Open a serial program in the host computer (3rd serial device @ 115200 8N1 / Flow Control = NO)
- Power on the board
- Stop the uboot process (press a key) and reset the env:
env default -a saveenv reset
References
- The official Mender documentation explains how Mender works. This is simply a board-specific complement to the official documentation.
- NXP official Yocto Guide