Deploying to my device STM32 NUCLEO-F401RE

So I made a program to acquire data from the ToF sensor VL53L0X from St. I was able to send the data go edge impulse with data forwarder and trained a model that will recognize gestures moving your hand from left to right and right to left.

I am ready to deploy…

I tried creating a project in cubeMX with an M4 NUCLEO-F401RE board. configured my UART, I2C and added the generated CMSIS-PACK and then i created a project using STM32CubeIDE

I added the code lines per
https://docs.edgeimpulse.com/docs/using-cubeai

Hit build but i get this errors

c:\st\stm32cubeide_1.7.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: ./Middlewares/Third_Party/EdgeImpulse_Gestures_MachineLearning/edgeimpulse/tflite-model/trained_model_compiled.o: in function `trained_model_init(void* (*)(unsigned int, unsigned int))': C:/Users/jorge/OneDrive/Documents/2.- Keil STM32 Projects/edgeimpulse/M4 new/deploytest on m4/Debug/../Middlewares/Third_Party/EdgeImpulse_Gestures_MachineLearning/edgeimpulse/tflite-model/trained_model_compiled.cpp:346: undefined reference to `tflite::Register_FULLY_CONNECTED()' c:\st\stm32cubeide_1.7.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\arm-none-eabi\bin\ld.exe: C:/Users/jorge/OneDrive/Documents/2.- Keil STM32 Projects/edgeimpulse/M4 new/deploytest on m4/Debug/../Middlewares/Third_Party/EdgeImpulse_Gestures_MachineLearning/edgeimpulse/tflite-model/trained_model_compiled.cpp:347: undefined reference to `tflite::Register_SOFTMAX()' collect2.exe: error: ld returned 1 exit status make: *** [makefile:121: deploytest on m4.elf] Error 1

Then my next question is that on this project we just copy the features of an existent classifier

what is the next step.?

To which function, do I need to feed my sensor data so that the model will give the output?

1 Like

Hi @buton just to confirm, you have your project set to C++ right? I’ve just exported your project and built for the NUCLEO-F401RE and that works:

Can you send a copy of your STM32Cube project to jan@edgeimpulse.com and I’ll take a look!

1 Like

Thanks @janjongboom will try again and send you the project

1 Like

Hi @buton, have you been able to make your gesture classification working ? Julien

Click on the “problems” tabs to see more details about the errors. That might give you more information as to what is causing the build problem.

But also, take a look here
I see some issues similar to mine, namely that your console output that says:

undefined reference to `tflite::Register_FULLY_CONNECTED()

undefined reference to `tflite::Register_SOFTMAX()

When this happened to me, I discovered that the source files that defined these functions were not generated and were missing from their respective folders upon deployment.

My specific issue related to the above post was resolved, but I think it might be cropping up in other areas as well? I’m not sure.

1 Like