I have an Adafruit EdgeBadge, and was trying to go through some of the example tutorials. I've installed the boards + the Tensorflow Lite libraries (2.4.0), but I'm getting an error compiling the example sketches (hello world and magic wand).
Code: Select all
Arduino: 1.8.19 (Mac OS X), Board: "Adafruit pyBadge M4 Express (SAMD51), Enabled, 180 MHz (overclock), Fastest (-Ofast), 50 MHz (standard), TinyUSB, Off"
Library Arduino_TensorFlowLite has been declared precompiled:
Precompiled library in "./Documents/Arduino/libraries/Arduino_TensorFlowLite/src/cortex-m4/fpv4-sp-d16-hard" not found
Precompiled library in "./Documents/Arduino/libraries/Arduino_TensorFlowLite/src/cortex-m4" not found
./Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/micro/tools/make/downloads/kissfft/kiss_fft.c: In function 'kiss_fft_stride':
./Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/micro/tools/make/downloads/kissfft/kiss_fft.c:378:9: warning: implicit declaration of function 'memcpy' [-Wimplicit-function-declaration]
378 | memcpy(fout,tmpbuf,sizeof(kiss_fft_cpx)*st->nfft);
| ^~~~~~
./Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/micro/tools/make/downloads/kissfft/kiss_fft.c:378:9: warning: incompatible implicit declaration of built-in function 'memcpy'
./Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/micro/tools/make/downloads/kissfft/kiss_fft.c:17:1: note: include '<string.h>' or provide a declaration of 'memcpy'
16 | #include "third_party/kissfft/_kiss_fft_guts.h"
+++ |+#include <string.h>
17 | /* The guts header contains all the multiplication and addition macros that are defined for
./Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: sketch/magic_wand.ino.cpp.o: in function `setup':
./Documents/Arduino/libraries/Arduino_TensorFlowLite/examples/magic_wand/magic_wand.ino:104: undefined reference to `SetupAccelerometer(tflite::ErrorReporter*)'
./Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: sketch/magic_wand.ino.cpp.o: in function `loop':
./Documents/Arduino/libraries/Arduino_TensorFlowLite/examples/magic_wand/magic_wand.ino:113: undefined reference to `ReadAccelerometer(tflite::ErrorReporter*, float*, int)'
./Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: ./Documents/Arduino/libraries/Arduino_TensorFlowLite/examples/magic_wand/magic_wand.ino:120: undefined reference to `begin_index'
./Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: ./Documents/Arduino/libraries/Arduino_TensorFlowLite/examples/magic_wand/magic_wand.ino:128: undefined reference to `HandleOutput(tflite::ErrorReporter*, int)'
./Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Arduino_TensorFlowLite/tensorflow/lite/micro/arduino/debug_log.cpp.o: in function `DebugLog':
./Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/micro/arduino/debug_log.cpp:34: undefined reference to `Adafruit_USBD_CDC::begin(unsigned long)'
./Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: ./Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/micro/arduino/debug_log.cpp:37: undefined reference to `Serial'
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board Adafruit pyBadge M4 Express (SAMD51).
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
My IDE is 1.8.19, running on an M1 Mac, running Big Sur.
I've tried switching to earlier versions of the TensorflowLite library, but 1.15 is missing some required .h files for the examples. Using 2.1.0 (all alpha, not pre-compiled) gives the same result as 2.4.0.
Any suggestions/help/insights would be great!
Cheers!