Error compiling for board ESP32 S3

Hi, I’m trying compile the arduino example of my proyect in ESP32 S3

Project ID:156286

Using this configuration:

Screenshot 2022-12-23 022923

And the log is this:

Arduino:1.8.19 (Windows 10), Tarjeta:“ESP32S3 Dev Module, OPI PSRAM, QIO 80MHz, 8MB (64Mb), Core 1, Core 1, Hardware CDC and JTAG, Disabled, Disabled, Disabled, UART0 / Hardware CDC, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi), 921600, None, Disabled”

c:/users/cvega/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/…/lib/gcc/xtensa-esp32s3-elf/8.4.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld.exe: libraries\Sound_test_inferencing\edge-impulse-sdk\porting\espressif\ESP-NN\src\convolution\objs.a(esp_nn_conv_esp32s3.c.o):(.literal.esp_nn_conv_s8_esp32s3+0x8): undefined reference to `esp_nn_conv_s8_mult8_1x1_esp32s3’

c:/users/cvega/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/…/lib/gcc/xtensa-esp32s3-elf/8.4.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld.exe: libraries\Sound_test_inferencing\edge-impulse-sdk\porting\espressif\ESP-NN\src\convolution\objs.a(esp_nn_conv_esp32s3.c.o):(.literal.esp_nn_conv_s8_esp32s3+0xc): undefined reference to `esp_nn_s8_to_s16_esp32s3’

c:/users/cvega/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/…/lib/gcc/xtensa-esp32s3-elf/8.4.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld.exe: libraries\Sound_test_inferencing\edge-impulse-sdk\porting\espressif\ESP-NN\src\convolution\objs.a(esp_nn_conv_esp32s3.c.o):(.literal.esp_nn_conv_s8_esp32s3+0x10): undefined reference to `esp_nn_aligned_s8_to_s16_with_offset_esp32s3’

c:/users/cvega/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/…/lib/gcc/xtensa-esp32s3-elf/8.4.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld.exe: libraries\Sound_test_inferencing\edge-impulse-sdk\porting\espressif\ESP-NN\src\convolution\objs.a(esp_nn_conv_esp32s3.c.o):(.literal.esp_nn_conv_s8_esp32s3+0x14): undefined reference to `esp_nn_conv_s16_mult4_1x1_esp32s3’

c:/users/cvega/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/…/lib/gcc/xtensa-esp32s3-elf/8.4.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld.exe: libraries\Sound_test_inferencing\edge-impulse-sdk\porting\espressif\ESP-NN\src\convolution\objs.a(esp_nn_conv_esp32s3.c.o):(.literal.esp_nn_conv_s8_esp32s3+0x18): undefined reference to `esp_nn_conv_s16_mult8_esp32s3’

c:/users/cvega/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/…/lib/gcc/xtensa-esp32s3-elf/8.4.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld.exe: libraries\Sound_test_inferencing\edge-impulse-sdk\porting\espressif\ESP-NN\src\convolution\objs.a(esp_nn_conv_esp32s3.c.o): in function `esp_nn_conv_s8_esp32s3’:

D:\Documents\Arduino\libraries\Sound_test_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\convolution/esp_nn_conv_esp32s3.c:422: undefined reference to `esp_nn_conv_s8_mult8_1x1_esp32s3’

c:/users/cvega/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/…/lib/gcc/xtensa-esp32s3-elf/8.4.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld.exe: D:\Documents\Arduino\libraries\Sound_test_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\convolution/esp_nn_conv_esp32s3.c:431: undefined reference to `esp_nn_s8_to_s16_esp32s3’

c:/users/cvega/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/…/lib/gcc/xtensa-esp32s3-elf/8.4.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld.exe: D:\Documents\Arduino\libraries\Sound_test_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\convolution/esp_nn_conv_esp32s3.c:432: undefined reference to `esp_nn_aligned_s8_to_s16_with_offset_esp32s3’

c:/users/cvega/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/…/lib/gcc/xtensa-esp32s3-elf/8.4.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld.exe: D:\Documents\Arduino\libraries\Sound_test_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\convolution/esp_nn_conv_esp32s3.c:433: undefined reference to `esp_nn_conv_s16_mult4_1x1_esp32s3’

c:/users/cvega/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/…/lib/gcc/xtensa-esp32s3-elf/8.4.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld.exe: D:\Documents\Arduino\libraries\Sound_test_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\convolution/esp_nn_conv_esp32s3.c:438: undefined reference to `esp_nn_s8_to_s16_esp32s3’

c:/users/cvega/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/…/lib/gcc/xtensa-esp32s3-elf/8.4.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld.exe: D:\Documents\Arduino\libraries\Sound_test_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\convolution/esp_nn_conv_esp32s3.c:439: undefined reference to `esp_nn_aligned_s8_to_s16_with_offset_esp32s3’

c:/users/cvega/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/…/lib/gcc/xtensa-esp32s3-elf/8.4.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld.exe: D:\Documents\Arduino\libraries\Sound_test_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\convolution/esp_nn_conv_esp32s3.c:440: undefined reference to `esp_nn_conv_s16_mult8_esp32s3’

c:/users/cvega/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/…/lib/gcc/xtensa-esp32s3-elf/8.4.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld.exe: libraries\Sound_test_inferencing\edge-impulse-sdk\tensorflow\lite\micro\kernels\objs.a(fully_connected.cpp.o):(.literal._ZN6tflite12_GLOBAL__N_14EvalEP13TfLiteContextP10TfLiteNode+0x8): undefined reference to `esp_nn_fully_connected_s8_esp32s3’

