A very foolish question about“On your Mbed-enabled development board”

I am a beginner who has just started learning. In the document, I see the directory structure as follows
example-standalone-inferencing-mbed
|_ Makefile
|_ README.md
|_ build.sh
|_ edge-impulse-sdk
|_ model-parameters
|_ source
|_ tflite-model
But I can’t find the makefile and build.sh file, can someone tell me how to obtain these two files? Thank you very much

1 Like

Hello @landrock0720,

Oh it seems that this doc page is outdated. Indeed it does not match.
Adding a task internally to update that documentation page/repo.

I’ll let you know when it’s fixed.

Best,

Louis

Thank you very much!

Let me know if you can make it work even if the directory structure is not the same (I suspect we copy/pasted a wrong directory structure). Here is what I got.

Screen Shot 2023-04-21 at 11.42.46

Best,

Louis

Hi @landrock0720

The wording was not very clear, but you need to export your project as a C++ library at the deployment step.

Unzip the contents of your project and then paste that into the example-standalone-inferencing-mbed
folder.

I’ve updated the docs, but if you want to try the above steps that should get you to the deployment to your device.

Best

Eoin

Hi, Thank you very much for your reply.
Sorry, the previous post did not provide a clear description. Please allow me to introduce my operation details.
I used keil studio cloud for the deployment. First, I select clone from url and get an mbed os project.

1682076332896

Then, I upload the files extracted by zip to the project path and compile.

The compilation fails. Here are some error messages


Error: L6218E: Undefined symbol cos_factorsQ31_128 (referred from …/…/build/edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/arm_dct4_init_q31.DISCO_F746NG.o).
Error: L6218E: Undefined symbol cos_factorsQ31_2048 (referred from …/…/build/edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/arm_dct4_init_q31.DISCO_F746NG.o).
Error: L6218E: Undefined symbol cos_factorsQ31_512 (referred from …/…/build/edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/arm_dct4_init_q31.DISCO_F746NG.o).
Error: L6218E: Undefined symbol cos_factorsQ31_8192 (referred from …/…/build/edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/arm_dct4_init_q31.DISCO_F746NG.o).
Error: L6218E: Undefined symbol realCoefA (referred from …/…/build/edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/arm_rfft_init_f32.DISCO_F746NG.o).
Error: L6218E: Undefined symbol realCoefB (referred from …/…/build/edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/arm_rfft_init_f32.DISCO_F746NG.o).
Finished: 0 information, 19 warning and 115 error messages.
Internal error.
Build failed
Build failed

I would like to know the difference between using keil studio cloud for compilation and using mbed CLI for compilation. I roughly believe that the two should be similar. I would greatly appreciate it if you could answer my doubts.
sincerely

Sorry, the previous post did not provide a clear description. Please allow me to introduce my operation details.
I used keil studio cloud for the deployment. First, I select clone from url and get an mbed os project.

Then, I upload the files extracted by zip to the project path and compile.

The compilation fails. Here are some error messages


Error: L6218E: Undefined symbol cos_factorsQ31_128 (referred from …/…/build/edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/arm_dct4_init_q31.DISCO_F746NG.o).
Error: L6218E: Undefined symbol cos_factorsQ31_2048 (referred from …/…/build/edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/arm_dct4_init_q31.DISCO_F746NG.o).
Error: L6218E: Undefined symbol cos_factorsQ31_512 (referred from …/…/build/edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/arm_dct4_init_q31.DISCO_F746NG.o).
Error: L6218E: Undefined symbol cos_factorsQ31_8192 (referred from …/…/build/edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/arm_dct4_init_q31.DISCO_F746NG.o).
Error: L6218E: Undefined symbol realCoefA (referred from …/…/build/edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/arm_rfft_init_f32.DISCO_F746NG.o).
Error: L6218E: Undefined symbol realCoefB (referred from …/…/build/edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/arm_rfft_init_f32.DISCO_F746NG.o).
Finished: 0 information, 19 warning and 115 error messages.
Internal error.
Build failed
Build failed

I would like to know the difference between using keil studio cloud for compilation and using mbed CLI for compilation. I roughly believe that the two should be similar. I would greatly appreciate it if you could answer my doubts.
sincerely

Hi @landrock0720

I’m not familiar with this as a deployment mechanism. Can you install mbed and follow the steps in our mbed cli guide exactly first before trying an undocumented method?

Best

Eoin

Hi @landrock0720

Keil Studio is an IoT platform created by arm for their mbed deployments, if you want to check out their forum they may have some suggestions for working with external libraries.

As a beginner you may be better off following one of our Arduino Library Guide, Device Specific Firmware, or Mobile Phone examples. Depending on the device and level you are at.

Best

Eoin

Thank you very much for your reply. I have just successfully deployed my model to the development board using the mbed CLI, despite some differences in the directory structure. At that time, I thought that Keil Studio Cloud had a graphical interface, which may be more suitable for beginners to choose to use, and it was a new platform launched by arm. I would greatly appreciate it if we could launch corresponding tutorials to keep up with the times.

1 Like

Thanks @landrock0720,

If you wish to use Keil Studio, right now. I would recommend following the As a generic C++ library Guide.

We will take note of your suggestion though. Thanks!

Best

Eoin