STM32MP1 artificial intelligence expansion packages

Revision as of 14:39, 25 July 2019 by Registered User (→‎Build the software image)

The artificial intelligence expansion package contains Linux AI frameworks to enable AI application examples that could be run on STM32MP1 Series.
This package consists in 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 STM32MP1 Series.
The meta layer contains frameworks, tools and applications to run AI examples. Different image flavors will be available targeting different use cases such as computer vision (CV).

STM32MPU Embedded Software Distribution Package with the OpenSTLinux AI Expansion Package

1. Prerequisite[edit source]

Install the STM32MP1 Distribution Package, but do not initialize the OpenEmbedded environment (sourcing the envsetup.sh) before having installed the meta-st-stm32mpu-ai meta layer (see next chapter).

2. Installation of the meta layer[edit source]

Info white.png Information
The meta-st-stm32mpu-ai layer depends on the meta-clang layer.
  • Clone following git repositories into <Distribution Package installation directory>/layers/meta-st
 cd <Distribution Package installation directory>/layers
 git clone https://github.com/kraj/meta-clang -b thud
 cd <Distribution Package installation directory>/layers/meta-st
 git clone https://github.com/STMicroelectronics/meta-st-stm32mpu-ai.git -b thud
  • Setup the build environment
 cd ../..
 DISTRO=openstlinux-weston MACHINE=stm32mp1 source layers/meta-st/scripts/envsetup.sh
  • Add the new layers in that order
 bitbake-layers add-layer ../layers/meta-clang
 bitbake-layers add-layer ../layers/meta-st/meta-st-stm32mpu-ai

3. Build the software image[edit source]

Different OpenSTLinux expansion packages are available to target different use cases. The following commands need to be executed in the build environment.

  • X-LINUX-AI-CV for computer vision use case
To have more information about this OpenSTLinux expansion package follow this link
To build it, execute the following command:
 bitbake st-image-ai-cv
Info white.png Information
Note that building the image could take more than 2 hours depending on your host computer performances.

4. Flash the built image[edit source]

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

5. Launch the AI software[edit source]

5.1. The AI demo launcher[edit source]

The AI demo launcher is a derivative of the GTK demo launcher application.

It is written in python3[1] and uses GTK[2] to display the user interface. It allows to easily launch AI application examples.
A "single tap" on the touch screen or a "single click" with a mouse connected to the board is sufficient to launch the AI application.

Example of AI demo launcher for Computer Vision

The AI demo launcher is updated with the available examples according the built image.
If computer vision package is built, then AI demo launcher will contains the supported computer vision application examples.

Info white.png Information
Source code of the AI demo launcher is located here:
  • in the meta layer:
meta-st-stm32mpu-ai/recipes-samples/demo/ai-demo-launcher/ai-demo-launcher.py
  • on the target:
/usr/local/demo-ai/ai-demo-launcher.py

6. References[edit source]