X-LINUX-AI is the STM32 MPU OpenSTLinux Expansion Package that targets artificial intelligence for STM32MP1 Series devices.
This package 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[edit source]
1.1. v2.0.0[edit source]
1.1.1. Contents[edit source]
- TensorFlow Lite[1] 2.2.0
- Google Edge TPU[2] accelerator native support
- armNN[3] 20.05
- OpenCV[4] 4.1.x
- Python[5] 3.8.x
- Support STM32MP15xF[6] devices operating at up to 800MHz
- Python and C++ application sample zoo
- Image classification example using TensorFlow Lite based on MobileNet v1 model
- Object detection example using TensorFlow Lite based on COCO SSD MobileNet v1 model
- Image classification example using Google Edge TPU based on MobileNet v1 model
- Object detection example using Google Edge TPU based on COCO SSD MobileNet v1 model
- Image classification example using armNN TensorFlow Lite parser based on MobileNet v1 model
- Object detection example using armNN TensorFlow Lite parser based on COCO SSD MobileNet v1 model
1.1.2. Software structure[edit source]
1.1.3. Validated hardware[edit source]
As any software expansion package, the X-LINUX-AI is supported on all STM32MP1 Series and has been validated on the following boards:
1.1.4. Install from the OpenSTLinux AI package repository[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.
1.1.5. Re-generate X-LINUX-AI OpenSTLinux distribution[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.
1.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.1.5.2. Clone following git repositories into <Distribution Package installation directory>/layers/meta-st[edit source]
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.1.5.3. Set up the build environment[edit source]
cd ../.. DISTRO=openstlinux-weston MACHINE=stm32mp1 source layers/meta-st/scripts/envsetup.sh
1.1.5.4. Add the new layers to the build system[edit source]
bitbake-layers add-layer ../layers/meta-st/meta-st-stm32mpu-ai
1.1.5.5. Build the image[edit source]
bitbake st-image-ai
1.1.5.6. Flash the built image[edit source]
Follow this link to know how to flash the built image.