Difference between revisions of "How to install and use the X-LINUX-AI SDK add-on"
[quality revision] | [quality revision] |
m
|
m
|
Applicable for | STM32MP13x lines, STM32MP15x lines |
Contents
- 1 Article purpose
- 2 Prerequisites
-
3 X-LINUX-AI SDK add-on installation
- 3.1 Download the X-LINUX-AI SDK add-on
- 3.2 Install the X-LINUX-AI SDK add-on
- 3. 2.1 For STM32MP15x lines3.3
- 3 .2.2 For STM32MP13x lines
- Start the SDK
- 3.3.1 For STM32MP15x lines
- 3.3.2 For STM32MP13x lines
- 4 Use the SDK
1 Article purpose[edit]
This article describes how to install and use the X-LINUX-AI SDK add-on. The X-LINUX-AI SDK add-on extends the OpenSTLinux SDK with AI functionality to develop and build an AI application easily. It is available from the X-LINUX-AI product web page.
2 Prerequisites[edit]
2.1 Install the OpenSTLinux SDK[edit]
First of all, you must download and install the OpenSTLinux SDK, which contains all the basis needed for the X-LINUX-AI add-on. To do this, follow the first four sections of the OpenSTLinux SDK installation guideinstructions given in STM32MP1_Developer_Package#Installing_the_SDK chapter. Once this has been done, you have a directory containing the OpenSTLinux SDK.
![]() |
You only need to follow the section 1 to 4 of the OpenSTLinux SDK installation guide. |
3 X-LINUX-AI SDK add-on installation[edit]
3.1 Download the X-LINUX-AI SDK add-on[edit]
To add the Artificial Intelligence part into the OpenSTLinux SDK, you must download and install the X-LINUX-AI SDK add-on. The add-on is delivered through a tarball file named : en.SDK-x86_64-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15-addon-x-linux-ai-v2.2.0.tar.xz. It that can be downloaded here: X-LINUX-AI SDK add-on.
![]() |
The X-LINUX-AI SDK add-on version must be the same as the OpenSTLinux SDK. If the version are not aligned, it might not work correctly. |
3.2 Install the X-LINUX-AI SDK add-on[edit]
3.2.1 For STM32MP15x lines[edit]
After that, you must uncompress the tarball file in your OpenSTLinux SDK directory. First, copy Once the X-LINUX-AI SDK add-on is downloaded, uncompress the add-on to the OpenSTLinux SDK directory:
cp:
![]() |
The name of the tarball depends on the chosen version. In the example below the last uploaded version is used. |
cd ~/Downloads/ tar xzf en.SDK-x86_64-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.0611.1523-addon-x-linux-ai-v2v3.20.0.tar.xz $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v4.0.0/Developer-Package/SDK gz
Then, move copy the .sh script to your OpenSTLinux SDK directory:
cd $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v4.0.0/Developer-Package/SDK
Finally, uncompress the tarball:
tar xJf en.SDK-x86_64-cp stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.0611.1523-addon-x-linux-ai-v2v3.2.0.tar.xz
![]() |
It is mandatory to uncompress the tarball inside the OpenSTLinux SDK directory. |
3.2.2 For STM32MP13x lines[edit]
After that, you must uncompress the tarball file in your OpenSTLinux SDK directory. First, copy the add-on to the OpenSTLinux SDK directory:
cp ~/Downloads/en.SDK-0.0/st-image-ai-openstlinux-weston-stm32mp1-x86_64-stm32mp1-toolchain-4.0.4-openstlinux-5.15-yocto-kirkstone-mp1-v22.0611.1523-addon-x-linux-ai-v2v3.20.0.tar.xzsh $HOME/STM32MPU_workspace/STM32MP13STM32MP1-Ecosystem-v4.01.0/Developer-Package/SDKThen, move to you
![]() |
It is mandatory run the script inside the OpenSTLinux SDK directory. |
Finally, run the script contained in the tarball:
cd $HOME/STM32MPU_workspace/STM32MP13STM32MP1-Ecosystem-v4.01.0/Developer-Package/SDK
Finally, uncompress the tarball:
tar xJf en.SDK-./st-image-ai-openstlinux-weston-stm32mp1-x86_64-stm32mp1-toolchain-4.0.4-openstlinux-5.15-yocto-kirkstone-mp1-v22.0611.1523-addon-x-linux-ai-v2v3.20.0.tar.xzsh
![]() |
It is mandatory to uncompress the tarball inside the OpenSTLinux SDK directory. |
Optionally, once the script is executed, you can delete it.
rm *.sh
3.3 Start the SDK[edit]
![]() |
The SDK environment setup script must be run once on each new working terminal on which you cross-compile. |
3.3.1 For STM32MP15x lines[edit]
The add-on is now installed into the OpenSTLinux SDK. You can start the SDK. Go to your OpenSTLinux SDK directory and source the environment:
cd $HOME/STM32MPU_workspace/STM32MP15STM32MP1-Ecosystem-v4.01.0/Developer-Package/SDK source environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
3.3.2 For STM32MP13x lines[edit]
The add-on is now installed into the OpenSTLinux SDK. You can start the SDK. Go to your OpenSTLinux SDK directory and source the environmentCheck that the SDK is properly installed:
cd $HOME/STM32MPU_workspace/STM32MP13-Ecosystem-v4x-linux-ai -v X-LINUX-AI version: v3.0.0/Developer-Package/SDK source environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
![]() |
With the x-linux-ai binary it is possible to check the X-LINUX-AI version and the supported frameworks/applications. Use x-linux-ai --help for more information. |
4 Use the SDK[edit]
4.1 Build an application with the SDK[edit]
![]() |
In this section, the image classification application is used as an example, but all the applications can be built with this method. |
Once the SDK is correctly set up, the applications can be built easily. In this example, it is the image classification application that is built.
Download the github repository:
git clone https://github.com/STMicroelectronics/meta-st-stm32mpu-ai.git
![]() |
The version of the downloaded meta-st-stm32mpu-ai is be the same as the one of the X-LINUX-AI SDK add-on. |
Go to the image classification directory:
cd meta-st-stm32mpu-ai/recipes-samples/tflite-cv-apps/files/image-classification/src
Then, use the make command to build the application:
make
A new file is displayed, named label_tfl_gst_gtk. This is a binary file, which has been generated using the make command. It is compiled for the STM32MP1x architecture. It must now be transferred to the board.
4.2 Use the application[edit]
![]() |
To use the application, it is mandatory to have an STM32MP1x board with OpenSTLinux and X-LINUX-AI packages installed. If it is not the case, refer to the X-LINUX-AI installation guide sections 2 and 3. |
Once the STM32MP1x board is correctly set up and the X-LINUX-AI packages are installed with the right version, it is possible to send the application to the board.
![]() |
The X-LINUX-AI packages versions must be the same as the ones in the X-LINUX-AI SDK add-on. |
To do it, use the following command using your own IP address:
scp -r -p label_tfl_gst_gtk root@<ip_address>:/usr/local/demo-ai/computer-vision/tflite-image-classification/bin/
Then, use the ssh protocol to connect to the board:
ssh root@<ip_address>
On the board, go to the right directory and use the image classification script to launch the application:
cd /usr/local/demo-ai/computer-vision/tflite-image-classification/bin/ ./launch_bin_label_tfl_mobilenet.sh
This script is using the label_tfl_gst_gtk application that has been compiled before.
<noinclude>{{ApplicableFor |MPUs list=STM32MP13x, STM32MP15x |MPUs checklist=STM32MP13x,STM32MP15x }}</noinclude> ==Article purpose== This article describes how to install and use the X-LINUX-AI SDK add-on. The X-LINUX-AI SDK add-on extends the OpenSTLinux SDK with AI functionality to develop and build an AI application easily. It is available from the [https://www.st.com/en/product/x-linux-ai X-LINUX-AI] product web page. ==Prerequisites== === Install the OpenSTLinux SDK === First of all, you must download and install the '''OpenSTLinux SDK''', which contains all the basis needed for the '''X-LINUX-AI add-on'''. To do this, follow the first four sections of the [[_Install_the_SDK| OpenSTLinux SDK installation guide]]instructions given in [[STM32MP1_Developer_Package#Installing_the_SDK]] chapter. Once this has been done, you have a directory containing the OpenSTLinux SDK. {{warning| You only '''need''' to follow the '''section 1 to 4''' of the [[_Install_the_SDK| OpenSTLinux SDK installation guide]].}} {{info| Once this is done, the path to the '''OpenSTLinux SDK''' is the following:* STM32MP15x series:: '''$HOME/STM32MPU_workspace/STM32MP15STM32MP1-Ecosystem-v4.01.0/Developer-Package/SDK''' * STM32MP13x series :: '''$HOME/STM32MPU_workspace/STM32MP13-Ecosystem-v4.0.0/Developer-Package/SDK'''}} }} == X-LINUX-AI SDK add-on installation == === Download the X-LINUX-AI SDK add-on === To add the '''Artificial Intelligence''' part into the OpenSTLinux SDK, you must download and install the '''X-LINUX-AI SDK add-on'''. The add-on is delivered through a tarball file named : '''en.SDK-x86_64-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15-addon-x-linux-ai-v2.2.0.tar.xz'''. It that can be downloaded here: [https://www.st.com/en/product/x-linux-ai X-LINUX-AI SDK add-on]. {{warning| The '''X-LINUX-AI SDK add-on''' version must be the same as the '''OpenSTLinux SDK'''. If the version are not aligned, it might not work correctly.}} === Install the X-LINUX-AI SDK add-on ======= For STM32MP15x lines ==== After that, you must '''uncompress''' the tarball file in your OpenSTLinux SDK directory. First, '''copy''' the add-on to the '''OpenSTLinux SDK directory''': {{PC$}} cp ~/Downloads/Once the X-LINUX-AI SDK add-on is downloaded, '''uncompress''' the add-on: {{info| The name of the tarball depends on the chosen version. In the example below the last uploaded version is used.}} {{PC$}} cd ~/Downloads/ {{PC$}} tar xzf en.SDK-x86_64-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.1511.23-addon-x-linux-ai-v2.2v3.0.0.tar.xz $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v4.0.0/Developer-Package/SDK Then, '''move''' gz Then, '''copy''' the .sh script to your '''OpenSTLinux SDK directory''': {{PC$}} cd $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v4.0.0/Developer-Package/SDK Finally, '''uncompress''' the tarball: {{PC$}} tar xJf en.SDK-x86_64-cp stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.1511.23-addon-x-linux-ai-v2.2v3.0.0.tar.xz {{warning| It is mandatory to uncompress the tarball '''inside the OpenSTLinux SDK directory.'''}} ==== For STM32MP13x lines ==== After that, you must '''uncompress''' the tarball file in your OpenSTLinux SDK directory. First, '''copy''' the add-on to the '''OpenSTLinux SDK directory''': {{PC$}} cp ~/Downloads/en.SDK-x86_64-stm32mp1-/st-image-ai-openstlinux-weston-stm32mp1-x86_64-toolchain-4.0.4-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.1511.23-addon-x-linux-ai-v2.2v3.0.0.tar.xz sh $HOME/STM32MPU_workspace/STM32MP13STM32MP1-Ecosystem-v4.01.0/Developer-Package/SDKThen, '''move''' to you '''OpenSTLinux SDK directory''': {{PC$}} cd $HOME/STM32MPU_workspace/STM32MP13-Ecosystem-v4.0{{warning| It is mandatory run the script '''inside the OpenSTLinux SDK directory.'''}} Finally, run the script contained in the tarball: {{PC$}} cd $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.1.0/Developer-Package/SDKFinally, '''uncompress''' the tarball: {{PC$}} tar xJf en.SDK-x86_64-stm32mp1- {{PC$}} ./st-image-ai-openstlinux-weston-stm32mp1-x86_64-toolchain-4.0.4-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.1511.23-addon-x-linux-ai-v2.2v3.0.0.tar.xz {{warning| It is mandatory to uncompress the tarball '''inside the OpenSTLinux SDK directory.'''}} sh Optionally, once the script is executed, you can delete it. {{PC$}} rm *.sh === Start the SDK === {{info| The SDK environment setup script must be run once on each new working terminal on which you cross-compile.}}==== For STM32MP15x lines ====The add-on is now installed into the OpenSTLinux SDK. You can '''start''' the SDK. Go to your '''OpenSTLinux SDK directory''' and '''source''' the environment: {{PC$}} cd $HOME/STM32MPU_workspace/STM32MP15STM32MP1-Ecosystem-v4.01.0/Developer-Package/SDK {{PC$}} source environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi ==== For STM32MP13x lines ==== The add-on is now installed into the OpenSTLinux SDK. You can '''start''' the SDK. Go to your '''OpenSTLinux SDK directory''' and '''source''' the environment: {{PC$}} cd $HOME/STM32MPU_workspace/STM32MP13-Ecosystem-v4.0.0/Developer-Package/SDK {{PC$}} source environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi Check that the SDK is properly installed: {{PC$}} x-linux-ai -v X-LINUX-AI version: v3.0.0 {{info| With the x-linux-ai binary it is possible to check the X-LINUX-AI version and the supported frameworks/applications. Use x-linux-ai --help for more information.}} == Use the SDK == === Build an application with the SDK === {{info| In this section, the image classification application is used as an example, but all the applications can be built with this method.}} Once the SDK is correctly set up, the applications can be built easily. In this example, it is the image classification application that is built. Download the github repository: {{PC$}} git clone https://github.com/STMicroelectronics/meta-st-stm32mpu-ai.git {{warning| The '''version''' of the downloaded '''meta-st-stm32mpu-ai''' is be the '''same''' as the one of the '''X-LINUX-AI SDK add-on'''.}} Go to the image classification directory: {{PC$}} cd meta-st-stm32mpu-ai/recipes-samples/tflite-cv-apps/files/image-classification/src Then, use the '''make''' command to build the application: {{PC$}} make A new file is displayed, named '''label_tfl_gst_gtk'''. This is a binary file, which has been generated using the '''make''' command. It is compiled for the STM32MP1x architecture. It must now be transferred to the board. === Use the application === {{warning| To use the application, it is '''mandatory''' to have an STM32MP1x board with '''OpenSTLinux and X-LINUX-AI packages''' installed. If it is not the case, refer to the [[_X-LINUX-AI_OpenSTLinux_Expansion_Package| X-LINUX-AI installation guide]] '''sections 2 and 3'''.}} Once the STM32MP1x board is correctly set up and the X-LINUX-AI packages are installed with the right version, it is possible to send the application to the board. {{info| The '''X-LINUX-AI packages versions''' must be the '''same''' as the ones in the '''X-LINUX-AI SDK add-on'''.}} To do it, use the following command using your own IP address: {{PC$}} scp -r -p label_tfl_gst_gtk root@<ip_address>:/usr/local/demo-ai/computer-vision/tflite-image-classification/bin/ Then, use the '''ssh protocol''' to connect to the board: {{PC$}} ssh root@<ip_address> On the '''board''', go to the right directory and '''use the image classification script''' to launch the application: {{Board$}} cd /usr/local/demo-ai/computer-vision/tflite-image-classification/bin/ {{Board$}} ./launch_bin_label_tfl_mobilenet.sh This script is using the '''label_tfl_gst_gtk''' application that has been compiled before. <noinclude> [[Category:Artificial intelligence expansion packages|05]] {{PublicationRequestId | 23826 | 17Jun'22}}</noinclude>
(12 intermediate revisions by 4 users not shown) | |||
Line 11: | Line 11: | ||
==Prerequisites== |
==Prerequisites== |
||
=== Install the OpenSTLinux SDK === |
=== Install the OpenSTLinux SDK === |
||
− | First of all, you must download and install the '''OpenSTLinux SDK''', which contains all the basis needed for the '''X-LINUX-AI add-on'''. To do this, follow |
+ | First of all, you must download and install the '''OpenSTLinux SDK''', which contains all the basis needed for the '''X-LINUX-AI add-on'''. To do this, follow instructions given in [[STM32MP1_Developer_Package#Installing_the_SDK]] chapter. Once this has been done, you have a directory containing the OpenSTLinux SDK. |
− | {{ |
+ | {{info| Once this is done, the path to the '''OpenSTLinux SDK''' is the following:
|
+ |
:: '''$HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.1.0/Developer-Package/SDK'''}} |
||
− | |||
− | |||
− | |||
− | |||
− | |||
== X-LINUX-AI SDK add-on installation == |
== X-LINUX-AI SDK add-on installation == |
||
=== Download the X-LINUX-AI SDK add-on === |
=== Download the X-LINUX-AI SDK add-on === |
||
To add the '''Artificial Intelligence''' part into the OpenSTLinux SDK, you must download and install the '''X-LINUX-AI SDK add-on'''. |
To add the '''Artificial Intelligence''' part into the OpenSTLinux SDK, you must download and install the '''X-LINUX-AI SDK add-on'''. |
||
− | The add-on is delivered through a tarball file |
+ | The add-on is delivered through a tarball file that can be downloaded here: [https://www.st.com/en/product/x-linux-ai X-LINUX-AI SDK add-on]. |
{{warning| The '''X-LINUX-AI SDK add-on''' version must be the same as the '''OpenSTLinux SDK'''. If the version are not aligned, it might not work correctly.}} |
{{warning| The '''X-LINUX-AI SDK add-on''' version must be the same as the '''OpenSTLinux SDK'''. If the version are not aligned, it might not work correctly.}} |
||
=== Install the X-LINUX-AI SDK add-on === |
=== Install the X-LINUX-AI SDK add-on === |
||
− | + |
Once the X-LINUX-AI SDK add-on is downloaded, '''uncompress''' the add-on:
|
|
− | + |
{{info| The name of the tarball depends on the chosen version. In the example below the last uploaded version is used.}}
|
|
− | {{PC$}} |
+ | {{PC$}} cd ~/Downloads/ |
− | Then, ''' |
+ |
{{PC$}} tar xzf en.SDK-x86_64-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.11.23-addon-x-linux-ai-v3.0.0.tar.gz
|
− | {{PC$}} |
+ | Then, '''copy''' the .sh script to your '''OpenSTLinux SDK directory''': |
− | + | {{PC$}} cp stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.11.23-addon-x-linux-ai-v3.0.0/st-image-ai-openstlinux-weston-stm32mp1-x86_64-toolchain-4.0.4-openstlinux-5.15-yocto-kirkstone-mp1-v22.11.23-addon-x-linux-ai-v3.0.0.sh $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.1.0/Developer-Package/SDK |
|
− | + |
{{warning| It is mandatory run the script '''inside the OpenSTLinux SDK directory.'''}}
|
|
− | + |
Finally, run the script contained in the tarball: |
|
− | + | {{PC$}} cd $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.1.0/Developer-Package/SDK |
|
− | + | {{PC$}} ./st-image-ai-openstlinux-weston-stm32mp1-x86_64-toolchain-4.0.4-openstlinux-5.15-yocto-kirkstone-mp1-v22.11.23-addon-x-linux-ai-v3.0.0.sh
|
|
− | + |
Optionally, once the script is executed, you can delete it. |
|
− | + |
{{PC$}} rm *.sh
|
|
− | |||
− | {{PC$}} cd |
||
− | |||
− | {{PC$}} |
||
− | {{ |
||
=== Start the SDK === |
=== Start the SDK === |
||
{{info| The SDK environment setup script must be run once on each new working terminal on which you cross-compile.}} |
{{info| The SDK environment setup script must be run once on each new working terminal on which you cross-compile.}} |
||
− | |||
The add-on is now installed into the OpenSTLinux SDK. You can '''start''' the SDK. Go to your '''OpenSTLinux SDK directory''' and '''source''' the environment: |
The add-on is now installed into the OpenSTLinux SDK. You can '''start''' the SDK. Go to your '''OpenSTLinux SDK directory''' and '''source''' the environment: |
||
− | {{PC$}} cd $HOME/STM32MPU_workspace/ |
+ | {{PC$}} cd $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.1.0/Developer-Package/SDK |
{{PC$}} source environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi |
{{PC$}} source environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi |
||
− | + |
Check that the SDK is properly installed: |
|
− | + | {{PC$}} x-linux-ai -v
|
|
− | {{PC$}} |
+ |
X-LINUX-AI version: v3.0.0 |
− | + | {{info| With the x-linux-ai binary it is possible to check the X-LINUX-AI version and the supported frameworks/applications. Use x-linux-ai --help for more information.}}
|
|
== Use the SDK == |
== Use the SDK == |
||
Line 73: | Line 63: | ||
A new file is displayed, named '''label_tfl_gst_gtk'''. This is a binary file, which has been generated using the '''make''' command. It is compiled for the STM32MP1x architecture. It must now be transferred to the board. |
A new file is displayed, named '''label_tfl_gst_gtk'''. This is a binary file, which has been generated using the '''make''' command. It is compiled for the STM32MP1x architecture. It must now be transferred to the board. |
||
=== Use the application === |
=== Use the application === |
||
− | {{warning| To use the application, it is '''mandatory''' to have an STM32MP1x board with '''OpenSTLinux and X-LINUX-AI packages''' installed. If it is not the case, refer to the [[ |
+ | {{warning| To use the application, it is '''mandatory''' to have an STM32MP1x board with '''OpenSTLinux and X-LINUX-AI packages''' installed. If it is not the case, refer to the [[X-LINUX-AI_OpenSTLinux_Expansion_Package| X-LINUX-AI installation guide]] '''sections 2 and 3'''.}} |
Once the STM32MP1x board is correctly set up and the X-LINUX-AI packages are installed with the right version, it is possible to send the application to the board. |
Once the STM32MP1x board is correctly set up and the X-LINUX-AI packages are installed with the right version, it is possible to send the application to the board. |