I’m trying to run a keyword recognition example (The Static buffer example) on an ESP32, in particular the MH ET LIVE MiniKit:
I built an impulse following the tutorial and downloaded it. It compiles for the Arduino Nano 33 BLE Sensor. (I don’t have a Nano 33 - yet). When I compile for the ESP32 I get the following compile errors:
…NNSupportFunctions\arm_nn_accumulate_q7_to_q15.c:57:22: error: implicit declaration of function ‘__PKHTB’ [-Werror=implicit-function-declaration]
vo2 = (q31_t)__PKHTB(v1, v2, 16);
^
vo1 = (q31_t)__PKHBT(v2, v1, 16);
^
cc1.exe: some warnings being treated as errors
As I know, esp32 is based on xtensa core, and maybe, i guess, EPON compiler has not cover the backend of xtensa.
As you mention, it’s might be a warning from a symbol your code not reference, you can try treat this warning not as error, and compile again to see the result.
Yes, I don’t understand why it is compiling for ARM - I specified ESP boards, and the compiler command line flags say ESP, not ARM. I will see if I can get the Arduino IDE to ignore the error.
@DougK@huntershuai We use CMSIS-DSP for all DSP code, but it has fallbacks for code on non-ARM systems. I wonder if adding this on top of your sketch works:
This code is already in the SDK (edge-impulse-sdk/CMSIS/DSP/Include/dsp/none.h) but guarded by some macros. I wonder if we should refine these for ESP32.