Skip to content

Commit d40bcbe

Browse files
committed
X-LINUX-AI v6.0.1
This minor update of x-linux-ai v6.0.1 target a better support and differentiation between STM32MPU that are equipped or not with an AI hardware accelerator. Signed-off-by: Maxence GUILHIN <[email protected]>
1 parent 0e907fe commit d40bcbe

19 files changed

+267
-244
lines changed

LICENSE.md

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,28 +34,38 @@
3434
| Components | Copyright | License
3535
|:--------- |:---------- |:-------
3636
| application-resources | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
37+
| config-cpu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
38+
| config-npu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
3739
| stai-mpu-image-classification-cpp | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
38-
| stai-mpu-image-classification-cpp-ort | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
39-
| stai-mpu-image-classification-cpp-ovx | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
40-
| stai-mpu-image-classification-cpp-tflite | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
40+
| stai-mpu-image-classification-cpp-ort-cpu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
41+
| stai-mpu-image-classification-cpp-ort-npu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
42+
| stai-mpu-image-classification-cpp-ovx-npu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
43+
| stai-mpu-image-classification-cpp-tflite-cpu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
44+
| stai-mpu-image-classification-cpp-tflite-npu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
4145
| stai-mpu-image-classification-python | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
42-
| stai-mpu-image-classification-python-ort | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
43-
| stai-mpu-image-classification-python-ovx | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
44-
| stai-mpu-image-classification-python-tflite | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
46+
| stai-mpu-image-classification-python-ort-cpu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
47+
| stai-mpu-image-classification-python-ort-npu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
48+
| stai-mpu-image-classification-python-ovx-npu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
49+
| stai-mpu-image-classification-python-tflite-cpu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
50+
| stai-mpu-image-classification-python-tflite-npu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
4551
| stai-mpu-object-detection-cpp | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
46-
| stai-mpu-object-detection-cpp-ort | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
47-
| stai-mpu-object-detection-cpp-ovx | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
48-
| stai-mpu-object-detection-cpp-tflite | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
52+
| stai-mpu-object-detection-cpp-ort-cpu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
53+
| stai-mpu-object-detection-cpp-ort-npu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
54+
| stai-mpu-object-detection-cpp-ovx-npu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
55+
| stai-mpu-object-detection-cpp-tflite-npu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
56+
| stai-mpu-object-detection-cpp-tflite-cpu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
4957
| stai-mpu-object-detection-python | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
50-
| stai-mpu-object-detection-python-ort | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
51-
| stai-mpu-object-detection-python-ovx | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
52-
| stai-mpu-object-detection-python-tflite | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
58+
| stai-mpu-object-detection-python-ort-cpu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
59+
| stai-mpu-object-detection-python-ort-npu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
60+
| stai-mpu-object-detection-python-ovx-npu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
61+
| stai-mpu-object-detection-python-tflite-cpu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
62+
| stai-mpu-object-detection-python-tflite-npu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
5363
| stai-mpu-pose-estimation-python | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
54-
| stai-mpu-pose-estimation-python-ovx | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
64+
| stai-mpu-pose-estimation-python-ovx-npu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
5565
| stai-mpu-semantic-segmentation-python | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
56-
| stai-mpu-semantic-segmentation-python-ovx | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
66+
| stai-mpu-semantic-segmentation-python-ovx-npu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
5767
| stai-mpu-face-recognition-cpp | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
58-
| stai-mpu-face-recognition-cpp-ovx | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
68+
| stai-mpu-face-recognition-cpp-ovx-npu | STMicroelectronics | [SLA0044](https://www.st.com/SLA0044)
5969

6070
## NN models
6171
| Components | Copyright | License

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<img width="720" src="https://raw.githubusercontent.com/STMicroelectronics/meta-st-stm32mpu-ai/master/x-linux-ai-logo.png">
33
</p>
44

5-
X-LINUX-AI version: v6.0.0
5+
X-LINUX-AI version: v6.0.1
66

77
X-LINUX-AI is a free of charge open-source software package dedicated to AI.
88
It is a complete ecosystem that allow developers working with OpenSTLinux to create AI-based application very easily.
@@ -19,7 +19,7 @@ X-LINUX-AI OpenEmbedded meta layer to be integrated into OpenSTLinux distributio
1919
It contains recipes for AI frameworks, tools and application examples for STM32MPx series
2020

2121
## Compatibility
22-
The X-LINUX-AI OpenSTLinux Expansion Package v6.0.0 is compatible with the Yocto Project™ build system Scarthgap.
22+
The X-LINUX-AI OpenSTLinux Expansion Package v6.0.1 is compatible with the Yocto Project™ build system Scarthgap.
2323
It is validated over the OpenSTLinux Distribution v6.0.0 https://wiki.st.com/stm32mpu on STM32MP25x and STM32MP1x series.
2424

2525
## Versioning
@@ -30,7 +30,7 @@ The X-LINUX-AI generic versioning v**x**.**y**.**z** is built as follows:
3030
* **z**: patch version to introduce bug fixes. A patch version is implemented in a backward compatible manner.
3131

3232
## Available frameworks and tools within the meta-layer
33-
[X-LINUX-AI v6.0.0 expansion package](https://wiki.st.com/stm32mpu/wiki/Category:X-LINUX-AI_expansion_package):
33+
[X-LINUX-AI v6.0.1 expansion package](https://wiki.st.com/stm32mpu/wiki/Category:X-LINUX-AI_expansion_package):
3434
* AI Frameworks:
3535
* STAI_MPU Unified API based on OpenVX™(STM32MP25x only), TensorFlow™ Lite, and ONNX Runtime™ compatible with all STM32MPU series
3636
* TIM-VX™ 1.2.6 (STM32MP25x only)

recipes-devtools/x-linux-ai/x-linux-ai-application.bb renamed to recipes-devtools/x-linux-ai/x-linux-ai-application_6.0.1.bb

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,4 @@ do_install() {
2525

2626
INSANE_SKIP:${PN} = "ldflags"
2727

28-
BOARD_USED:stm32mp1common = "STM32MP1"
29-
BOARD_USED:stm32mp25common = "STM32MP2"
30-
3128
EXTRA_OEMAKE += 'STM32MPU="${BOARD_USED}"'

recipes-devtools/x-linux-ai/x-linux-ai-benchmark_6.0.0.bb renamed to recipes-devtools/x-linux-ai/x-linux-ai-benchmark_6.0.1.bb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ S = "${WORKDIR}/${BPN}"
1717
inherit python3-dir
1818

1919
BOARD_USED:stm32mp1common = "stm32mp1"
20-
BOARD_USED:stm32mp25common = "stm32mp2_npu"
20+
BOARD_USED:stm32mp2common = "stm32mp2_npu"
2121

2222
do_install() {
2323
install -d ${D}/usr/bin
2424
install -m 0755 ${S}/x_linux_ai_benchmark_mp1 ${D}/usr/bin/x-linux-ai-benchmark
2525
}
2626

27-
do_install:append:stm32mp25common(){
27+
do_install:append:stm32mp2common(){
2828
install -m 0755 ${S}/x_linux_ai_benchmark_mp2 ${D}/usr/bin/x-linux-ai-benchmark
2929
}
3030

recipes-devtools/x-linux-ai/x-linux-ai-tool_6.0.0.bb renamed to recipes-devtools/x-linux-ai/x-linux-ai-tool_6.0.1.bb

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,4 @@ do_install() {
5252
install -m 0755 ${S}/x-linux-ai ${D}${bindir}
5353
}
5454

55-
FILES:${PN} = "${bindir}"
56-
57-
# Add dependency on the apt configuration for x-linux-ai
58-
RDEPENDS:${PN}:class-target += "apt-openstlinux-x-linux-ai"
55+
FILES:${PN} = "${bindir}"

recipes-frameworks/nbg-benchmark/nbg-benchmark_6.0.0.bb renamed to recipes-frameworks/nbg-benchmark/nbg-benchmark_6.0.1.bb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=91fc08c2e8dfcd4229b69819ef52827c"
66
NO_GENERIC_LICENSE[SLA0044] = "LICENSE"
77
LICENSE:${PN} = "SLA0044"
88

9+
COMPATIBLE_MACHINE = "stm32mp2common"
10+
911
DEPENDS += "jpeg"
10-
DEPENDS:append:stm32mp25common = " gcnano-driver-stm32mp gcnano-userland "
12+
DEPENDS:append:stm32mp2common = " gcnano-driver-stm32mp gcnano-userland "
1113

12-
PV = "5.0.0"
14+
PV = "6.0.1"
1315

1416
python () {
1517
#Get major of the PV variable

recipes-frameworks/onnxruntime/ort-vsinpu-ep-example-cpp_6.0.0.bb renamed to recipes-frameworks/onnxruntime/ort-vsinpu-ep-example-cpp_6.0.1.bb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ SRC_URI = " file://ort-vsinpu-ep-example;subdir=${BPN}-${PV} "
1414

1515
S = "${WORKDIR}/${BPN}-${PV}"
1616

17-
COMPATIBLE_MACHINE = "stm32mp25common"
17+
COMPATIBLE_MACHINE = "stm32mp2common"
1818

1919
do_configure[noexec] = "1"
2020

recipes-frameworks/onnxruntime/ort-vsinpu-ep-example-python_6.0.0.bb renamed to recipes-frameworks/onnxruntime/ort-vsinpu-ep-example-python_6.0.1.bb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ SRC_URI = " file://ort-vsinpu-ep-example;subdir=${BPN}-${PV} "
1212

1313
S = "${WORKDIR}/${BPN}-${PV}"
1414

15-
COMPATIBLE_MACHINE = "stm32mp25common"
15+
COMPATIBLE_MACHINE = "stm32mp2common"
1616

1717
do_configure[noexec] = "1"
1818

recipes-frameworks/stai-mpu/stai-mpu_6.0.0.bb renamed to recipes-frameworks/stai-mpu/stai-mpu_6.0.1.bb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ python () {
2929
}
3030

3131
BOARD_USED:stm32mp1common = "stm32mp1"
32-
BOARD_USED:stm32mp25common = "stm32mp2_npu"
32+
BOARD_USED:stm32mp2common = "stm32mp2_npu"
3333

3434
inherit python3-dir
3535

@@ -77,7 +77,7 @@ do_install:append:stm32mp1common(){
7777
chrpath -r '$ORIGIN' ${D}${prefix}/local/bin/${PN}-${PVB}/unit-tests/stai_mpu_network_test
7878
}
7979

80-
do_install:append:stm32mp25common(){
80+
do_install:append:stm32mp2common(){
8181
# Install libdir
8282
install -m 0644 ${S}/aarch64/lib/libstai_mpu_ort.so.${MAJOR} ${D}${libdir}/libstai_mpu_ort.so.${PVB}
8383
install -m 0644 ${S}/aarch64/lib/libstai_mpu_tflite.so.${MAJOR} ${D}${libdir}/libstai_mpu_tflite.so.${PVB}
@@ -96,10 +96,10 @@ do_install:append:stm32mp25common(){
9696
# Install the Python package along with the bindings.
9797
cp -r ${S}/aarch64/python/* ${D}${PYTHON_SITEPACKAGES_DIR}/stai_mpu/
9898

99-
#Install specific python shared lib module for stm32mp25common
99+
#Install specific python shared lib module for stm32mp2common
100100
cp ${S}/aarch64/lib/_stai_mpu_network.cpython.${PYTHON_PV}-aarch64-linux-gnu.so ${D}${PYTHON_SITEPACKAGES_DIR}/stai_mpu/_binding/_stai_mpu_network.so
101101

102-
#Install specific OpenVX shared libs for stm32mp25common
102+
#Install specific OpenVX shared libs for stm32mp2common
103103
install -m 0644 ${S}/aarch64/lib/libstai_mpu_ovx.so.${MAJOR} ${D}${libdir}/libstai_mpu_ovx.so.${PVB}
104104
ln -sf libstai_mpu_ovx.so.${PVB} ${D}${libdir}/libstai_mpu_ovx.so.${MAJOR}
105105
ln -sf libstai_mpu_ovx.so.${PVB} ${D}${libdir}/libstai_mpu_ovx.so
@@ -116,7 +116,7 @@ do_install:append:stm32mp25common(){
116116
}
117117

118118
PACKAGES += "${PN}-tools ${PYTHON_PN}-${PN} ${PN}-tflite ${PN}-ort ${PN}-unit-tests "
119-
PACKAGES:append:stm32mp25common = " ${PN}-ovx "
119+
PACKAGES:append:stm32mp2common = " ${PN}-ovx "
120120
PROVIDES += "${PYTHON_PN}-${PN} ${PN}-tflite ${PN}-ort ${PN}-ovx ${PN}-unit-tests"
121121

122122
FILES:${PN} = " ${libdir}/libstai_mpu.so.* "
@@ -152,7 +152,7 @@ RDEPENDS:${PN}-tflite += " ${PYTHON_PN}-${PN} \
152152
tensorflow-lite \
153153
"
154154

155-
RDEPENDS:${PN}-tflite:append:stm32mp25common = " tflite-vx-delegate "
155+
RDEPENDS:${PN}-tflite:append:stm32mp2common = " tflite-vx-delegate "
156156

157157
RDEPENDS:${PN}-ort += " ${PYTHON_PN}-${PN} \
158158
${PN} \
@@ -164,7 +164,7 @@ RDEPENDS:${PN}-ovx += " ${PYTHON_PN}-${PN} \
164164
${PN} \
165165
"
166166

167-
RDEPENDS:${PN}-ovx:append:stm32mp25common = " gcnano-driver-stm32mp \
167+
RDEPENDS:${PN}-ovx:append:stm32mp2common = " gcnano-driver-stm32mp \
168168
libopenvx-gcnano \
169169
"
170170

recipes-frameworks/tflite-vx-delegate/tflite-vx-delegate-example_6.0.0.bb renamed to recipes-frameworks/tflite-vx-delegate/tflite-vx-delegate-example_6.0.1.bb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ SRC_URI = " file://tflite-vx-delegate-example;subdir=${BPN}-${PV} "
1414

1515
S = "${WORKDIR}/${BPN}-${PV}"
1616

17-
COMPATIBLE_MACHINE = "stm32mp25common"
17+
COMPATIBLE_MACHINE = "stm32mp2common"
1818

1919
do_configure[noexec] = "1"
2020

0 commit comments

Comments
 (0)