Troubleshooting Core2forAWS: ATECC608 secure element initialization error!



  • Hi,

    I am trying to use my new M5stack Core 2 for AWS following these workshops: https://edukit.workshop.aws/en/getting-started.html.

    I have tested the ESP RainMaker Agent and cloud connected “blinky". However, when the code is building on my M5Stack I get an abort message and the screen of my device remains white. The error I get is:

    ␛[0;31mE (22572) Core2forAWS: ATECC608 secure element initialization error!␛[0m

    abort() was called at PC 0x400d51c3 on core 0***

    Does any one have had dis problem or knows how to troubleshoot?

    Here I paste the terminal output.

    pio run --environment core2foraws --target upload --target monitor

    Processing core2foraws (platform: espressif32@3.2.1; framework: espidf; board: m5stack-core2)
    Verbose mode can be enabled via -v, --verbose option
    CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/m5stack-core2.html
    PLATFORM: Espressif 32 (3.2.1) > M5Stack Core2
    HARDWARE: ESP32 240MHz, 6.25MB RAM, 16MB Flash
    DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
    PACKAGES:

    • framework-espidf @ 3.40201.210513 (4.2.1)
    • tool-cmake @ 3.16.4
    • tool-esptoolpy @ 1.30000.201119 (3.0.0)
    • tool-mkspiffs @ 2.230.0 (2.30)
    • tool-ninja @ 1.9.0
    • toolchain-esp32ulp @ 1.22851.191205 (2.28.51)
    • toolchain-xtensa32 @ 2.80400.210211 (8.4.0)
      Reading CMake configuration...
      LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
      LDF Modes: Finder ~ chain, Compatibility ~ soft
      Found 0 compatible libraries
      Scanning dependencies...
      No dependencies
      Building in release mode
      Linking .pio/build/core2foraws/firmware.elf
      Retrieving maximum program size .pio/build/core2foraws/firmware.elf
      Checking size .pio/build/core2foraws/firmware.elf
      Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
      RAM: [ ] 0.9% (used 56112 bytes from 6553600 bytes)
      Flash: [== ] 15.5% (used 1014972 bytes from 6553600 bytes)
      Configuring upload protocol...
      AVAILABLE: esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa
      CURRENT: upload_protocol = esptool
      Looking for upload port...
      Auto-detected: /dev/cu.SLAB_USBtoUART
      Uploading .pio/build/core2foraws/firmware.bin
      esptool.py v3.0
      Serial port /dev/cu.SLAB_USBtoUART
      Connecting....
      Chip is ESP32-D0WDQ6-V3 (revision 3)
      Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
      Crystal is 40MHz
      MAC: 30:c6:f7:1d:11:c0
      Uploading stub...
      Running stub...
      Stub running...
      Changing baud rate to 2000000
      Changed.
      Configuring flash size...
      Auto-detected Flash size: 16MB
      Compressed 25184 bytes to 15298...
      Writing at 0x00001000... (100 %)
      Wrote 25184 bytes (15298 compressed) at 0x00001000 in 0.1 seconds (effective 1597.1 kbit/s)...
      Hash of data verified.
      Compressed 3072 bytes to 148...
      Writing at 0x00008000... (100 %)
      Wrote 3072 bytes (148 compressed) at 0x00008000 in 0.0 seconds (effective 2284.7 kbit/s)...
      Hash of data verified.
      Compressed 1015088 bytes to 638561...
      Writing at 0x00010000... (2 %)
      Writing at 0x00014000... (5 %)
      Writing at 0x00018000... (7 %)
      Writing at 0x0001c000... (10 %)
      Writing at 0x00020000... (12 %)
      Writing at 0x00024000... (15 %)
      Writing at 0x00028000... (17 %)
      Writing at 0x0002c000... (20 %)
      Writing at 0x00030000... (23 %)
      Writing at 0x00034000... (25 %)
      Writing at 0x00038000... (28 %)
      Writing at 0x0003c000... (30 %)
      Writing at 0x00040000... (33 %)
      Writing at 0x00044000... (35 %)
      Writing at 0x00048000... (38 %)
      Writing at 0x0004c000... (41 %)
      Writing at 0x00050000... (43 %)
      Writing at 0x00054000... (46 %)
      Writing at 0x00058000... (48 %)
      Writing at 0x0005c000... (51 %)
      Writing at 0x00060000... (53 %)
      Writing at 0x00064000... (56 %)
      Writing at 0x00068000... (58 %)
      Writing at 0x0006c000... (61 %)
      Writing at 0x00070000... (64 %)
      Writing at 0x00074000... (66 %)
      Writing at 0x00078000... (69 %)
      Writing at 0x0007c000... (71 %)
      Writing at 0x00080000... (74 %)
      Writing at 0x00084000... (76 %)
      Writing at 0x00088000... (79 %)
      Writing at 0x0008c000... (82 %)
      Writing at 0x00090000... (84 %)
      Writing at 0x00094000... (87 %)
      Writing at 0x00098000... (89 %)
      Writing at 0x0009c000... (92 %)
      Writing at 0x000a0000... (94 %)
      Writing at 0x000a4000... (97 %)
      Writing at 0x000a8000... (100 %)
      Wrote 1015088 bytes (638561 compressed) at 0x00010000 in 10.1 seconds (effective 807.7 kbit/s)...
      Hash of data verified.

    Leaving...
    Hard resetting via RTS pin...
    ======================================================= [SUCCESS] Took 37.79 seconds =======================================================
    --- Available filters and text transformations: colorize, debug, default, direct, esp32_exception_decoder, hexlify, log2file, nocontrol, printable, send_on_enter, time
    --- More details at https://bit.ly/pio-monitor-filters
    --- Miniterm on /dev/cu.SLAB_USBtoUART 115200,8,N,1 ---
    --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
    ␛[0;32mI (1055) spiram: SPI SRAM memory test OK␛[0m
    ␛[0;32mI (1056) heap_init: Initializing. RAM available for dynamic allocation:␛[0m
    ␛[0;32mI (1056) heap_init: At 3FFAE6E0 len 0000F480 (61 KiB): DRAM␛[0m
    ␛[0;32mI (1062) heap_init: At 3FFCB690 len 00014970 (82 KiB): DRAM␛[0m
    ␛[0;32mI (1068) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM␛[0m
    ␛[0;32mI (1075) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM␛[0m
    ␛[0;32mI (1081) heap_init: At 40093A30 len 0000C5D0 (49 KiB): IRAM␛[0m
    ␛[0;32mI (1088) cpu_start: Pro cpu start user code␛[0m
    ␛[0;32mI (1092) spiram: Adding pool of 4082K of external SPI memory to heap allocator␛[0m
    ␛[0;32mI (1113) spi_flash: detected chip: generic␛[0m
    ␛[0;32mI (1114) spi_flash: flash io: dio␛[0m
    ␛[0;32mI (1114) cpu_start: Starting scheduler on PRO CPU.␛[0m
    ␛[0;32mI (0) cpu_start: Starting scheduler on APP CPU.␛[0m
    ␛[0;32mI (1122) spiram: Reserving pool of 32K of internal memory for DMA/internal allocations␛[0m
    ␛[0;32mI (1342) ILI9341: Initialization.␛[0m
    ␛[0;32mI (1542) ILI9341: Display orientation: LANDSCAPE␛[0m
    ␛[0;32mI (1542) ILI9341: 0x36 command value: 0x08␛[0m
    ␛[0;32mI (1542) gpio: GPIO[39]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 1| Intr:3 ␛[0m
    ␛[0;32mI (1552) atecc608: Seeding the random number generator...␛[0m
    ␛[0;32mI (1552) atecc608: ok␛[0m
    components/esp-cryptoauthlib/cryptoauthlib/lib/calib/calib_read.c:103:f0:calib_read_zone - execution failed
    components/esp-cryptoauthlib/cryptoauthlib/lib/calib/calib_read.c:619:f0:calib_read_zone - falied
    ␛[0;32mI (22562) atecc608: Initializing ATECC608 secure element␛[0m
    ␛[0;32mI (22572) atecc608: FAILED atcab_init returned f0␛[0m
    ␛[0;31mE (22572) Core2forAWS: ATECC608 secure element initialization error!␛[0m

    abort() was called at PC 0x400d51c3 on core 0

    Backtrace:0x4008bad7:0x3ffb1e20 0x4008c181:0x3ffb1e40 0x40090306:0x3ffb1e60 0x400d51c3:0x3ffb1ed0 0x400d270b:0x3ffb1f10 0x400fe605:0x3ffb1f40 0x4008c189:0x3ffb1f70

    ELF file SHA256: 38b4676c834503a7

    Rebooting...