添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

So I have been trying to upload my code, however I keep getting this error anyone have any ideas as to why this is happening?

For context I am trying to use an I2S microphone in conjunction with an ESP32 to get voice recognition. Thank you!

C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:19:49: warning: ‘I2S_COMM_FORMAT_I2S’ is deprecated [-Wdeprecated-declarations]
.communication_format = i2s_comm_format_t(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB),
^~~~~~~~~~~~~~~~~~~
In file included from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/esp32/include/hal/i2s_ll.h:30,
from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/include/hal/i2s_hal.h:28,
from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/driver/include/driver/i2s.h:16,
from C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:2:
C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/include/hal/i2s_types.h:70:5: note: declared here
I2S_COMM_FORMAT_I2S attribute ((deprecated)) = 0x01, / !< I2S communication format I2S, correspond to I2S_COMM_FORMAT_STAND_I2S /
^~~~~~~~~~~~~~~~~~~
C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:19:71: warning: ‘I2S_COMM_FORMAT_I2S_MSB’ is deprecated [-Wdeprecated-declarations]
.communication_format = i2s_comm_format_t(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB),
^~~~~~~~~~~~~~~~~~~~~~~
In file included from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/esp32/include/hal/i2s_ll.h:30,
from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/include/hal/i2s_hal.h:28,
from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/driver/include/driver/i2s.h:16,
from C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:2:
C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/include/hal/i2s_types.h:71:5: note: declared here
I2S_COMM_FORMAT_I2S_MSB attribute ((deprecated)) = 0x01, / !< I2S format MSB, (I2S_COMM_FORMAT_I2S |I2S_COMM_FORMAT_I2S_MSB) correspond to I2S_COMM_FORMAT_STAND_I2S /
^~~~~~~~~~~~~~~~~~~~~~~
In file included from C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/speechpy.hpp:27,
from C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/classifier/ei_run_dsp.h:28,
from C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/classifier/ei_run_classifier.h:31,
from C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/speech-recognition-grow-tech_inferencing.h:41,
from C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:1:
C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp: In static member function ‘static int ei::speechpy::feature::mfe(ei::matrix_t*, ei::matrix_t*, ei::signal_t*, uint32_t, float, float, uint16_t, uint16_t, uint32_t, uint32_t, uint16_t)’:
C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp:323:5: error: insn does not satisfy its constraints:
(insn 2002 930 30 72 (set (reg:SF 20 f1 [orig:266 prephitmp_402 ] [266])
(mem/u/c:SF (symbol_ref/u:SI (“ .LC71") [flags 0x2]) [0 S4 A32])) “C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp”:154 47 {movsf_internal}
(nil))
during RTL pass: postreload
C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp:323:5: internal compiler error: in extract_constrain_insn, at recog.c:2210
Please submit a full bug report,
with preprocessed source if appropriate.
See https://gcc.gnu.org/bugs/ for instructions.
exit status 1
Error compiling for board ESP32 Wrover Module.
C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:19:49: warning: ‘I2S_COMM_FORMAT_I2S’ is deprecated [-Wdeprecated-declarations]
.communication_format = i2s_comm_format_t(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB),
^~~~~~~~~~~~~~~~~~~
In file included from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/esp32/include/hal/i2s_ll.h:30,
from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/include/hal/i2s_hal.h:28,
from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/driver/include/driver/i2s.h:16,
from C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:2:
C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/include/hal/i2s_types.h:70:5: note: declared here
I2S_COMM_FORMAT_I2S attribute ((deprecated)) = 0x01, /
!< I2S communication format I2S, correspond to I2S_COMM_FORMAT_STAND_I2S /
^~~~~~~~~~~~~~~~~~~
C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:19:71: warning: ‘I2S_COMM_FORMAT_I2S_MSB’ is deprecated [-Wdeprecated-declarations]
.communication_format = i2s_comm_format_t(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB),
^~~~~~~~~~~~~~~~~~~~~~~
In file included from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/esp32/include/hal/i2s_ll.h:30,
from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/include/hal/i2s_hal.h:28,
from C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/driver/include/driver/i2s.h:16,
from C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:2:
C:\Users\johnb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0/tools/sdk/esp32/include/hal/include/hal/i2s_types.h:71:5: note: declared here
I2S_COMM_FORMAT_I2S_MSB attribute ((deprecated)) = 0x01, /
!< I2S format MSB, (I2S_COMM_FORMAT_I2S |I2S_COMM_FORMAT_I2S_MSB) correspond to I2S_COMM_FORMAT_STAND_I2S /
^~~~~~~~~~~~~~~~~~~~~~~
In file included from C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/speechpy.hpp:27,
from C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/classifier/ei_run_dsp.h:28,
from C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/classifier/ei_run_classifier.h:31,
from C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/speech-recognition-grow-tech_inferencing.h:41,
from C:\Users\johnb\Downloads\esp32-speech-recognition-main\esp32-speech-recognition-main\main-program\main-program.ino:1:
C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp: In static member function 'static int ei::speechpy::feature::mfe(ei::matrix_t
, ei::matrix_t*, ei::signal_t*, uint32_t, float, float, uint16_t, uint16_t, uint32_t, uint32_t, uint16_t)':
C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp:323:5: error: insn does not satisfy its constraints:
(insn 2002 930 30 72 (set (reg:SF 20 f1 [orig:266 prephitmp_402 ] [266])
(mem/u/c:SF (symbol_ref/u:SI (”*.LC71") [flags 0x2]) [0 S4 A32])) “C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp”:154 47 {movsf_internal}
(nil))
during RTL pass: postreload
C:\Users\johnb\Documents\Arduino\libraries\speech-recognition-grow-tech_inferencing\src/edge-impulse-sdk/dsp/speechpy/feature.hpp:323:5: internal compiler error: in extract_constrain_insn, at recog.c:2210
Please submit a full bug report,
with preprocessed source if appropriate.
See https://gcc.gnu.org/bugs/ for instructions.
exit status 1
Error compiling for board ESP32 Wrover Module.

Thank you for getting back to me, I was able to follow the instructions from the other forum post and have expelled the other errors. Now I am left with only this error remaining:

c:/users/johnb/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/gcc8_4_0-esp-2021r2/bin/…/lib/gcc/xtensa-esp32-elf/8.4.0/…/…/…/…/xtensa-esp32-elf/bin/ld.exe: cannot open linker script file esp32.rom.redefined.ld: No such file or directory
collect2.exe: error: ld returned 1 exit status
exit status 1
Error compiling for board ESP32 Wrover Module.

I would appreciate any insight as to how I can resolve this!

The code and library for the keyword recognition can be found here:
github.com

Thank you for your help, I uninstalled and then reinstalled Arduino, ESP32, and all libraries and it compiled completely. Now I am trying to get my microphone (Adafruit I2S MEMS Microphone Breakout - SPH0645LM4H) to work with the code. I am not having much luck finding documented material and the only forum post has been this post however there does not seem to be a resolution to the underlying problem. If you have any ideas as to how I can potentially get started I would greatly appreciate it!

Hi @JVanlla ,

I recommend trying to record some basic sounds with the I2S microphone first before integrating it into the keyword spotting system. You will need to write your own I2S driver or find an existing one to get started, as I do not think that Arduino has a built-in I2S driver for the ESP32. There is a potential bug in the I2S code for the ESP32: https://hackaday.io/project/162059-street-sense/log/160705-new-i2s-microphone

Here are some other resources that might help:

  • https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/i2s.html
  • https://github.com/leonyuhanov/ESP32_MEMSMicrophone
  •