X-LINUX-AI OpenSTLinux Expansion Package

Revision as of 17:11, 11 June 2020 by Registered User
AI Expansion Package inserted in the STM32MPU Embedded software distribution


X-LINUX-AI is an STM32 MPU OpenSTLinux Expansion Package that targets artificial intelligence for STM32MP1 Series devices.

It contains Linux AI frameworks, as well as application examples to get started with some basic use cases such as computer vision (CV).

It is composed of an OpenEmbedded meta layer, named meta-st-stm32mpu-ai, to be added on top of the STM32MP1 Distribution Package.

It brings a complete and coherent easy-to-build / install environment to take advantage of AI on the STM32MP1 Series.


1. Version v2.0.0[edit source]

Info white.png Information
This version has been validated against the ecosystem release v2.0.0

Validated on STM32MP157x-DKx and STM32MP157x-EV1 boards.

1.1. Contents[edit source]

1.2. Software structure[edit source]

X-LINUX-AI-CV v2.0.0 Expansion Package Software structure

1.3. Validated hardware[edit source]

As any software expansion package, the X-LINUX-AI is supported on all STM32MP1 Series but it has been validated on the following boards:

  • STM32MP157C-DK2[7]
  • STM32MP157C-EV1[8]
  • STM32MP157A-EV1[9]

1.4. Install from the OpenSTLinux AI package repository[edit source]

Info white.png Information
STMicroelectronics packages repository service is provided for evaluation purpose only, and therefore not approved for use in production.

All the generated X-LINUX-AI packages are available from the OpenSTLinux AI package repository service hosted at the non-browsable URL http://packages.openstlinux.st.com/AI.
This repository contains AI packages that could be simply installed using apt-* utilities, which are the same utilities used on a Debian system:

  • the main group contains the selection of AI packages whose installation is automatically tested by STMicroelectronics
  • the updates group is reserved for future use like package revision update.

1.4.1. Prerequisites[edit source]

  • Starter Package need to be install
  • Your board has an internet connection either through the network cable or through a WiFi connection.

1.4.2. Configure the AI OpenSTLinux package repository[edit source]

Once the board is booted with the Start Package, execute the following command in the console in order to configure the AI OpenSTLinux package repository:

 echo "deb http://packages.openstlinux.st.com/AI/2.0 dunfell main updates" >> /etc/apt/sources.list.d/extra.packages.openstlinux.st.list
 

The software package is provided AS IS, and by downloading it, you agree to be bound to the terms of the software license agreement (SLA). The detailed content licenses can be found here.

1.5. Re-generate X-LINUX-AI OpenSTLinux distribution[edit source]

With the following procedure, you can re-generate the complete distribution enabling the X-LINUX-AI expansion package.
This procedure is mandatory if you want to update by yourself some frameworks or if you want to modify the application samples.
To know more, please expand the contents...

1.5.1. Download the STM32MP1 Distribution Package v2.0.0[edit source]

Install the STM32MP1 Distribution Package v1.2.0, but do not initialize the OpenEmbedded environment (sourcing the envsetup.sh).

1.5.1.1. Clone following git repositories into <Distribution Package installation directory>/layers/meta-st[edit source]

The software package is provided AS IS, and by downloading it, you agree to be bound to the terms of the software license agreement (SLA). The detailed content licenses can be found here.

 cd <Distribution Package installation directory>/layers/meta-st
 git clone https://github.com/STMicroelectronics/meta-st-stm32mpu-ai.git -b v2.0.0_dunfell

1.5.2. Set up the build environment[edit source]

 cd ../..
 DISTRO=openstlinux-weston MACHINE=stm32mp1 source layers/meta-st/scripts/envsetup.sh

1.5.3. Add the new layers to the build system[edit source]

 bitbake-layers add-layer ../layers/meta-st/meta-st-stm32mpu-ai

1.5.4. Build the image[edit source]

 bitbake st-image-ai
Info white.png Information
Note that building the image could take long time depending on the host computer performance.

1.5.5. Flash the built image[edit source]

Follow this link to know how to flash the built image.

2. How to use the X-LINUX-AI Expansion Package[edit source]

2.1. Material needed[edit source]

To use the X-LINUX-AI-CV OpenSTLinux Expansion Package, choose one of the following materials:

  • STM32MP157C-DK2[7] + an UVC USB WebCam
  • STM32MP157C-EV1[8] with the built in camera
  • STM32MP157A-EV1[9] with the built in camera

Optional:

  • Google Edge TPU[2] accelerator

2.2. Launch an AI application sample[edit source]

Please visit the X-LINUX-AI application samples zoo page

2.3. Enjoy running your own NN models[edit source]

The above examples provide application samples to demonstrate how to execute NN Tensforflow Lite models easily on the STM32MP1.

You are free to update the C/C++ application or Python scripts for your own purposes, using your own NN Tensorflow Lite models.

Source code location are provided in application sample pages.

3. References[edit source]