The Technexion PICO-IMX7D is a system-on-module containing a large peripheral set usable for many designs.
The i.MX 7Dual delivers high-performance processing for low-power requirements with a high degree of functional integration. The i.MX 7Dual features an advanced implementation of two ARM®Cortex®-A7 cores, which operate at speeds of up to 1.2 GHz, as well as the ARM® Cortex®-M4 core. The Pico variant is pin-compatible with the Intel® Edison for sensors and low-speed I/O, but also adds additional expansion possibilities for multimedia and connectivity, giving you cutting edge technology that can easily be expanded and implemented for IoT designs.
This integration has been tested with the PICO PI carrier board.
Note that this integration is similar to this one, however the board form-factor is different and this uses the Rocko branch of the Technexion BSP rather than the manifest files provided as part of Mender Hub.
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:
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.
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
Configuring the build
Setup Yocto environment
Create a directory for your
mender-technexion setup to live in and clone the
mkdir mender-technexion && cd mender-technexion
Initialize repo manifest:
repo init -u https://github.com/TechNexion/edm-yocto-bsp.git -b rocko_4.9.y_GA -m imx-4.9.88-2.0.0_ga.xml mkdir .repo/local_manifests cd .repo/local_manifests/ wget https://raw.githubusercontent.com/mendersoftware/meta-mender-community/rocko/scripts/mender-no-setup.xml cd -
Fetch layers in manifest:
repo sync cd .repo/local_manifests/ ln -sf ../../sources/meta-mender-community/scripts/mender-no-setup.xml . cd -
Download the wifi firmware
The wifi firmware is not yet in the upstream repos so we need to manually download it and store it in the meta-edm-bsp-release subdirectory.
wget ftp://download.technexion.net/development_resources/Download/wifi_firmware/Broadcom/AP6335_4.2.tgz tar xzvf AP6335_4.2.tgz mv AP6335_4.2/*/* sources/meta-edm-bsp-release/recipes-kernel/linux-firmware/files/ rm -rf AP6335_4.2/ AP6335_4.2.tgz wget ftp://download.technexion.net/development_resources/Download/wifi_firmware/Broadcom/AP6212_4.2.tgz tar xzvf AP6212_4.2.tgz mv AP6212_4.2/*/* sources/meta-edm-bsp-release/recipes-kernel/linux-firmware/files/ rm -rf AP6212_4.2/ AP6212_4.2.tgz
Setup build environment
Initialize the build environment:
WIFI_FIRMWARE=y WIFI_MODULE=brcm DISTRO=fsl-imx-fb MACHINE=pico-imx7 BASEBOARD=pi source edm-setup-release.sh cat ../sources/meta-mender-community/meta-mender-nxp/templates/bblayers.conf.append >> conf/bblayers.conf 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
Building the image
You can now proceed with building an image:
MACHINE=pico-imx7 bitbake core-image-base
core-image-base with your desired image target.
Using the build output
After a successful build, the images and build artifacts are placed in
The disk image (with
.sdimg suffix) is used to provision the device storage for devices without Mender running already. Please proceed to the official documentation on provisioning a new device for steps to do this.
On the other hand, 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 as described in Deploy to physical devices or by using the Mender client only in Standalone deployments.
Initial device provisioning uses the imx_usb utility to present the targets eMMC device as a block device to your build PC. You will need to configure your carrier board for serial download, and then invoke the imx_usb utility as follows:
sudo ./linux/imx_usb pico-imx7d_bootbomb_20170112.imx
At this point a new block device will be present in your system and you can follow the standard Mender instructions for provisioning the SDIMG.
- The official Mender documentation explains how Mender works. This is simply a board-specific complement to the official documentation.
If this post was useful to you, please press like, or leave a thank you note to the contributor who put valuable time into this and made it available to you. It will be much appreciated!