2026-04-22 2:19 PM - edited 2026-04-22 2:23 PM
Hi there,
I am trying to deploy a quantized LiteRT (TF Lite) stateless LSTM model to a Nucelo-H723 using CubeMX, X-Cube-AI, and CubeIDE.
However, when I go to compile the generated code in CubeIDE, I get the following linker errors (full console output at bottom of this post) related to undefined references to arm_vector_sum_s8, arm_nn_vec_mat_mul_result_acc_s8_s16, and arm_nn_activation_s16 from the NetworkRuntime1020_CM7_GCC.a static library.
Any suggestions on what the fix might be?
Additional configuration information:
We configure CubeAI inside of CubeMX to flash the system performance variant, and can load and analyze our LSTM model within the Cube-AI window in CubeMX with no issues.
We also configure the H7 to use icache, dcache, CRC. We've been able to run other models (MLP) with no issues.
Console Error:
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: ../Middlewares/ST/AI/Lib\NetworkRuntime1020_CM7_GCC.a(forward_lite_lstm_is8os8ws8.o): in function `forward_lite_lstm_is8os8ws8':
forward_lite_lstm_is8os8ws8.c:(.text.forward_lite_lstm_is8os8ws8+0x21c): undefined reference to `arm_vector_sum_s8'
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (arm_vector_sum_s8): Unknown destination type (ARM/Thumb) in ../Middlewares/ST/AI/Lib\NetworkRuntime1020_CM7_GCC.a(forward_lite_lstm_is8os8ws8.o)
forward_lite_lstm_is8os8ws8.c:(.text.forward_lite_lstm_is8os8ws8+0x21c): dangerous relocation: unsupported relocation
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: forward_lite_lstm_is8os8ws8.c:(.text.forward_lite_lstm_is8os8ws8+0x236): undefined reference to `arm_vector_sum_s8'
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (arm_vector_sum_s8): Unknown destination type (ARM/Thumb) in ../Middlewares/ST/AI/Lib\NetworkRuntime1020_CM7_GCC.a(forward_lite_lstm_is8os8ws8.o)
forward_lite_lstm_is8os8ws8.c:(.text.forward_lite_lstm_is8os8ws8+0x236): dangerous relocation: unsupported relocation
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: forward_lite_lstm_is8os8ws8.c:(.text.forward_lite_lstm_is8os8ws8+0x24a): undefined reference to `arm_vector_sum_s8'
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (arm_vector_sum_s8): Unknown destination type (ARM/Thumb) in ../Middlewares/ST/AI/Lib\NetworkRuntime1020_CM7_GCC.a(forward_lite_lstm_is8os8ws8.o)
forward_lite_lstm_is8os8ws8.c:(.text.forward_lite_lstm_is8os8ws8+0x24a): dangerous relocation: unsupported relocation
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: forward_lite_lstm_is8os8ws8.c:(.text.forward_lite_lstm_is8os8ws8+0x25e): undefined reference to `arm_vector_sum_s8'
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (arm_vector_sum_s8): Unknown destination type (ARM/Thumb) in ../Middlewares/ST/AI/Lib\NetworkRuntime1020_CM7_GCC.a(forward_lite_lstm_is8os8ws8.o)
forward_lite_lstm_is8os8ws8.c:(.text.forward_lite_lstm_is8os8ws8+0x25e): dangerous relocation: unsupported relocation
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: forward_lite_lstm_is8os8ws8.c:(.text.forward_lite_lstm_is8os8ws8+0x272): undefined reference to `arm_vector_sum_s8'
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (arm_vector_sum_s8): Unknown destination type (ARM/Thumb) in ../Middlewares/ST/AI/Lib\NetworkRuntime1020_CM7_GCC.a(forward_lite_lstm_is8os8ws8.o)
forward_lite_lstm_is8os8ws8.c:(.text.forward_lite_lstm_is8os8ws8+0x272): dangerous relocation: unsupported relocation
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: ../Middlewares/ST/AI/Lib\NetworkRuntime1020_CM7_GCC.a(forward_lite_lstm_is8os8ws8.o):forward_lite_lstm_is8os8ws8.c:(.text.forward_lite_lstm_is8os8ws8+0x284): more undefined references to `arm_vector_sum_s8' follow
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (arm_vector_sum_s8): Unknown destination type (ARM/Thumb) in ../Middlewares/ST/AI/Lib\NetworkRuntime1020_CM7_GCC.a(forward_lite_lstm_is8os8ws8.o)
../Middlewares/ST/AI/Lib\NetworkRuntime1020_CM7_GCC.a(forward_lite_lstm_is8os8ws8.o): in function `forward_lite_lstm_is8os8ws8':
forward_lite_lstm_is8os8ws8.c:(.text.forward_lite_lstm_is8os8ws8+0x284): dangerous relocation: unsupported relocation
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (arm_vector_sum_s8): Unknown destination type (ARM/Thumb) in ../Middlewares/ST/AI/Lib\NetworkRuntime1020_CM7_GCC.a(forward_lite_lstm_is8os8ws8.o)
forward_lite_lstm_is8os8ws8.c:(.text.forward_lite_lstm_is8os8ws8+0x296): dangerous relocation: unsupported relocation
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (arm_vector_sum_s8): Unknown destination type (ARM/Thumb) in ../Middlewares/ST/AI/Lib\NetworkRuntime1020_CM7_GCC.a(forward_lite_lstm_is8os8ws8.o)
forward_lite_lstm_is8os8ws8.c:(.text.forward_lite_lstm_is8os8ws8+0x2a8): dangerous relocation: unsupported relocation
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: ../Middlewares/ST/AI/Lib\NetworkRuntime1020_CM7_GCC.a(arm_nn_lstm_calculate_gate_s8_s16.o): in function `arm_nn_lstm_calculate_gate_s8_s16':
arm_nn_lstm_calculate_gate_s8_s16.c:(.text.arm_nn_lstm_calculate_gate_s8_s16+0x46): undefined reference to `arm_nn_vec_mat_mul_result_acc_s8_s16'
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (arm_nn_vec_mat_mul_result_acc_s8_s16): Unknown destination type (ARM/Thumb) in ../Middlewares/ST/AI/Lib\NetworkRuntime1020_CM7_GCC.a(arm_nn_lstm_calculate_gate_s8_s16.o)
arm_nn_lstm_calculate_gate_s8_s16.c:(.text.arm_nn_lstm_calculate_gate_s8_s16+0x46): dangerous relocation: unsupported relocation
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: arm_nn_lstm_calculate_gate_s8_s16.c:(.text.arm_nn_lstm_calculate_gate_s8_s16+0x6a): undefined reference to `arm_nn_vec_mat_mul_result_acc_s8_s16'
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: (arm_nn_vec_mat_mul_result_acc_s8_s16): Unknown destination type (ARM/Thumb) in ../Middlewares/ST/AI/Lib\NetworkRuntime1020_CM7_GCC.a(arm_nn_lstm_calculate_gate_s8_s16.o)
arm_nn_lstm_calculate_gate_s8_s16.c:(.text.arm_nn_lstm_calculate_gate_s8_s16+0x6a): dangerous relocation: unsupported relocation
C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081740/tools/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld.exe: ../Middlewares/ST/AI/Lib\NetworkRuntime1020_CM7_GCC.a(arm_nn_activation_s16.o): in function `arm_nn_activation_s16':
arm_nn_activation_s16.c:(.text.arm_nn_activation_s16+0x10c): undefined reference to `sigmoid_table_uint16'
collect2.exe: error: ld returned 1 exit status
make: *** [makefile:66: STMaitest.elf] Error 1
"make -j22 all" terminated with exit code 2. Build might be incomplete.
2026-04-22 3:03 PM - edited 2026-04-22 3:09 PM
We were able to avoid the issue by feeding a .h5 keras model into X-Cube-AI directly instead of using the LiteRT quantized model. However, the model size is far larger indicating that it's not being quantized (221KB flash LiteRT, 800KB k5), so not ideal.
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.