M5Atom Linking Problem

  • Hi all,

    I just successfully uploaded one of the examples onto my new M5Atom, after I changed the upload speed to 1500000. Now I wanted to proceed to make the unit into an MQTT button, but there seem to be a problem with the Arduino WIFI library together with the M5Atom library. I'm getting this error from the linker:

    Linking .pio\build\pico32\firmware.elf
    .pio\build\pico32\lib731\libFastLED_ID126.a(FastLED.cpp.o): In function `atexit':
    d:\Coding\C\m5atom/.pio\libdeps\pico32\FastLED_ID126/FastLED.cpp:236: multiple definition of `atexit'
    C:\users\florian\.platformio\packages\framework-arduinoespressif32\tools\sdk\lib\libc_nano.a(lib_a-atexit.o):/Users/ivan/e/newlib_xtensa-2.2.0-bin/newlib_xtensa-2.2.0/xtensa-esp32-elf/newlib/libc/stdlib/../../../.././newlib/libc/stdlib/atexit.c:64: first defined here

    My assumption is that the M5Nano library somehow has its own atexit implementation and therefore the linker is confused when it finds a second definition in the default espressif framework. I'm using platformio to build.

    Any help is highly appreciated.

  • Exact same issue here, specifically when using IotWebConf (example here). Haven't been able to narrow it down any further yet.

  • @Grey good to see that I'm not the only one having that issue. For now I switched to just using Micropython which works fine. Still it would be nice to also be able to deploy C programs to the Atom.