c:/users/cvega/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/…/lib/gcc/xtensa-esp32s3-elf/8.4.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld.exe: libraries\Sound_test_inferencing\edge-impulse-sdk\tensorflow\lite\micro\kernels\objs.a(fully_connected.cpp.o): in function `tflite::(anonymous namespace)::Eval(TfLiteContext*, TfLiteNode*)’:

D:\Documents\Arduino\libraries\Sound_test_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels/fully_connected.cpp:1272: undefined reference to `esp_nn_fully_connected_s8_esp32s3’

c:/users/cvega/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/…/lib/gcc/xtensa-esp32s3-elf/8.4.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld.exe: libraries\Sound_test_inferencing\edge-impulse-sdk\tensorflow\lite\micro\kernels\objs.a(pooling.cpp.o):(.literal._ZN6tflite3ops5micro7pooling7MaxEvalEP13TfLiteContextP10TfLiteNode+0x8): undefined reference to `esp_nn_max_pool_s8_esp32s3’

c:/users/cvega/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/…/lib/gcc/xtensa-esp32s3-elf/8.4.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld.exe: libraries\Sound_test_inferencing\edge-impulse-sdk\tensorflow\lite\micro\kernels\objs.a(pooling.cpp.o): in function `tflite::ops::micro::pooling::MaxEval(TfLiteContext*, TfLiteNode*)’:

D:\Documents\Arduino\libraries\Sound_test_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels/pooling.cpp:1485: undefined reference to `esp_nn_max_pool_s8_esp32s3’

collect2.exe: error: ld returned 1 exit status

exit status 1

Error compilando para la tarjeta ESP32S3 Dev Module.

Hi @cvegacristian,

Our official support for ESP32 requires ESP IDF.

You may be able to use Arduino IDE but without hardware acceleration, see more information in this post: I am gettting error whiile compiling arduino code - #13 by AIWintermuteAI

Aurelien

Hello @cvegacristian,

Actually, our Arduino Library since a couple of weeks support esp-nn hardware acceleration.
However, the supported version is the esp32 chip not the esp32-s3.

Best,

Louis

Hello @louis,

I am working on ESP-IDF v5.1.2 for Keyword Spotting project. I downloaded C++ library deployment from Edge impulse, I set target hardware as ESP32-EYE.
When I compile for ESP32 then it is fine.
But when I compile for ESP32-S3 then following error occurs. Please tell me how to fix those error.
/home/lhagva/esp/audio-classification1-v7/edge-impulse-sdk/tensorflow/lite/micro/kernels/fully_connected.cc:1536: undefined reference to esp_nn_fully_connected_s8_esp32s3' /home/lhagva/.espressif/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: esp-idf/main/libmain.a(pooling.cc.obj):(.literal._ZN6tflite12_GLOBAL__N_116MaxEvalQuantizedEP13TfLiteContextP10TfLiteNodeP16TfLitePoolParamsPKNS_13OpDataPoolingEPK16TfLiteEvalTensorPSA_+0x0): undefined reference to esp_nn_max_pool_s8_esp32s3’
/home/lhagva/.espressif/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/…/lib/gcc/xtensa-esp32s3-elf/12.2.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld: esp-idf/main/libmain.a(pooling.cc.obj): in function _ZN6tflite12_GLOBAL__N_116MaxEvalQuantizedEP13TfLiteContextP10TfLiteNodeP16TfLitePoolParamsPKNS_13OpDataPoolingEPK16TfLiteEvalTensorPSA_': /home/lhagva/esp/audio-classification1-v7/edge-impulse-sdk/tensorflow/lite/micro/kernels/pooling.cc:1306: undefined reference to esp_nn_max_pool_s8_esp32s3’
/home/lhagva/.espressif/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/…/lib/gcc/xtensa-esp32s3-elf/12.2.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld: esp-idf/main/libmain.a(esp_nn_conv_esp32s3.c.obj):(.literal.esp_nn_conv_s8_esp32s3+0x4): undefined reference to esp_nn_conv_s8_mult8_1x1_esp32s3' /home/lhagva/.espressif/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: esp-idf/main/libmain.a(esp_nn_conv_esp32s3.c.obj):(.literal.esp_nn_conv_s8_esp32s3+0x8): undefined reference to esp_nn_conv_s8_filter_aligned_input_padded_esp32s3’
/home/lhagva/.espressif/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/…/lib/gcc/xtensa-esp32s3-elf/12.2.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld: esp-idf/main/libmain.a(esp_nn_conv_esp32s3.c.obj): in function esp_nn_conv_s8_esp32s3': /home/lhagva/esp/audio-classification1-v7/edge-impulse-sdk/porting/espressif/ESP-NN/src/convolution/esp_nn_conv_esp32s3.c:225: undefined reference to esp_nn_conv_s8_mult8_1x1_esp32s3’
/home/lhagva/.espressif/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/…/lib/gcc/xtensa-esp32s3-elf/12.2.0/…/…/…/…/xtensa-esp32s3-elf/bin/ld: /home/lhagva/esp/audio-classification1-v7/edge-impulse-sdk/porting/espressif/ESP-NN/src/convolution/esp_nn_conv_esp32s3.c:265: undefined reference to `esp_nn_conv_s8_filter_aligned_input_padded_esp32s3’
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

Thank you and best regards,
Lhagva