TDDに挑戦
ソフトウェアを開発するにあたって必ずテストを行っていると思います。
しかし、テストというものはその重要性に反して不十分な実施となっていることがよく見受けられます。
このような実態に対して、改善しようとするアプローチがTDDです。TDDではプログラムによるテストを実施することで、テスト漏れや判定ミスを回避しようというする取り組みです。
そしてTDDのメリットは、プログラムを編集した際に作ってしまうバグの発見にあると筆者は考えています。
ESP-IDFのアプローチ
ESP-IDFにおいても、Unityをベースにした単体テストフレームワークが提供されてます。
Espressifの公式ドキュメントであるUnit Testing in ESP32を見ると、
- テストケースをコーディングする
- テスト用バイナリーを作成して、実機に焼く
- 実機でテストを実行する
といったステップを踏むことを推奨しているようです。
単体テスト用バイナリの作成方法は
Change into tools/unit-test-app directory to configure and build it:
- make menuconfig - configure unit test app.
- make TESTS_ALL=1 - build unit test app with tests for each component having tests in the
test
subdirectory.- make TEST_COMPONENTS=’xxx’ - build unit test app with tests for specific components.
と、あります。
ここには、以前インストールしたMSYS2環境下のESP-IFDのtools/unit-test-app
ディレクトリに移動して、make
するように説明されています。
しかしこれでは、ESP-IDF環境を汚すことになります。複数のプロジェクトを並行して進めている場合などでは、しなくてよいはずのコンパイルが行われることになります。時間の無駄です。
時間の無駄だけであればまだましですが、必要なモジュールのコンパイルがされない可能性もあります。
全く理解できないアプローチです。
仕方がないので、別のアプローチを探すことにします。
何はともあれコンポーネントを作成
まずはコンポーネントを作成することにします。components
ディレクトリを作成して、その配下にmy_string
ディレクトリを作成します。
さらに、my_stringディレクトリの配下にinclude
、src
、test
の3ディレクトリを作成します。
includeディレクトリの配下にmystring.h
ファイルを作成し、次のように記述します。
components¥include¥mystring.h
#ifdef __cplusplus extern "C" { #endif char *ltirim(char *, const char **); #ifdef __cplusplus } #endif
srcディレクトリの配下にはtrim.c
ファイルを作成し、次のように記述します。
components¥src¥trim.c
#include <mystring.h> char *ltirim(char *src, const char **swsps) { return src; }
my_stringディレクトリの直下にはcomponent.mk
ファイルを作成し、次のように記述します。
components¥component.mk
COMPONENT_ADD_INCLUDEDIRS := include COMPONENT_SRCDIRS := src
見てわかると思いますが、
テストスクリプトを作成
このltrim関数についてテストスクリプトを作成します。
testディレクトリの配下にtest_mystring.c
ファイルを作成し、次のように記述します。
components¥test¥test_mystring.c
#include <unity.h> #include <mystring.h> const char *wsps[] = {" ", "\t", "\x0d", "\x0a", NULL}; TEST_CASE("Left trim.", "[mystring]") { char *src = "Trim test.\tData:\r\n123"; TEST_ASSERT_EQUAL_STRING(ltirim(src, wsps), src); }
テストケースを1つ作成しました。
次に、このテストスクリプトをmakeするcomponent.mk
を同じくtestディレクトリの配下に作成し、次のように記述します。
components¥test¥component.mk
COMPONENT_ADD_LDFLAGS = -Wl,--whole-archive -l$(COMPONENT_NAME) -Wl,--no-whole-archive
unit-test-appディレクトリをコピーしてみる
いよいよUnit test用のバイナリーのコンパイルです。
ここからは、公式ドキュメントを参考にしつつも手探りで進めていくことになります。
まずはMSYS2環境課のunit-test-app
ディレクトリを
プロジェクトのソースディレクトリにコピーします。
次に、mingw32.exeを起動します。
カレントディレクトリを、コピーしたunit-test-appディレクトリに移動します。
$ cd /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/ ↵
menuconfig を実行します。
$ make menuconfig ↵
コンパイルをします。
$ make flash TESTS_ALL=1 ↵ not linking libsodium tests, use 'TEST_COMPONENTS=libsodium' to test it CC build/bootloader/bootloader_support/src/bootloader_random.o CC build/bootloader/bootloader_support/src/flash_encrypt.o CC build/bootloader/bootloader_support/src/bootloader_sha.o CC build/bootloader/bootloader_support/src/esp_image_format.o CC build/bootloader/bootloader_support/src/flash_partitions.o CC build/bootloader/bootloader_support/src/secure_boot_signatures.o CC build/bootloader/bootloader_support/src/bootloader_clock.o CC build/bootloader/bootloader_support/src/secure_boot.o CC build/bootloader/bootloader_support/src/efuse.o CC build/bootloader/bootloader_support/src/bootloader_flash.o AR build/bootloader/bootloader_support/libbootloader_support.a CC build/bootloader/log/log.o AR build/bootloader/log/liblog.a CC build/bootloader/spi_flash/spi_flash_rom_patch.o AR build/bootloader/spi_flash/libspi_flash.a CC build/bootloader/micro-ecc/micro-ecc/uECC.o AR build/bootloader/micro-ecc/libmicro-ecc.a CC build/bootloader/soc/esp32/rtc_clk.o CC build/bootloader/soc/esp32/rtc_time.o CC build/bootloader/soc/esp32/rtc_sleep.o CC build/bootloader/soc/esp32/rtc_init.o CC build/bootloader/soc/esp32/soc_memory_layout.o CC build/bootloader/soc/esp32/cpu_util.o CC build/bootloader/soc/esp32/rtc_pm.o AR build/bootloader/soc/libsoc.a CC build/bootloader/main/flash_qio_mode.o CC build/bootloader/main/bootloader_start.o AR build/bootloader/main/libmain.a LD build/bootloader/bootloader.elf esptool.py v2.1 Building partitions from /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/partition_table_unit_test_app.csv... CC build/app_trace/app_trace.o CC build/app_trace/host_file_io.o CC build/app_trace/app_trace_util.o CC build/app_trace/gcov/gcov_rtio.o AR build/app_trace/libapp_trace.a CC build/app_update/esp_ota_ops.o AR build/app_update/libapp_update.a AR build/aws_iot/libaws_iot.a CC build/bootloader_support/src/bootloader_random.o CC build/bootloader_support/src/flash_encrypt.o CC build/bootloader_support/src/bootloader_sha.o CC build/bootloader_support/src/esp_image_format.o CC build/bootloader_support/src/flash_partitions.o CC build/bootloader_support/src/secure_boot_signatures.o CC build/bootloader_support/src/bootloader_clock.o CC build/bootloader_support/src/secure_boot.o CC build/bootloader_support/src/efuse.o CC build/bootloader_support/src/bootloader_flash.o AR build/bootloader_support/libbootloader_support.a CC build/bt/bt.o AR build/bt/libbt.a CC build/coap/libcoap/src/address.o CC build/coap/libcoap/src/async.o CC build/coap/libcoap/src/block.o CC build/coap/libcoap/src/coap_time.o CC build/coap/libcoap/src/debug.o CC build/coap/libcoap/src/encode.o CC build/coap/libcoap/src/hashkey.o CC build/coap/libcoap/src/mem.o CC build/coap/libcoap/src/net.o CC build/coap/libcoap/src/option.o CC build/coap/libcoap/src/pdu.o CC build/coap/libcoap/src/resource.o CC build/coap/libcoap/src/str.o CC build/coap/libcoap/src/subscribe.o CC build/coap/libcoap/src/uri.o CC build/coap/port/coap_io_socket.o AR build/coap/libcoap.a CC build/console/linenoise/linenoise.o CC build/console/argtable3/argtable3.o CC build/console/commands.o CC build/console/split_argv.o AR build/console/libconsole.a CXX build/cxx/cxx_exception_stubs.o CXX build/cxx/cxx_guards.o AR build/cxx/libcxx.a CC build/driver/rtc_module.o CC build/driver/i2c.o CC build/driver/sdmmc_host.o CC build/driver/spi_slave.o CC build/driver/sdmmc_transaction.o CC build/driver/mcpwm.o CC build/driver/rmt.o CC build/driver/sdspi_crc.o CC build/driver/pcnt.o CC build/driver/timer.o CC build/driver/gpio.o CC build/driver/sdspi_host.o CC build/driver/ledc.o CC build/driver/periph_ctrl.o CC build/driver/i2s.o CC build/driver/sdspi_transaction.o CC build/driver/uart.o CC build/driver/sigmadelta.o CC build/driver/spi_master.o CC build/driver/spi_common.o AR build/driver/libdriver.a CC build/esp32/int_wdt.o CC build/esp32/brownout.o CC build/esp32/system_api.o CC build/esp32/restore.o CC build/esp32/dport_access.o CC build/esp32/esp_timer.o CC build/esp32/hw_random.o CC build/esp32/pm_esp32.o CC build/esp32/event_loop.o CC build/esp32/pm_locks.o CC build/esp32/core_dump.o CC build/esp32/ets_timer_legacy.o CC build/esp32/intr_alloc.o CC build/esp32/ipc.o CC build/esp32/cache_err_int.o CC build/esp32/fast_crypto_ops.o CC build/esp32/freertos_hooks.o CC build/esp32/clk.o CC build/esp32/spiram_psram.o CC build/esp32/esp_timer_esp32.o CC build/esp32/wifi_init.o CC build/esp32/pm_trace.o CC build/esp32/phy_init.o CC build/esp32/crosscore_int.o CC build/esp32/wifi_internal.o CC build/esp32/gdbstub.o CC build/esp32/lib_printf.o CC build/esp32/cpu_start.o CC build/esp32/spiram.o CC build/esp32/sleep_modes.o CC build/esp32/smartconfig.o CC build/esp32/task_wdt.o CC build/esp32/event_default_handlers.o CC build/esp32/stack_check.o CC build/esp32/panic.o CC build/esp32/hwcrypto/aes.o CC build/esp32/hwcrypto/sha.o AS build/esp32/dport_panic_highint_hdl.o AR build/esp32/libesp32.a CC build/esp_adc_cal/esp_adc_cal.o AR build/esp_adc_cal/libesp_adc_cal.a CC build/ethernet/emac_main.o CC build/ethernet/emac_dev.o CC build/ethernet/eth_phy/phy_tlk110.o CC build/ethernet/eth_phy/phy_lan8720.o CC build/ethernet/eth_phy/phy_common.o AR build/ethernet/libethernet.a CC build/expat/library/xmltok_impl.o CC build/expat/library/xmlrole.o CC build/expat/library/xmlparse.o CC build/expat/library/xmltok.o CC build/expat/library/xmltok_ns.o CC build/expat/port/chardata.o CC build/expat/port/expat_element.o CC build/expat/port/minicheck.o AR build/expat/libexpat.a CC build/fatfs/src/diskio.o CC build/fatfs/src/vfs_fat.o CC build/fatfs/src/diskio_spiflash.o CC build/fatfs/src/vfs_fat_spiflash.o CC build/fatfs/src/diskio_sdmmc.o CC build/fatfs/src/vfs_fat_sdmmc.o CC build/fatfs/src/ffunicode.o CC build/fatfs/src/ff.o CC build/fatfs/src/ffsystem.o AR build/fatfs/libfatfs.a CC build/freertos/xtensa_overlay_os_hook.o CC build/freertos/FreeRTOS-openocd.o CC build/freertos/timers.o CC build/freertos/tasks.o CC build/freertos/event_groups.o CC build/freertos/port.o CC build/freertos/xtensa_init.o CC build/freertos/list.o CC build/freertos/croutine.o CC build/freertos/queue.o CC build/freertos/xtensa_intr.o CC build/freertos/ringbuf.o AS build/freertos/portasm.o AS build/freertos/xtensa_vector_defaults.o AS build/freertos/xtensa_vectors.o AS build/freertos/xtensa_context.o AS build/freertos/xtensa_intr_asm.o AR build/freertos/libfreertos.a CC build/heap/heap_caps_init.o CC build/heap/heap_caps.o CC build/heap/multi_heap.o CC build/heap/heap_trace.o CC build/heap/multi_heap_poisoning.o AR build/heap/libheap.a AR build/idf_test/libidf_test.a CC build/jsmn/src//jsmn.o AR build/jsmn/libjsmn.a CC build/json/cJSON/cJSON.o CC build/json/cJSON/test.o CC build/json/cJSON/cJSON_Utils.o AR build/json/libjson.a CC build/libsodium/port/randombytes_esp32.o CC build/libsodium/libsodium/src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.o CC build/libsodium/libsodium/src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.o CC build/libsodium/libsodium/src/libsodium/crypto_auth/crypto_auth.o CC build/libsodium/libsodium/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.o CC build/libsodium/libsodium/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.o CC build/libsodium/libsodium/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.o CC build/libsodium/libsodium/src/libsodium/crypto_box/crypto_box_easy.o CC build/libsodium/libsodium/src/libsodium/crypto_box/crypto_box.o CC build/libsodium/libsodium/src/libsodium/crypto_box/crypto_box_seal.o CC build/libsodium/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.o CC build/libsodium/libsodium/src/libsodium/crypto_core/curve25519/ref10/curve25519_ref10.o CC build/libsodium/libsodium/src/libsodium/crypto_core/hchacha20/core_hchacha20.o CC build/libsodium/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.o CC build/libsodium/libsodium/src/libsodium/crypto_core/hsalsa20/core_hsalsa20.o CC build/libsodium/libsodium/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/crypto_generichash.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/generichash_blake2.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.o CC build/libsodium/libsodium/src/libsodium/crypto_hash/crypto_hash.o CC build/libsodium/libsodium/src/libsodium/crypto_hash/sha256/hash_sha256.o CC build/libsodium/libsodium/src/libsodium/crypto_hash/sha512/hash_sha512.o CC build/libsodium/libsodium/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.o CC build/libsodium/libsodium/src/libsodium/crypto_kdf/crypto_kdf.o CC build/libsodium/libsodium/src/libsodium/crypto_kx/crypto_kx.o CC build/libsodium/libsodium/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.o CC build/libsodium/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.o CC build/libsodium/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-encoding.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/blake2b-long.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/crypto_pwhash.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.o CC build/libsodium/libsodium/src/libsodium/crypto_scalarmult/crypto_scalarmult.o CC build/libsodium/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.o CC build/libsodium/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.o CC build/libsodium/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox.o CC build/libsodium/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox_easy.o CC build/libsodium/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.o CC build/libsodium/libsodium/src/libsodium/crypto_shorthash/crypto_shorthash.o CC build/libsodium/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.o CC build/libsodium/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.o CC build/libsodium/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.o CC build/libsodium/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.o CC build/libsodium/libsodium/src/libsodium/crypto_sign/crypto_sign.o CC build/libsodium/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519.o CC build/libsodium/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.o CC build/libsodium/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.o CC build/libsodium/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.o CC build/libsodium/libsodium/src/libsodium/crypto_sign/ed25519/ref10/obsolete.o CC build/libsodium/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.o CC build/libsodium/libsodium/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.o CC build/libsodium/libsodium/src/libsodium/crypto_stream/crypto_stream.o CC build/libsodium/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20.o CC build/libsodium/libsodium/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.o CC build/libsodium/libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.o CC build/libsodium/libsodium/src/libsodium/crypto_verify/sodium/verify.o CC build/libsodium/libsodium/src/libsodium/randombytes/randombytes.o CC build/libsodium/libsodium/src/libsodium/sodium/utils.o CC build/libsodium/libsodium/src/libsodium/sodium/runtime.o CC build/libsodium/libsodium/src/libsodium/sodium/version.o CC build/libsodium/libsodium/src/libsodium/sodium/core.o CC build/libsodium/libsodium/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.o CC build/libsodium/libsodium/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.o AR build/libsodium/liblibsodium.a CC build/log/log.o AR build/log/liblog.a CC build/lwip/api/sockets.o CC build/lwip/api/api_msg.o CC build/lwip/api/err.o CC build/lwip/api/netbuf.o CC build/lwip/api/tcpip.o CC build/lwip/api/netifapi.o CC build/lwip/api/api_lib.o CC build/lwip/api/netdb.o CC build/lwip/api/pppapi.o CC build/lwip/apps/dhcpserver.o CC build/lwip/apps/sntp/sntp.o CC build/lwip/apps/ping/esp_ping.o CC build/lwip/apps/ping/ping.o CC build/lwip/core/tcp_out.o CC build/lwip/core/udp.o CC build/lwip/core/def.o CC build/lwip/core/timers.o CC build/lwip/core/stats.o CC build/lwip/core/netif.o CC build/lwip/core/pbuf.o CC build/lwip/core/tcp_in.o CC build/lwip/core/raw.o CC build/lwip/core/ip.o CC build/lwip/core/dns.o CC build/lwip/core/tcp.o CC build/lwip/core/sys.o CC build/lwip/core/memp.o CC build/lwip/core/init.o CC build/lwip/core/inet_chksum.o CC build/lwip/core/mem.o CC build/lwip/core/ipv4/icmp.o CC build/lwip/core/ipv4/autoip.o CC build/lwip/core/ipv4/ip4.o CC build/lwip/core/ipv4/igmp.o CC build/lwip/core/ipv4/ip4_addr.o CC build/lwip/core/ipv4/dhcp.o CC build/lwip/core/ipv4/ip_frag.o CC build/lwip/core/ipv6/icmp6.o CC build/lwip/core/ipv6/ethip6.o CC build/lwip/core/ipv6/mld6.o CC build/lwip/core/ipv6/nd6.o CC build/lwip/core/ipv6/ip6.o CC build/lwip/core/ipv6/ip6_addr.o CC build/lwip/core/ipv6/inet6.o CC build/lwip/core/ipv6/dhcp6.o CC build/lwip/core/ipv6/ip6_frag.o CC build/lwip/netif/ethernetif.o CC build/lwip/netif/lowpan6.o CC build/lwip/netif/ethernet.o CC build/lwip/netif/etharp.o CC build/lwip/netif/slipif.o CC build/lwip/port/freertos/sys_arch.o CC build/lwip/port/netif/ethernetif.o CC build/lwip/port/netif/wlanif.o CC build/lwip/port/debug/lwip_debug.o CC build/lwip/port/vfs_lwip.o AR build/lwip/liblwip.a CC build/main/app_main.o AR build/main/libmain.a CC build/mbedtls/library/havege.o CC build/mbedtls/library/ssl_cookie.o CC build/mbedtls/library/md5.o CC build/mbedtls/library/certs.o CC build/mbedtls/library/ssl_ciphersuites.o CC build/mbedtls/library/camellia.o CC build/mbedtls/library/x509_crl.o CC build/mbedtls/library/threading.o CC build/mbedtls/library/aesni.o CC build/mbedtls/library/bignum.o CC build/mbedtls/library/arc4.o CC build/mbedtls/library/cipher_wrap.o CC build/mbedtls/library/aes.o CC build/mbedtls/library/xtea.o CC build/mbedtls/library/base64.o CC build/mbedtls/library/sha512.o CC build/mbedtls/library/pkcs11.o CC build/mbedtls/library/asn1write.o CC build/mbedtls/library/oid.o CC build/mbedtls/library/ecjpake.o CC build/mbedtls/library/ssl_tls.o CC build/mbedtls/library/debug.o CC build/mbedtls/library/ecdh.o CC build/mbedtls/library/x509_crt.o CC build/mbedtls/library/ssl_srv.o CC build/mbedtls/library/sha1.o CC build/mbedtls/library/ecdsa.o CC build/mbedtls/library/md2.o CC build/mbedtls/library/x509_create.o CC build/mbedtls/library/cmac.o CC build/mbedtls/library/gcm.o CC build/mbedtls/library/version.o CC build/mbedtls/library/pem.o CC build/mbedtls/library/padlock.o CC build/mbedtls/library/asn1parse.o CC build/mbedtls/library/timing.o CC build/mbedtls/library/ssl_cli.o CC build/mbedtls/library/pkwrite.o CC build/mbedtls/library/ssl_cache.o CC build/mbedtls/library/sha256.o CC build/mbedtls/library/md_wrap.o CC build/mbedtls/library/entropy.o CC build/mbedtls/library/md.o CC build/mbedtls/library/rsa.o CC build/mbedtls/library/ripemd160.o CC build/mbedtls/library/version_features.o CC build/mbedtls/library/cipher.o CC build/mbedtls/library/entropy_poll.o CC build/mbedtls/library/dhm.o CC build/mbedtls/library/error.o CC build/mbedtls/library/ssl_ticket.o CC build/mbedtls/library/x509.o CC build/mbedtls/library/blowfish.o CC build/mbedtls/library/ecp.o CC build/mbedtls/library/md4.o CC build/mbedtls/library/x509_csr.o CC build/mbedtls/library/pkparse.o CC build/mbedtls/library/pk.o CC build/mbedtls/library/pkcs5.o CC build/mbedtls/library/ccm.o CC build/mbedtls/library/pkcs12.o CC build/mbedtls/library/ecp_curves.o CC build/mbedtls/library/pk_wrap.o CC build/mbedtls/library/x509write_crt.o CC build/mbedtls/library/ctr_drbg.o CC build/mbedtls/library/platform.o CC build/mbedtls/library/x509write_csr.o CC build/mbedtls/library/des.o CC build/mbedtls/library/hmac_drbg.o CC build/mbedtls/library/memory_buffer_alloc.o CC build/mbedtls/port/esp_sha512.o CC build/mbedtls/port/esp_hardware.o CC build/mbedtls/port/net_sockets.o CC build/mbedtls/port/esp_bignum.o CC build/mbedtls/port/esp_sha256.o CC build/mbedtls/port/esp_sha1.o CC build/mbedtls/port/mbedtls_debug.o AR build/mbedtls/libmbedtls.a CC build/mdns/mdns.o CC build/mdns/mdns_console.o AR build/mdns/libmdns.a CC build/micro-ecc/micro-ecc/uECC.o AR build/micro-ecc/libmicro-ecc.a CC build/newlib/locks.o CC build/newlib/syscall_table.o CC build/newlib/syscalls.o CC build/newlib/reent_init.o CC build/newlib/time.o AR build/newlib/libnewlib.a CC build/nghttp/nghttp2/lib/nghttp2_map.o CC build/nghttp/nghttp2/lib/nghttp2_queue.o CC build/nghttp/nghttp2/lib/nghttp2_pq.o CC build/nghttp/nghttp2/lib/nghttp2_submit.o CC build/nghttp/nghttp2/lib/nghttp2_debug.o CC build/nghttp/nghttp2/lib/nghttp2_hd_huffman_data.o CC build/nghttp/nghttp2/lib/nghttp2_frame.o CC build/nghttp/nghttp2/lib/nghttp2_helper.o CC build/nghttp/nghttp2/lib/nghttp2_npn.o CC build/nghttp/nghttp2/lib/nghttp2_option.o CC build/nghttp/nghttp2/lib/nghttp2_buf.o CC build/nghttp/nghttp2/lib/nghttp2_priority_spec.o CC build/nghttp/nghttp2/lib/nghttp2_hd.o CC build/nghttp/nghttp2/lib/nghttp2_stream.o CC build/nghttp/nghttp2/lib/nghttp2_session.o CC build/nghttp/nghttp2/lib/nghttp2_callbacks.o CC build/nghttp/nghttp2/lib/nghttp2_rcbuf.o CC build/nghttp/nghttp2/lib/nghttp2_hd_huffman.o CC build/nghttp/nghttp2/lib/nghttp2_mem.o CC build/nghttp/nghttp2/lib/nghttp2_version.o CC build/nghttp/nghttp2/lib/nghttp2_outbound_item.o CC build/nghttp/nghttp2/lib/nghttp2_http.o CC build/nghttp/port/http_parser.o AR build/nghttp/libnghttp.a CXX build/nvs_flash/src/nvs_api.o CXX build/nvs_flash/src/nvs_storage.o CXX build/nvs_flash/src/nvs_pagemanager.o CXX build/nvs_flash/src/nvs_item_hash_list.o CXX build/nvs_flash/src/nvs_page.o CXX build/nvs_flash/src/nvs_types.o AR build/nvs_flash/libnvs_flash.a CC build/openssl/library/ssl_stack.o CC build/openssl/library/ssl_lib.o CC build/openssl/library/ssl_x509.o CC build/openssl/library/ssl_pkey.o CC build/openssl/library/ssl_methods.o CC build/openssl/library/ssl_cert.o CC build/openssl/platform/ssl_port.o CC build/openssl/platform/ssl_pm.o AR build/openssl/libopenssl.a CC build/pthread/pthread.o CC build/pthread/pthread_cond_var.o CC build/pthread/pthread_local_storage.o AR build/pthread/libpthread.a CC build/sdmmc/sdmmc_cmd.o AR build/sdmmc/libsdmmc.a CC build/soc/esp32/rtc_clk.o CC build/soc/esp32/rtc_time.o CC build/soc/esp32/rtc_sleep.o CC build/soc/esp32/rtc_init.o CC build/soc/esp32/soc_memory_layout.o CC build/soc/esp32/cpu_util.o CC build/soc/esp32/rtc_pm.o AR build/soc/libsoc.a CC build/spi_flash/flash_ops.o CC build/spi_flash/cache_utils.o CC build/spi_flash/spi_flash_rom_patch.o CC build/spi_flash/partition.o CC build/spi_flash/flash_mmap.o AR build/spi_flash/libspi_flash.a CC build/spiffs/esp_spiffs.o CC build/spiffs/spiffs/src/spiffs_hydrogen.o CC build/spiffs/spiffs/src/spiffs_check.o CC build/spiffs/spiffs/src/spiffs_nucleus.o CC build/spiffs/spiffs/src/spiffs_gc.o CC build/spiffs/spiffs/src/spiffs_cache.o AR build/spiffs/libspiffs.a CC build/tcpip_adapter/tcpip_adapter_lwip.o AR build/tcpip_adapter/libtcpip_adapter.a CC build/ulp/ulp_macro.o CC build/ulp/ulp.o AR build/ulp/libulp.a CC build/unity/test_utils.o CC build/unity/ref_clock.o CC build/unity/unity.o CC build/unity/unity_platform.o AR build/unity/libunity.a CC build/vfs/vfs.o CC build/vfs/vfs_uart.o AR build/vfs/libvfs.a CXX build/wear_levelling/WL_Ext_Perf.o CXX build/wear_levelling/Partition.o CXX build/wear_levelling/SPI_Flash.o CXX build/wear_levelling/WL_Ext_Safe.o CXX build/wear_levelling/crc32.o CXX build/wear_levelling/WL_Flash.o CXX build/wear_levelling/wear_levelling.o AR build/wear_levelling/libwear_levelling.a CC build/wpa_supplicant/src/crypto/ms_funcs.o CC build/wpa_supplicant/src/crypto/crypto_internal-cipher.o CC build/wpa_supplicant/src/crypto/crypto_internal-modexp.o CC build/wpa_supplicant/src/crypto/bignum.o CC build/wpa_supplicant/src/crypto/sha1-pbkdf2.o CC build/wpa_supplicant/src/crypto/aes-cbc.o CC build/wpa_supplicant/src/crypto/md5.o CC build/wpa_supplicant/src/crypto/rc4.o CC build/wpa_supplicant/src/crypto/sha256.o CC build/wpa_supplicant/src/crypto/dh_groups.o CC build/wpa_supplicant/src/crypto/md4-internal.o CC build/wpa_supplicant/src/crypto/sha1-internal.o CC build/wpa_supplicant/src/crypto/aes-wrap.o CC build/wpa_supplicant/src/crypto/crypto_internal.o CC build/wpa_supplicant/src/crypto/dh_group5.o CC build/wpa_supplicant/src/crypto/des-internal.o CC build/wpa_supplicant/src/crypto/crypto_internal-rsa.o CC build/wpa_supplicant/src/crypto/aes-unwrap.o CC build/wpa_supplicant/src/crypto/aes-internal-dec.o CC build/wpa_supplicant/src/crypto/sha1.o CC build/wpa_supplicant/src/crypto/aes-internal.o CC build/wpa_supplicant/src/crypto/md5-internal.o CC build/wpa_supplicant/src/crypto/sha256-internal.o CC build/wpa_supplicant/src/crypto/aes-internal-enc.o CC build/wpa_supplicant/port/os_xtensa.o CC build/wpa_supplicant/src/fast_crypto/fast_crypto_internal-cipher.o CC build/wpa_supplicant/src/fast_crypto/fast_crypto_internal-modexp.o CC build/wpa_supplicant/src/fast_crypto/fast_aes-unwrap.o CC build/wpa_supplicant/src/fast_crypto/fast_sha256.o CC build/wpa_supplicant/src/fast_crypto/fast_crypto_internal.o CC build/wpa_supplicant/src/fast_crypto/fast_aes-cbc.o CC build/wpa_supplicant/src/fast_crypto/fast_sha256-internal.o CC build/wpa_supplicant/src/fast_crypto/fast_aes-wrap.o AR build/wpa_supplicant/libwpa_supplicant.a CC build/xtensa-debug-module/trax.o CC build/xtensa-debug-module/eri.o AR build/xtensa-debug-module/libxtensa-debug-module.a CC build/app_trace_test/test_trace.o AR build/app_trace_test/libapp_trace_test.a CC build/app_update_test/test_ota_ops.o AR build/app_update_test/libapp_update_test.a CC build/bootloader_support_test/test_verify_image.o AR build/bootloader_support_test/libbootloader_support_test.a CXX build/cxx_test/test_cxx.o AR build/cxx_test/libcxx_test.a CC build/driver_test/test_adc2.o CC build/driver_test/test_spi_master.o CC build/driver_test/test_spi_slave.o AR build/driver_test/libdriver_test.a CC build/esp32_test/test_pm.o CC build/esp32_test/test_tsens.o CC build/esp32_test/test_exception.o CC build/esp32_test/test_intr_alloc.o CC build/esp32_test/test_ahb_arb.o CC build/esp32_test/test_ets_timer.o CC build/esp32_test/test_fp.o CC build/esp32_test/test_fastbus.o CC build/esp32_test/test_sleep.o CC build/esp32_test/test_miniz.o CC build/esp32_test/test_unal_dma.o CC build/esp32_test/test_int_wdt.o CC build/esp32_test/test_esp_timer.o CC build/esp32_test/test_restart.o CC build/esp32_test/test_spiram_cache_flush.o CC build/esp32_test/test_dport.o CC build/esp32_test/test_stack_check.o CC build/esp32_test/test_delay.o XXD logo.jpg CC build/esp32_test/test_tjpgd.o CXX build/esp32_test/test_stack_check_cxx.o AS build/esp32_test/test_ahb_arb_asm.o AS build/esp32_test/test_fastbus_asm.o AR build/esp32_test/libesp32_test.a CC build/fatfs_test/test_fatfs_spiflash.o CC build/fatfs_test/test_fatfs_sdmmc.o CC build/fatfs_test/test_fatfs_common.o AR build/fatfs_test/libfatfs_test.a CC build/freertos_test/test_timers.o CC build/freertos_test/test_tasks_snapshot.o CC build/freertos_test/test_freertos.o CC build/freertos_test/test_preemption.o CC build/freertos_test/test_freertos_task_notify.o CC build/freertos_test/test_freertos_trace_utilities.o CC build/freertos_test/test_freertos_task_delete.o CC build/freertos_test/test_panic.o CC build/freertos_test/test_task_priorities.o CC build/freertos_test/test_freertos_eventgroups.o CC build/freertos_test/test_task_suspend_resume.o CC build/freertos_test/test_ringbuf.o CC build/freertos_test/test_newlib_reent.o CC build/freertos_test/test_freertos_isinisrcontext.o CC build/freertos_test/test_freertos_get_state.o CC build/freertos_test/test_freertos_debug_functions.o CC build/freertos_test/test_spinlocks.o CC build/freertos_test/test_suspend_scheduler.o CC build/freertos_test/test_freertos_task_delay_until.o CC build/freertos_test/test_freertos_backported_functions.o AR build/freertos_test/libfreertos_test.a CC build/heap_test/test_malloc_caps.o CC build/heap_test/test_realloc.o CC build/heap_test/test_runtime_heap_reg.o CC build/heap_test/test_heap_trace.o CC build/heap_test/test_malloc.o AR build/heap_test/libheap_test.a not linking libsodium tests, use 'TEST_COMPONENTS=libsodium' to test it CC build/libsodium_test/test_sodium.o CC build/libsodium_test/../libsodium/test/default/chacha20.o CC build/libsodium_test/../libsodium/test/default/aead_chacha20poly1305.o CC build/libsodium_test/../libsodium/test/default/box.o CC build/libsodium_test/../libsodium/test/default/box2.o CC build/libsodium_test/../libsodium/test/default/ed25519_convert.o CC build/libsodium_test/../libsodium/test/default/sign.o CC build/libsodium_test/../libsodium/test/default/hash.o AR build/libsodium_test/liblibsodium_test.a CC build/mbedtls_test/test_mbedtls.o CC build/mbedtls_test/test_rsa.o CC build/mbedtls_test/test_apb_dport_access.o CC build/mbedtls_test/test_mbedtls_sha.o CC build/mbedtls_test/test_mbedtls_mpi.o AR build/mbedtls_test/libmbedtls_test.a CC build/newlib_test/test_newlib.o CC build/newlib_test/test_time.o AR build/newlib_test/libnewlib_test.a CC build/nvs_flash_test/test_nvs.o AR build/nvs_flash_test/libnvs_flash_test.a CC build/partition_table_test/test_partition.o AR build/partition_table_test/libpartition_table_test.a CC build/pthread_test/test_pthread_local_storage.o CXX build/pthread_test/test_cxx_cond_var.o CXX build/pthread_test/test_pthread_cxx.o CXX build/pthread_test/test_cxx_std_future.o AR build/pthread_test/libpthread_test.a CC build/sdmmc_test/test_sd.o AR build/sdmmc_test/libsdmmc_test.a CC build/soc_test/../esp32/test/test_rtc_clk.o AR build/soc_test/libsoc_test.a CC build/spi_flash_test/test_partitions.o CC build/spi_flash_test/test_large_flash_writes.o CC build/spi_flash_test/test_flash_encryption.o CC build/spi_flash_test/test_out_of_bounds_write.o CC build/spi_flash_test/test_read_write.o CC build/spi_flash_test/test_spi_flash.o CC build/spi_flash_test/test_cache_disabled.o CC build/spi_flash_test/test_mmap.o AR build/spi_flash_test/libspi_flash_test.a CC build/spiffs_test/test_spiffs.o AR build/spiffs_test/libspiffs_test.a CC build/ulp_test/test_ulp.o AR build/ulp_test/libulp_test.a CC build/vfs_test/test_vfs_uart.o CC build/vfs_test/test_vfs_paths.o AR build/vfs_test/libvfs_test.a CC build/wear_levelling_test/test_wl.o AR build/wear_levelling_test/libwear_levelling_test.a LD build/unit-test-app.elf esptool.py v2.1 Flashing binaries to serial port COM3 (app at offset 0x10000)... esptool.py v2.1 Connecting....... Chip is ESP32D0WDQ6 (revision 1) Uploading stub... Running stub... Stub running... Changing baud rate to 921600 Changed. Configuring flash size... Compressed 17568 bytes to 10490... Wrote 17568 bytes (10490 compressed) at 0x00001000 in 0.2 seconds (effective 899.5 kbit/s)... Hash of data verified. Compressed 1172608 bytes to 652235... Wrote 1172608 bytes (652235 compressed) at 0x00010000 in 11.0 seconds (effective 850.3 kbit/s)... Hash of data verified. Compressed 3072 bytes to 141... Wrote 3072 bytes (141 compressed) at 0x00008000 in 0.0 seconds... Hash of data verified. Leaving... Hard resetting...
実機にファームが焼けましたので、monitorを起動して単体テストを行うことにします。
$ make monitor ↵ MONITOR --- idf_monitor on COM3 921600 --- --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- I (389) cpu_start: Pro cpu up. I (389) cpu_start: Starting app cpu, entry point is 0x400812c4 0x400812c4: call_start_cpu1 at C:/msys32/opt/esp-idf-v30/components/esp32/cpu_start.c:215 I (0) cpu_start: App cpu up. I (389) heap_init: Initializing. RAM available for dynamic allocation: D (390) heap_init: New heap initialised at 0x3ffae6e0 I (390) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM D (392) heap_init: New heap initialised at 0x3ffc0988 I (392) heap_init: At 3FFC0988 len 0001F678 (125 KiB): DRAM I (393) heap_init: At 3FFE0440 len 00003BC0 (14 KiB): D/IRAM I (393) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM D (396) heap_init: New heap initialised at 0x40090300 I (396) heap_init: At 40090300 len 0000FD00 (63 KiB): IRAM I (396) cpu_start: Pro cpu start user code D (404) clk: RTC_SLOW_CLK calibration value: 3103872 V (181) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args V (181) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0xE D (181) intr_alloc: Connected src 46 to int 2 (cpu 0) V (182) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args V (183) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0xC0E D (184) intr_alloc: Connected src 57 to int 3 (cpu 0) V (185) pthread: pthread_once: call init_routine 0x3ffb5118 V (185) pthread: pthread_once: call init_routine 0x3ffb5110 V (187) esp_pthread: pthread_cond_init 0x3ffbbd38 0x0 D (188) stack_chk: Intialize random stack guard V (188) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args V (188) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0x40E D (189) intr_alloc: Connected src 24 to int 9 (cpu 0) I (190) cpu_start: Starting scheduler on PRO CPU. V (0) intr_alloc: esp_intr_alloc_intrstatus (cpu 1): checking args V (0) intr_alloc: esp_intr_alloc_intrstatus (cpu 1): Args okay. Resulting flags 0x40E D (1) intr_alloc: Connected src 25 to int 2 (cpu 1) I (2) cpu_start: Starting scheduler on APP CPU. D (196) heap_init: New heap initialised at 0x3ffe0440 D (197) heap_init: New heap initialised at 0x3ffe4350 Press ENTER to see the list of tests. ↵ Here's the test menu, pick your combo: (1) "esp_ota_begin() verifies arguments" [ota] (2) "esp_ota_get_next_update_partition logic" [ota] (3) "Verify bootloader image in flash" [bootloader_support] (4) "Verify unit test app image" [bootloader_support] (5) "can use new and delete" [cxx] (6) "can call virtual functions" [cxx] (7) "can use static initializers for non-POD types" [cxx] (8) "can use std::vector" [cxx] (9) "static initialization guards work as expected" [cxx] (10) "global initializers run in the correct order" [cxx] (11) "before scheduler has started, static initializers work correctly" [cxx] (12) "adc2 work with wifi" [adc] (13) "SPI Master clockdiv calculation routines" [spi] (14) "SPI Master test" [spi][ignore] (15) "SPI Master test, interaction of multiple devs" [spi][ignore] (16) "SPI Master no response when switch from host1 (HSPI) to host2 (VSPI)" [spi] (17) "SPI Master DMA test, TX and RX in different regions" [spi] (18) "SPI Master DMA test: length, start, not aligned" [spi] (19) "SPI master variable cmd & addr test" [spi] (20) "test slave startup" [spi] (21) "Can dump power management lock stats" [pm] (22) "can control TSENS using registers" [rtc][ignore] (23) "make exception" [restart][reset=StoreProhibited,SW_CPU_RESET] (24) "Intr_alloc test, CPU-local int source" [esp32] (25) "Intr_alloc test, private ints" [esp32] (26) "Intr_alloc test, shared ints" [esp32] (27) "Can allocate IRAM int only with an IRAM handler" [esp32] (28) "allocate 2 handlers for a same source and remove the later one" [esp32] (29) "S32C1I vs AHB test (needs I2S)" [hw][ignore] (30) "ets_timer produces correct delay" [ets_timer] (31) "periodic ets_timer produces correct delays" [ets_timer] (32) "multiple ETSTimers are ordered correctly" [ets_timer] (33) "ETSTimers arm & disarm run from IRAM" [ets_timer] (34) "test FP add" [fp] (35) "test FP mul" [fp] (36) "test FP div" [fp] (37) "test FP sqrt" [fp] (38) "context switch saves FP registers" [fp] (39) "Fast I/O bus test" [hw][ignore] (40) "esp_deepsleep works" [deepsleep][reset=DEEPSLEEP_RESET] (41) "wake up using timer" [deepsleep][reset=DEEPSLEEP_RESET] (42) "wake up from light sleep using timer" [deepsleep] (43) "enter deep sleep on APP CPU and wake up using timer" [deepsleep][reset=DEEPSLEEP_RESET] (44) "wake up using ext0 (13 high)" [deepsleep][ignore] (45) "wake up using ext0 (13 low)" [deepsleep][ignore] (46) "wake up using ext1 when RTC_PERIPH is off (13 high)" [deepsleep][ignore] (47) "wake up using ext1 when RTC_PERIPH is off (13 low)" [deepsleep][ignore] (48) "wake up using ext1 when RTC_PERIPH is on (13 high)" [deepsleep][ignore] (49) "wake up using ext1 when RTC_PERIPH is on (13 low)" [deepsleep][ignore] (50) "Test miniz compression/decompression" [miniz][ignore] (51) "Unaligned DMA test (needs I2S)" [hw][ignore] (52) "Int wdt test" [esp32][reset=Interrupt wdt timeout on CPU0,SW_CPU_RESET] (53) "esp_timer orders timers correctly" [esp_timer] (54) "esp_timer produces correct delay" [esp_timer] (55) "periodic esp_timer produces correct delays" [esp_timer] (56) "multiple timers are ordered correctly" [esp_timer] (57) "esp_timer for very short intervals" [esp_timer] (58) "esp_timer_get_time call takes less than 1us" [esp_timer] (59) "esp_timer_get_time returns monotonic values" [esp_timer][ignore] (60) "Can dump esp_timer stats" [esp_timer] (61) "Can delete timer from callback" [esp_timer] (62) "restart from PRO CPU" [restart][reset=SW_CPU_RESET] (63) "restart from APP CPU" [restart][reset=SW_CPU_RESET] (64) "access DPORT and APB at same time" [esp32] (65) "stack smashing protection" [stack_check] [ignore] (66) "ets_delay produces correct delay on both CPUs" [delay] (67) "vTaskDelay produces correct delay on both CPUs" [delay] (68) "Test JPEG decompression library" [tjpgd] (69) "stack smashing protection CXX" [stack_check] [ignore] (70) "(WL) can format partition" [fatfs][wear_levelling] (71) "(WL) can create and write file" [fatfs][wear_levelling] (72) "(WL) can read file" [fatfs][wear_levelling] (73) "(WL) can open maximum number of files" [fatfs][wear_levelling] (74) "(WL) overwrite and append file" [fatfs][wear_levelling] (75) "(WL) can lseek" [fatfs][wear_levelling] (76) "(WL) stat returns correct values" [fatfs][wear_levelling] (77) "(WL) unlink removes a file" [fatfs][wear_levelling] (78) "(WL) link copies a file, rename moves a file" [fatfs][wear_levelling] (79) "(WL) can create and remove directories" [fatfs][wear_levelling] (80) "(WL) can opendir root directory of FS" [fatfs][wear_levelling] (81) "(WL) opendir, readdir, rewinddir, seekdir work as expected" [fatfs][wear_levelling] (82) "(WL) multiple tasks can use same volume" [fatfs][wear_levelling] (83) "(WL) write/read speed test" [fatfs][wear_levelling] (84) "Mount fails cleanly without card inserted" [fatfs][ignore] (85) "(SD) can create and write file" [fatfs][sdcard][ignore] (86) "(SD) can read file" [fatfs][ignore] (87) "(SD) overwrite and append file" [fatfs][sdcard][ignore] (88) "(SD) can lseek" [fatfs][sdcard][ignore] (89) "(SD) stat returns correct values" [fatfs][ignore] (90) "(SD) unlink removes a file" [fatfs][ignore] (91) "(SD) link copies a file, rename moves a file" [fatfs][ignore] (92) "(SD) can create and remove directories" [fatfs][ignore] (93) "(SD) can opendir root directory of FS" [fatfs][ignore] (94) "(SD) opendir, readdir, rewinddir, seekdir work as expected" [fatfs][ignore] (95) "(SD) multiple tasks can use same volume" [fatfs][ignore] (96) "(SD) write/read speed test" [fatfs][sdcard][ignore] (97) "(SD) mount two FAT partitions, SDMMC and WL, at the same time" [fatfs][sdcard][ignore] (98) "Oneshot FreeRTOS timers" [freertos] (99) "Recurring FreeRTOS timers" [freertos] (100) "Tasks snapshot" [freertos] (101) "Bunch of FreeRTOS tests" [freertos][ignore] (102) "Yield from lower priority task, same CPU" [freertos] (103) "Yield from lower priority task, other CPU" [freertos] (104) "Test Task_Notify" [freertos] (105) "Test freertos trace facility functions" [freertos] (106) "Test freertos uxTaskGetSystemState" [freertos] (107) "FreeRTOS Delete Tasks" [freertos] (108) "Panic handler" [freertos][ignore] (109) "Get/Set Priorities" [freertos] (110) "FreeRTOS Event Groups" [freertos] (111) "FreeRTOS Event Group Sync" [freertos] (112) "FreeRTOS Event Group ISR" [freertos] (113) "Suspend/resume task on same core" [freertos] (114) "Suspend/resume task on other core" [freertos] (115) "Suspend the current running task" [freertos] (116) "Resume task from ISR (same core)" [freertos] (117) "Resume task from ISR (other core)" [freertos] (118) "FreeRTOS ringbuffer test, no splitting items" [freertos] (119) "FreeRTOS ringbuffer test, w/ splitting items" [freertos] (120) "FreeRTOS ringbuffer test, no splitting items, arbitrary length buffer" [freertos] (121) "FreeRTOS ringbuffer test, w/ splitting items, arbitrary length buffer" [freertos] (122) "FreeRTOS ringbuffer test, check if zero-length items are handled correctly" [freertos] (123) "Test for per-task non-reentrant tasks" [freertos] (124) "xPortInIsrContext test" [freertos] (125) "Test eTaskGetState" [freertos] (126) "Test FreeRTOS Queue Registry" [freertos] (127) "portMUX spinlocks (no contention)" [freertos] (128) "portMUX recursive locks (no contention)" [freertos] (129) "portMUX cross-core locking" [freertos] (130) "portMUX high contention" [freertos] (131) "Scheduler disabled can handle a pending context switch on resume" [freertos] (132) "Scheduler disabled can wake multiple tasks on resume" [freertos] (133) "Scheduler disabled on CPU B, tasks on A can wake" [freertos] (134) "Test vTaskDelayUntil" [freertos] (135) "Test FreeRTOS backported timer functions" [freertos] (136) "Test FreeRTOS backported Queue and Semphr functions" [freertos] (137) "Test FreeRTOS static task allocation" [freertos] (138) "Test FreeRTOS backported eventgroup functions" [freertos] (139) "Test FreeRTOS thread local storage pointers and del cb" [freertos] (140) "Capabilities allocator test" [heap] (141) "heap_caps metadata test" [heap] (142) "heap_caps_xxx functions work with flash cache disabled" [heap] (143) "realloc move data to a new heap type" [heap] (144) "Allocate new heap at runtime" [heap][ignore] (145) "Allocate new heap with new capability" [heap][ignore] (146) "Add .bss memory to heap region runtime" [heap][ignore] (147) "Malloc/overwrite, then free all available DRAM" [heap] (148) "mbedtls AES self-tests" [aes] (149) "mbedtls MPI self-tests" [bignum] (150) "mbedtls RSA self-tests" [bignum] (151) "mbedtls RSA4096 cert" [mbedtls] (152) "mbedtls RSA2048 cert" [mbedtls] (153) "mbedtls SHA self-tests" [mbedtls] (154) "mbedtls SHA interleaving" [mbedtls] (155) "mbedtls SHA multithreading" [mbedtls] (156) "mbedtls SHA self-tests multithreaded" [mbedtls] (157) "mbedtls SHA512 clone" [mbedtls] (158) "mbedtls SHA384 clone" [mbedtls] (159) "mbedtls SHA256 clone" [mbedtls] (160) "test MPI multiplication" [bignum] (161) "test MPI modexp" [bignum] (162) "test ctype functions" [newlib] (163) "test atoX functions" [newlib][ignore] (164) "test sprintf function" [newlib] (165) "test sscanf function" [newlib] (166) "test time functions" [newlib] (167) "test asctime" [newlib] (168) "check if ROM or Flash is used for functions" [newlib] (169) "test 64bit int formats" [newlib] (170) "fmod and fmodf work as expected" [newlib] (171) "Reading RTC registers on APP CPU doesn't affect clock" [newlib] (172) "various nvs tests" [nvs] (173) "Can read partition table" [partition] (174) "Can write, read, mmap partition" [partition][ignore] (175) "pthread local storage basics" [pthread] (176) "pthread local storage unique keys" [pthread] (177) "pthread local storage destructor" [pthread] (178) "pthread local storage destructor in FreeRTOS task" [pthread] (179) "C++ condition_variable" [std::condition_variable] (180) "pthread C++" [pthread] (181) "pthread mix C/C++" [pthread] (182) "C++ future" [std::future] (183) "MMC_RSP_BITS" [sd] (184) "can probe SD" [sd][test_env=UT_T1_SDMODE][ignore] (185) "can probe SD(using SPI)" [sdspi][test_env=UT_T1_SPIMODE][ignore] (186) "can write and read back blocks" [sd][test_env=UT_T1_SDMODE][ignore] (187) "can write and read back blocks(using SPI)" [sdspi][test_env=UT_T1_SPIMODE][ignore] (188) "reads and writes with an unaligned buffer" [sd][test_env=UT_T1_SDMODE][ignore] (189) "RTC_SLOW_CLK sources calibration" [rtc_clk] (190) "Output 150k clock to GPIO25" [rtc_clk][ignore] (191) "Output 32k XTAL clock to GPIO25" [rtc_clk][ignore] (192) "Output 8M XTAL clock to GPIO25" [rtc_clk][ignore] (193) "Calculate 8M clock frequency" [rtc_clk] (194) "Test switching between PLL and XTAL" [rtc_clk] (195) "Test fast switching between PLL and XTAL" [rtc_clk] (196) "Test erase partition" [spi_flash] (197) "Test spi_flash_write large const buffer" [spi_flash] (198) "Test spi_flash_write large RAM buffer" [spi_flash] (199) "test 16 byte encrypted writes" [spi_flash] (200) "can't overwrite bootloader" [spi_flash] (201) "can't overwrite current running app" [spi_flash] (202) "Test spi_flash_read" [spi_flash] (203) "Test spi_flash_write" [spi_flash] (204) "flash write and erase work both on PRO CPU and on APP CPU" [spi_flash][ignore] (205) "spi flash functions can run along with IRAM interrupts" [spi_flash] (206) "spi_flash_cache_enabled() works on both CPUs" [spi_flash] (207) "invalid access to cache raises panic (PRO CPU)" [spi_flash][ignore] (208) "invalid access to cache raises panic (APP CPU)" [spi_flash][ignore] (209) "Can mmap into data address space" [spi_flash] (210) "Can mmap into instruction address space" [mmap] (211) "Can mmap unordered pages into contiguous memory" [spi_flash] (212) "flash_mmap invalidates just-written data" [spi_flash] (213) "flash_mmap can mmap after get enough free MMU pages" [spi_flash] (214) "phys2cache/cache2phys basic checks" [spi_flash] (215) "mmap consistent with phys2cache/cache2phys" [spi_flash] (216) "munmap followed by mmap flushes cache" [spi_flash] (217) "can format partition" [spiffs] (218) "can create and write file" [spiffs] (219) "can read file" [spiffs] (220) "can open maximum number of files" [spiffs] (221) "overwrite and append file" [spiffs] (222) "can lseek" [spiffs] (223) "stat returns correct values" [spiffs] (224) "unlink removes a file" [spiffs] (225) "rename moves a file" [spiffs] (226) "can opendir root directory of FS" [spiffs] (227) "opendir, readdir, rewinddir, seekdir work as expected" [spiffs] (228) "multiple tasks can use same volume" [spiffs] (229) "mtime is updated when file is opened" [spiffs] (230) "ulp add test" [ulp] (231) "ulp branch test" [ulp] (232) "ulp wakeup test" [ulp][ignore] (233) "ulp can write and read peripheral registers" [ulp] (234) "ULP I_WR_REG instruction test" [ulp] (235) "ulp controls RTC_IO" [ulp][ignore] (236) "ulp power consumption in deep sleep" [ulp][ignore] (237) "ulp timer setting" [ulp] (238) "ulp can use TSENS in deep sleep" [ulp][ignore] (239) "can use ADC in deep sleep" [ulp][ignore] (240) "can read from stdin" [vfs] (241) "CRs are removed from the stdin correctly" [vfs] (242) "can write to UART while another task is reading" [vfs] (243) "vfs parses paths correctly" [vfs] (244) "vfs checks mount point path" [vfs] (245) "wl_unmount doesn't leak memory" [wear_levelling] (246) "wl_mount check partition parameters" [wear_levelling][ignore] (247) "multiple tasks can access wl handle simultaneously" [wear_levelling]
247項目のテストが表示されました。
今回作成したテスト項目には、
どうやらコンパイルされていないようです。
Makefileを解析
unit-test-app¥Makefile
を確認すると、
unit-test-app¥Makefile
# # This is a project Makefile. It is assumed the directory this Makefile resides in is a # project subdirectory. # PROJECT_NAME := unit-test-app include $(IDF_PATH)/make/project.mk
とあります。ESP-IDFのmake/project.mk
をインクルードしていますので、このファイルを確認してみます。
123行目あたりから
make/project.mk
# Component directories. These directories are searched for components (either the directory is a component, # or the directory contains subdirectories which are components.) # The project Makefile can override these component dirs, or add extras via EXTRA_COMPONENT_DIRS ifndef COMPONENT_DIRS EXTRA_COMPONENT_DIRS ?= COMPONENT_DIRS := $(PROJECT_PATH)/components $(EXTRA_COMPONENT_DIRS) $(IDF_PATH)/components $(PROJECT_PATH)/main endif export COMPONENT_DIRS
と、COMPONENT_DIRS
変数を設定しています。この変数は独自コンポーネントをコンパイルさせる際に影響がありそうです。
Makefile
ファイルにCOMPONENT_DIRS
変数を設定するように変更して試してみましょう。
unit-test-app¥Makefile
# # This is a project Makefile. It is assumed the directory this Makefile resides in is a # project subdirectory. # PROJECT_NAME := unit-test-app COMPONENT_DIRS := $(abspath $(abspath .)/../components) $(abspath .)/components $(IDF_PATH)/components $(abspath .)/main include $(IDF_PATH)/make/project.mk
$ make flash TESTS_ALL=1 ↵ not linking libsodium tests, use 'TEST_COMPONENTS=libsodium' to test it C:/msys32/opt/esp-idf-v30/make/project.mk:387: *** 複数のターゲットパターンです. 中止.
おや?エラーが出てしまいました。
make/project.mk
# ELF depends on the library archive files for COMPONENT_LIBRARIES # the rules to build these are emitted as part of GenerateComponentTarget below # # also depends on additional dependencies (linker scripts & binary libraries) # stored in COMPONENT_LINKER_DEPS, built via component.mk files' COMPONENT_ADD_LINKER_DEPS variable COMPONENT_LINKER_DEPS ?= $(APP_ELF): $(foreach libcomp,$(COMPONENT_LIBRARIES),$(BUILD_DIR_BASE)/$(libcomp)/lib$(libcomp).a) $(COMPONENT_LINKER_DEPS) $(COMPONENT_PROJECT_VARS) $(summary) LD $(patsubst $(PWD)/%,%,$@) $(CC) $(LDFLAGS) -o $@ -Wl,-Map=$(APP_MAP)
COMPONENT_LIBRARIES
、COMPONENT_LINKER_DEPS
、COMPONENT_PROJECT_VARS
にどのような値がセットされているのか確認してみましょう。
次のようなコードを追加して、再度実行してみます。
make/project.mk
# ELF depends on the library archive files for COMPONENT_LIBRARIES # the rules to build these are emitted as part of GenerateComponentTarget below # # also depends on additional dependencies (linker scripts & binary libraries) # stored in COMPONENT_LINKER_DEPS, built via component.mk files' COMPONENT_ADD_LINKER_DEPS variable COMPONENT_LINKER_DEPS ?= $(info APP_ELF => $(APP_ELF)) $(info COMPONENT_LIBRARIES => $(COMPONENT_LIBRARIES)) $(info COMPONENT_LINKER_DEPS => $(COMPONENT_LINKER_DEPS)) $(info COMPONENT_PROJECT_VARS => $(COMPONENT_PROJECT_VARS)) $(APP_ELF): $(foreach libcomp,$(COMPONENT_LIBRARIES),$(BUILD_DIR_BASE)/$(libcomp)/lib$(libcomp).a) $(COMPONENT_LINKER_DEPS) $(COMPONENT_PROJECT_VARS) $(summary) LD $(patsubst $(PWD)/%,%,$@) $(CC) $(LDFLAGS) -o $@ -Wl,-Map=$(APP_MAP)
$ make flash TESTS_ALL=1 ↵ APP_ELF => /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/unit-test-app.elf COMPONENT_LIBRARIES => app_trace app_update aws_iot bootloader_support bt coap console cxx driver esp32 esp_adc_cal ethernet expat fatfs freertos heap idf_test jsmn json libsodium log lwip main mbedtls mdns micro-ecc my_string newlib nghttp nvs_flash openssl pthread sdmmc soc spi_flash spiffs tcpip_adapter ulp unity vfs wear_levelling wpa_supplicant xtensa-debug-module app_trace_test app_update_test bootloader_support_test cxx_test driver_test esp32_test fatfs_test freertos_test heap_test libsodium_test mbedtls_test my_string_test newlib_test nvs_flash_test partition_table_test pthread_test sdmmc_test soc_test spi_flash_test spiffs_test ulp_test vfs_test wear_levelling_test COMPONENT_LINKER_DEPS => C:/msys32/opt/esp-idf-v30/components/esp32/C:/msys32/opt/esp-idf-v30/components/esp32/lib/libcore.a C:/msys32/opt/esp-idf-v30/components/esp32/C:/msys32/opt/esp-idf-v30/components/esp32/lib/librtc.a C:/msys32/opt/esp-idf-v30/components/esp32/C:/msys32/opt/esp-idf-v30/components/esp32/lib/libnet80211.a C:/msys32/opt/esp-idf-v30/components/esp32/C:/msys32/opt/esp-idf-v30/components/esp32/lib/libpp.a C:/msys32/opt/esp-idf-v30/components/esp32/C:/msys32/opt/esp-idf-v30/components/esp32/lib/libwpa.a C:/msys32/opt/esp-idf-v30/components/esp32/C:/msys32/opt/esp-idf-v30/components/esp32/lib/libsmartconfig.a C:/msys32/opt/esp-idf-v30/components/esp32/C:/msys32/opt/esp-idf-v30/components/esp32/lib/libcoexist.a C:/msys32/opt/esp-idf-v30/components/esp32/C:/msys32/opt/esp-idf-v30/components/esp32/lib/libwps.a C:/msys32/opt/esp-idf-v30/components/esp32/C:/msys32/opt/esp-idf-v30/components/esp32/lib/libwpa2.a C:/msys32/opt/esp-idf-v30/components/esp32/C:/msys32/opt/esp-idf-v30/components/esp32/lib/libespnow.a C:/msys32/opt/esp-idf-v30/components/esp32/C:/msys32/opt/esp-idf-v30/components/esp32/lib/libphy.a C:/msys32/opt/esp-idf-v30/components/esp32/ld/esp32.common.ld C:/msys32/opt/esp-idf-v30/components/esp32/ld/esp32.rom.ld C:/msys32/opt/esp-idf-v30/components/esp32/ld/esp32.peripherals.ld C:/msys32/opt/esp-idf-v30/components/esp32/ld/esp32.rom.spiram_incompatible_fns.ld C:/msys32/opt/esp-idf-v30/components/newlib/C:/msys32/opt/esp-idf-v30/components/newlib/lib/libc.a C:/msys32/opt/esp-idf-v30/components/newlib/C:/msys32/opt/esp-idf-v30/components/newlib/lib/libm.a COMPONENT_PROJECT_VARS => /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/app_trace/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/app_update/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/aws_iot/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader_support/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bt/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/coap/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/console/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/cxx/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/driver/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/esp32/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/esp_adc_cal/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/esptool_py/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/ethernet/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/expat/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/fatfs/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/freertos/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/heap/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/idf_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/jsmn/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/json/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/libsodium/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/log/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/lwip/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/main/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/mbedtls/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/mdns/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/micro-ecc/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/my_string/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/newlib/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/nghttp/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/nvs_flash/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/openssl/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/partition_table/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/pthread/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/sdmmc/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/soc/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/spi_flash/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/spiffs/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/tcpip_adapter/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/ulp/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/unity/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/vfs/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/wear_levelling/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/wpa_supplicant/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/xtensa-debug-module/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/app_trace_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/app_update_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader_support_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/cxx_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/driver_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/esp32_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/fatfs_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/freertos_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/heap_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/libsodium_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/mbedtls_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/my_string_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/newlib_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/nvs_flash_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/partition_table_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/pthread_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/sdmmc_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/soc_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/spi_flash_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/spiffs_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/ulp_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/vfs_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/wear_levelling_test/component_project_vars.mk C:/msys32/opt/esp-idf-v30/make/project.mk:390: *** 複数のターゲットパターンです. 中止.
Makefileを元に戻して違いを確認してみましょう。
$ make flash TESTS_ALL=1 ↵ APP_ELF => /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/unit-test-app.elf COMPONENT_LIBRARIES => app_trace app_update aws_iot bootloader_support bt coap console cxx driver esp32 esp_adc_cal ethernet expat fatfs freertos heap idf_test jsmn json libsodium log lwip main mbedtls mdns micro-ecc newlib nghttp nvs_flash openssl pthread sdmmc soc spi_flash spiffs tcpip_adapter ulp unity vfs wear_levelling wpa_supplicant xtensa-debug-module app_trace_test app_update_test bootloader_support_test cxx_test driver_test esp32_test fatfs_test freertos_test heap_test libsodium_test mbedtls_test newlib_test nvs_flash_test partition_table_test pthread_test sdmmc_test soc_test spi_flash_test spiffs_test ulp_test vfs_test wear_levelling_test COMPONENT_LINKER_DEPS => /opt/esp-idf-v30/components/esp32/lib/libcore.a /opt/esp-idf-v30/components/esp32/lib/librtc.a /opt/esp-idf-v30/components/esp32/lib/libnet80211.a /opt/esp-idf-v30/components/esp32/lib/libpp.a /opt/esp-idf-v30/components/esp32/lib/libwpa.a /opt/esp-idf-v30/components/esp32/lib/libsmartconfig.a /opt/esp-idf-v30/components/esp32/lib/libcoexist.a /opt/esp-idf-v30/components/esp32/lib/libwps.a /opt/esp-idf-v30/components/esp32/lib/libwpa2.a /opt/esp-idf-v30/components/esp32/lib/libespnow.a /opt/esp-idf-v30/components/esp32/lib/libphy.a /opt/esp-idf-v30/components/esp32/ld/esp32.common.ld /opt/esp-idf-v30/components/esp32/ld/esp32.rom.ld /opt/esp-idf-v30/components/esp32/ld/esp32.peripherals.ld /opt/esp-idf-v30/components/esp32/ld/esp32.rom.spiram_incompatible_fns.ld /opt/esp-idf-v30/components/newlib/lib/libc.a /opt/esp-idf-v30/components/newlib/lib/libm.a COMPONENT_PROJECT_VARS => /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/app_trace/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/app_update/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/aws_iot/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader_support/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bt/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/coap/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/console/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/cxx/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/driver/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/esp32/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/esp_adc_cal/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/esptool_py/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/ethernet/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/expat/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/fatfs/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/freertos/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/heap/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/idf_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/jsmn/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/json/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/libsodium/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/log/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/lwip/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/main/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/mbedtls/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/mdns/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/micro-ecc/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/newlib/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/nghttp/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/nvs_flash/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/openssl/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/partition_table/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/pthread/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/sdmmc/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/soc/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/spi_flash/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/spiffs/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/tcpip_adapter/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/ulp/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/unity/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/vfs/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/wear_levelling/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/wpa_supplicant/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/xtensa-debug-module/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/app_trace_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/app_update_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader_support_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/cxx_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/driver_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/esp32_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/fatfs_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/freertos_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/heap_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/libsodium_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/mbedtls_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/newlib_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/nvs_flash_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/partition_table_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/pthread_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/sdmmc_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/soc_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/spi_flash_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/spiffs_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/ulp_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/vfs_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/wear_levelling_test/component_project_vars.mk APP_ELF => /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/bootloader.elf COMPONENT_LIBRARIES => bootloader_support log spi_flash micro-ecc soc main COMPONENT_LINKER_DEPS => /opt/esp-idf-v30/components/bootloader/subproject/main/esp32.bootloader.ld /opt/esp-idf-v30/components/esp32/ld/esp32.rom.ld /opt/esp-idf-v30/components/esp32/ld/esp32.rom.spiram_incompatible_fns.ld /opt/esp-idf-v30/components/esp32/ld/esp32.peripherals.ld /opt/esp-idf-v30/components/bootloader/subproject/main/esp32.bootloader.rom.ld COMPONENT_PROJECT_VARS => /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/esptool_py/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/bootloader_support/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/log/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/spi_flash/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/micro-ecc/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/soc/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/main/component_project_vars.mk not linking libsodium tests, use 'TEST_COMPONENTS=libsodium' to test it Flashing binaries to serial port COM3 (app at offset 0x10000)... esptool.py v2.1 Connecting...... Chip is ESP32D0WDQ6 (revision 1) Uploading stub... Running stub... Stub running... Changing baud rate to 921600 Changed. Configuring flash size... Compressed 17568 bytes to 10490... Wrote 17568 bytes (10490 compressed) at 0x00001000 in 0.2 seconds (effective 899.5 kbit/s)... Hash of data verified. Compressed 1172608 bytes to 652227... Wrote 1172608 bytes (652227 compressed) at 0x00010000 in 11.7 seconds (effective 800.6 kbit/s)... Hash of data verified. Compressed 3072 bytes to 141... Wrote 3072 bytes (141 compressed) at 0x00008000 in 0.0 seconds... Hash of data verified. Leaving... Hard resetting...
COMPONENT_LINKER_DEPS
の値が異なっています。
この値が生成されている部分を確認してみましょう。
make/component_wrapper.mk
# Note: The :: target here is not a mistake. This target should always be # executed, as dependencies are checked by the parent project-level make target. # See https://www.gnu.org/software/make/manual/make.html#index-_003a_003a-rules-_0028double_002dcolon_0029 component_project_vars.mk:: $(details) "Building component project variables list $(abspath $@)" @echo '# Automatically generated build file. Do not edit.' > $@ @echo 'COMPONENT_INCLUDES += $(call MakeVariablePath,$(addprefix $(COMPONENT_PATH)/,$(COMPONENT_ADD_INCLUDEDIRS)))' >> $@ @echo 'COMPONENT_LDFLAGS += $(call MakeVariablePath,-L$(COMPONENT_BUILD_DIR) $(COMPONENT_ADD_LDFLAGS))' >> $@ @echo 'COMPONENT_LINKER_DEPS += $(call MakeVariablePath,$(call resolvepath,$(COMPONENT_ADD_LINKER_DEPS),$(COMPONENT_PATH)))' >> $@ @echo 'COMPONENT_SUBMODULES += $(call MakeVariablePath,$(addprefix $(COMPONENT_PATH)/,$(COMPONENT_SUBMODULES)))' >> $@ @echo 'COMPONENT_LIBRARIES += $(COMPONENT_NAME)' >> $@ @echo 'component-$(COMPONENT_NAME)-build: $(addprefix component-,$(addsuffix -build,$(COMPONENT_DEPENDS)))' >> $@
MakeVariablePath
マクロ(?)をコールしてます。この実態は、
make/component_wrapper.mk
# macro to generate variable-relative paths inside component_project_vars.mk, whenever possible # ie put literal $(IDF_PATH), $(PROJECT_PATH) and $(BUILD_DIR_BASE) into the generated # makefiles where possible. # # This means if directories move (breaking absolute paths), don't need to 'make clean' define MakeVariablePath $(subst $(IDF_PATH),$$(IDF_PATH),$(subst $(PROJECT_PATH),$$(PROJECT_PATH),$(subst $(BUILD_DIR_BASE),$$(BUILD_DIR_BASE),$(1)))) endef
となっており、IDF_PATH
環境変数を参照しています。
以前ESP-IDFをインストールした際に作成したC:¥msys32¥etc¥profile.d¥export_idf_path.sh
ファイルの内容を
C:¥msys32¥etc¥profile.d¥export_idf_path.sh
export IDF_PATH="C:/msys32/opt/esp-idf-v30"
から
export IDF_PATH="/opt/esp-idf-v30"
に変更して再度チャレンジしてみましょう。
$ make flash TESTS_ALL=1 ↵ APP_ELF => /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/unit-test-app.elf COMPONENT_LIBRARIES => COMPONENT_LINKER_DEPS => COMPONENT_PROJECT_VARS => /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/app_trace/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/app_update/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/aws_iot/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader_support/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bt/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/coap/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/console/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/cxx/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/driver/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/esp32/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/esp_adc_cal/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/esptool_py/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/ethernet/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/expat/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/fatfs/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/freertos/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/heap/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/idf_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/jsmn/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/json/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/libsodium/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/log/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/lwip/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/main/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/mbedtls/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/mdns/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/micro-ecc/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/my_string/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/newlib/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/nghttp/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/nvs_flash/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/openssl/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/partition_table/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/pthread/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/sdmmc/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/soc/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/spi_flash/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/spiffs/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/tcpip_adapter/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/ulp/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/unity/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/vfs/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/wear_levelling/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/wpa_supplicant/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/xtensa-debug-module/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/app_trace_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/app_update_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader_support_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/cxx_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/driver_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/esp32_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/fatfs_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/freertos_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/heap_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/libsodium_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/mbedtls_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/my_string_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/newlib_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/nvs_flash_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/partition_table_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/pthread_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/sdmmc_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/soc_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/spi_flash_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/spiffs_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/ulp_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/vfs_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/wear_levelling_test/component_project_vars.mk GENCONFIG not linking libsodium tests, use 'TEST_COMPONENTS=libsodium' to test it APP_ELF => /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/unit-test-app.elf COMPONENT_LIBRARIES => app_trace app_update aws_iot bootloader_support bt coap console cxx driver esp32 esp_adc_cal ethernet expat fatfs freertos heap idf_test jsmn json libsodium log lwip main mbedtls mdns micro-ecc my_string newlib nghttp nvs_flash openssl pthread sdmmc soc spi_flash spiffs tcpip_adapter ulp unity vfs wear_levelling wpa_supplicant xtensa-debug-module app_trace_test app_update_test bootloader_support_test cxx_test driver_test esp32_test fatfs_test freertos_test heap_test libsodium_test mbedtls_test my_string_test newlib_test nvs_flash_test partition_table_test pthread_test sdmmc_test soc_test spi_flash_test spiffs_test ulp_test vfs_test wear_levelling_test COMPONENT_LINKER_DEPS => /opt/esp-idf-v30/components/esp32/lib/libcore.a /opt/esp-idf-v30/components/esp32/lib/librtc.a /opt/esp-idf-v30/components/esp32/lib/libnet80211.a /opt/esp-idf-v30/components/esp32/lib/libpp.a /opt/esp-idf-v30/components/esp32/lib/libwpa.a /opt/esp-idf-v30/components/esp32/lib/libsmartconfig.a /opt/esp-idf-v30/components/esp32/lib/libcoexist.a /opt/esp-idf-v30/components/esp32/lib/libwps.a /opt/esp-idf-v30/components/esp32/lib/libwpa2.a /opt/esp-idf-v30/components/esp32/lib/libespnow.a /opt/esp-idf-v30/components/esp32/lib/libphy.a /opt/esp-idf-v30/components/esp32/ld/esp32.common.ld /opt/esp-idf-v30/components/esp32/ld/esp32.rom.ld /opt/esp-idf-v30/components/esp32/ld/esp32.peripherals.ld /opt/esp-idf-v30/components/esp32/ld/esp32.rom.spiram_incompatible_fns.ld /opt/esp-idf-v30/components/newlib/lib/libc.a /opt/esp-idf-v30/components/newlib/lib/libm.a COMPONENT_PROJECT_VARS => /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/app_trace/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/app_update/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/aws_iot/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader_support/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bt/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/coap/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/console/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/cxx/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/driver/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/esp32/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/esp_adc_cal/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/esptool_py/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/ethernet/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/expat/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/fatfs/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/freertos/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/heap/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/idf_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/jsmn/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/json/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/libsodium/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/log/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/lwip/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/main/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/mbedtls/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/mdns/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/micro-ecc/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/my_string/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/newlib/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/nghttp/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/nvs_flash/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/openssl/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/partition_table/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/pthread/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/sdmmc/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/soc/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/spi_flash/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/spiffs/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/tcpip_adapter/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/ulp/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/unity/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/vfs/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/wear_levelling/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/wpa_supplicant/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/xtensa-debug-module/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/app_trace_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/app_update_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader_support_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/cxx_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/driver_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/esp32_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/fatfs_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/freertos_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/heap_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/libsodium_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/mbedtls_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/my_string_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/newlib_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/nvs_flash_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/partition_table_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/pthread_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/sdmmc_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/soc_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/spi_flash_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/spiffs_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/ulp_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/vfs_test/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/wear_levelling_test/component_project_vars.mk APP_ELF => /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/bootloader.elf COMPONENT_LIBRARIES => COMPONENT_LINKER_DEPS => COMPONENT_PROJECT_VARS => /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/esptool_py/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/bootloader_support/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/log/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/spi_flash/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/micro-ecc/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/soc/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/main/component_project_vars.mk APP_ELF => /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/bootloader.elf COMPONENT_LIBRARIES => bootloader_support log spi_flash micro-ecc soc main COMPONENT_LINKER_DEPS => /opt/esp-idf-v30/components/bootloader/subproject/main/esp32.bootloader.ld /opt/esp-idf-v30/components/esp32/ld/esp32.rom.ld /opt/esp-idf-v30/components/esp32/ld/esp32.rom.spiram_incompatible_fns.ld /opt/esp-idf-v30/components/esp32/ld/esp32.peripherals.ld /opt/esp-idf-v30/components/bootloader/subproject/main/esp32.bootloader.rom.ld COMPONENT_PROJECT_VARS => /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/esptool_py/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/bootloader_support/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/log/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/spi_flash/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/micro-ecc/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/soc/component_project_vars.mk /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/build/bootloader/main/component_project_vars.mk CC build/bootloader/bootloader_support/src/bootloader_random.o CC build/bootloader/bootloader_support/src/flash_encrypt.o CC build/bootloader/bootloader_support/src/bootloader_sha.o CC build/bootloader/bootloader_support/src/esp_image_format.o CC build/bootloader/bootloader_support/src/flash_partitions.o CC build/bootloader/bootloader_support/src/secure_boot_signatures.o CC build/bootloader/bootloader_support/src/bootloader_clock.o CC build/bootloader/bootloader_support/src/secure_boot.o CC build/bootloader/bootloader_support/src/efuse.o CC build/bootloader/bootloader_support/src/bootloader_flash.o AR build/bootloader/bootloader_support/libbootloader_support.a CC build/bootloader/log/log.o AR build/bootloader/log/liblog.a CC build/bootloader/spi_flash/spi_flash_rom_patch.o AR build/bootloader/spi_flash/libspi_flash.a CC build/bootloader/micro-ecc/micro-ecc/uECC.o AR build/bootloader/micro-ecc/libmicro-ecc.a CC build/bootloader/soc/esp32/rtc_clk.o CC build/bootloader/soc/esp32/rtc_time.o CC build/bootloader/soc/esp32/rtc_sleep.o CC build/bootloader/soc/esp32/rtc_init.o CC build/bootloader/soc/esp32/soc_memory_layout.o CC build/bootloader/soc/esp32/cpu_util.o CC build/bootloader/soc/esp32/rtc_pm.o AR build/bootloader/soc/libsoc.a CC build/bootloader/main/flash_qio_mode.o CC build/bootloader/main/bootloader_start.o AR build/bootloader/main/libmain.a LD build/bootloader/bootloader.elf esptool.py v2.1 Building partitions from /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/partition_table_unit_test_app.csv... CC build/app_trace/app_trace.o CC build/app_trace/host_file_io.o CC build/app_trace/app_trace_util.o CC build/app_trace/gcov/gcov_rtio.o AR build/app_trace/libapp_trace.a CC build/app_update/esp_ota_ops.o AR build/app_update/libapp_update.a AR build/aws_iot/libaws_iot.a CC build/bootloader_support/src/bootloader_random.o CC build/bootloader_support/src/flash_encrypt.o CC build/bootloader_support/src/bootloader_sha.o CC build/bootloader_support/src/esp_image_format.o CC build/bootloader_support/src/flash_partitions.o CC build/bootloader_support/src/secure_boot_signatures.o CC build/bootloader_support/src/bootloader_clock.o CC build/bootloader_support/src/secure_boot.o CC build/bootloader_support/src/efuse.o CC build/bootloader_support/src/bootloader_flash.o AR build/bootloader_support/libbootloader_support.a CC build/bt/bt.o AR build/bt/libbt.a CC build/coap/libcoap/src/address.o CC build/coap/libcoap/src/async.o CC build/coap/libcoap/src/block.o CC build/coap/libcoap/src/coap_time.o CC build/coap/libcoap/src/debug.o CC build/coap/libcoap/src/encode.o CC build/coap/libcoap/src/hashkey.o CC build/coap/libcoap/src/mem.o CC build/coap/libcoap/src/net.o CC build/coap/libcoap/src/option.o CC build/coap/libcoap/src/pdu.o CC build/coap/libcoap/src/resource.o CC build/coap/libcoap/src/str.o CC build/coap/libcoap/src/subscribe.o CC build/coap/libcoap/src/uri.o CC build/coap/port/coap_io_socket.o AR build/coap/libcoap.a CC build/console/linenoise/linenoise.o CC build/console/argtable3/argtable3.o CC build/console/commands.o CC build/console/split_argv.o AR build/console/libconsole.a CXX build/cxx/cxx_exception_stubs.o CXX build/cxx/cxx_guards.o AR build/cxx/libcxx.a CC build/driver/rtc_module.o CC build/driver/i2c.o CC build/driver/sdmmc_host.o CC build/driver/spi_slave.o CC build/driver/sdmmc_transaction.o CC build/driver/mcpwm.o CC build/driver/rmt.o CC build/driver/sdspi_crc.o CC build/driver/pcnt.o CC build/driver/timer.o CC build/driver/gpio.o CC build/driver/sdspi_host.o CC build/driver/ledc.o CC build/driver/periph_ctrl.o CC build/driver/i2s.o CC build/driver/sdspi_transaction.o CC build/driver/uart.o CC build/driver/sigmadelta.o CC build/driver/spi_master.o CC build/driver/spi_common.o AR build/driver/libdriver.a CC build/esp32/int_wdt.o CC build/esp32/brownout.o CC build/esp32/system_api.o CC build/esp32/restore.o CC build/esp32/dport_access.o CC build/esp32/esp_timer.o CC build/esp32/hw_random.o CC build/esp32/pm_esp32.o CC build/esp32/event_loop.o CC build/esp32/pm_locks.o CC build/esp32/core_dump.o CC build/esp32/ets_timer_legacy.o CC build/esp32/intr_alloc.o CC build/esp32/ipc.o CC build/esp32/cache_err_int.o CC build/esp32/fast_crypto_ops.o CC build/esp32/freertos_hooks.o CC build/esp32/clk.o CC build/esp32/spiram_psram.o CC build/esp32/esp_timer_esp32.o CC build/esp32/wifi_init.o CC build/esp32/pm_trace.o CC build/esp32/phy_init.o CC build/esp32/crosscore_int.o CC build/esp32/wifi_internal.o CC build/esp32/gdbstub.o CC build/esp32/lib_printf.o CC build/esp32/cpu_start.o CC build/esp32/spiram.o CC build/esp32/sleep_modes.o CC build/esp32/smartconfig.o CC build/esp32/task_wdt.o CC build/esp32/event_default_handlers.o CC build/esp32/stack_check.o CC build/esp32/panic.o CC build/esp32/hwcrypto/aes.o CC build/esp32/hwcrypto/sha.o AS build/esp32/dport_panic_highint_hdl.o AR build/esp32/libesp32.a CC build/esp_adc_cal/esp_adc_cal.o AR build/esp_adc_cal/libesp_adc_cal.a CC build/ethernet/emac_main.o CC build/ethernet/emac_dev.o CC build/ethernet/eth_phy/phy_tlk110.o CC build/ethernet/eth_phy/phy_lan8720.o CC build/ethernet/eth_phy/phy_common.o AR build/ethernet/libethernet.a CC build/expat/library/xmltok_impl.o CC build/expat/library/xmlrole.o CC build/expat/library/xmlparse.o CC build/expat/library/xmltok.o CC build/expat/library/xmltok_ns.o CC build/expat/port/chardata.o CC build/expat/port/expat_element.o CC build/expat/port/minicheck.o AR build/expat/libexpat.a CC build/fatfs/src/diskio.o CC build/fatfs/src/vfs_fat.o CC build/fatfs/src/diskio_spiflash.o CC build/fatfs/src/vfs_fat_spiflash.o CC build/fatfs/src/diskio_sdmmc.o CC build/fatfs/src/vfs_fat_sdmmc.o CC build/fatfs/src/ffunicode.o CC build/fatfs/src/ff.o CC build/fatfs/src/ffsystem.o AR build/fatfs/libfatfs.a CC build/freertos/xtensa_overlay_os_hook.o CC build/freertos/FreeRTOS-openocd.o CC build/freertos/timers.o CC build/freertos/tasks.o CC build/freertos/event_groups.o CC build/freertos/port.o CC build/freertos/xtensa_init.o CC build/freertos/list.o CC build/freertos/croutine.o CC build/freertos/queue.o CC build/freertos/xtensa_intr.o CC build/freertos/ringbuf.o AS build/freertos/portasm.o AS build/freertos/xtensa_vector_defaults.o AS build/freertos/xtensa_vectors.o AS build/freertos/xtensa_context.o AS build/freertos/xtensa_intr_asm.o AR build/freertos/libfreertos.a CC build/heap/heap_caps_init.o CC build/heap/heap_caps.o CC build/heap/multi_heap.o CC build/heap/heap_trace.o CC build/heap/multi_heap_poisoning.o AR build/heap/libheap.a AR build/idf_test/libidf_test.a CC build/jsmn/src//jsmn.o AR build/jsmn/libjsmn.a CC build/json/cJSON/cJSON.o CC build/json/cJSON/test.o CC build/json/cJSON/cJSON_Utils.o AR build/json/libjson.a CC build/libsodium/port/randombytes_esp32.o CC build/libsodium/libsodium/src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.o CC build/libsodium/libsodium/src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.o CC build/libsodium/libsodium/src/libsodium/crypto_auth/crypto_auth.o CC build/libsodium/libsodium/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.o CC build/libsodium/libsodium/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.o CC build/libsodium/libsodium/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.o CC build/libsodium/libsodium/src/libsodium/crypto_box/crypto_box_easy.o CC build/libsodium/libsodium/src/libsodium/crypto_box/crypto_box.o CC build/libsodium/libsodium/src/libsodium/crypto_box/crypto_box_seal.o CC build/libsodium/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.o CC build/libsodium/libsodium/src/libsodium/crypto_core/curve25519/ref10/curve25519_ref10.o CC build/libsodium/libsodium/src/libsodium/crypto_core/hchacha20/core_hchacha20.o CC build/libsodium/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.o CC build/libsodium/libsodium/src/libsodium/crypto_core/hsalsa20/core_hsalsa20.o CC build/libsodium/libsodium/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/crypto_generichash.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/generichash_blake2.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.o CC build/libsodium/libsodium/src/libsodium/crypto_hash/crypto_hash.o CC build/libsodium/libsodium/src/libsodium/crypto_hash/sha256/hash_sha256.o CC build/libsodium/libsodium/src/libsodium/crypto_hash/sha512/hash_sha512.o CC build/libsodium/libsodium/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.o CC build/libsodium/libsodium/src/libsodium/crypto_kdf/crypto_kdf.o CC build/libsodium/libsodium/src/libsodium/crypto_kx/crypto_kx.o CC build/libsodium/libsodium/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.o CC build/libsodium/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.o CC build/libsodium/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-encoding.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/blake2b-long.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/crypto_pwhash.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.o CC build/libsodium/libsodium/src/libsodium/crypto_scalarmult/crypto_scalarmult.o CC build/libsodium/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.o CC build/libsodium/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.o CC build/libsodium/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox.o CC build/libsodium/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox_easy.o CC build/libsodium/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.o CC build/libsodium/libsodium/src/libsodium/crypto_shorthash/crypto_shorthash.o CC build/libsodium/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.o CC build/libsodium/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.o CC build/libsodium/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.o CC build/libsodium/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.o CC build/libsodium/libsodium/src/libsodium/crypto_sign/crypto_sign.o CC build/libsodium/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519.o CC build/libsodium/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.o CC build/libsodium/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.o CC build/libsodium/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.o CC build/libsodium/libsodium/src/libsodium/crypto_sign/ed25519/ref10/obsolete.o CC build/libsodium/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.o CC build/libsodium/libsodium/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.o CC build/libsodium/libsodium/src/libsodium/crypto_stream/crypto_stream.o CC build/libsodium/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20.o CC build/libsodium/libsodium/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.o CC build/libsodium/libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.o CC build/libsodium/libsodium/src/libsodium/crypto_verify/sodium/verify.o CC build/libsodium/libsodium/src/libsodium/randombytes/randombytes.o CC build/libsodium/libsodium/src/libsodium/sodium/utils.o CC build/libsodium/libsodium/src/libsodium/sodium/runtime.o CC build/libsodium/libsodium/src/libsodium/sodium/version.o CC build/libsodium/libsodium/src/libsodium/sodium/core.o CC build/libsodium/libsodium/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.o CC build/libsodium/libsodium/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.o AR build/libsodium/liblibsodium.a CC build/log/log.o AR build/log/liblog.a CC build/lwip/api/sockets.o CC build/lwip/api/api_msg.o CC build/lwip/api/err.o CC build/lwip/api/netbuf.o CC build/lwip/api/tcpip.o CC build/lwip/api/netifapi.o CC build/lwip/api/api_lib.o CC build/lwip/api/netdb.o CC build/lwip/api/pppapi.o CC build/lwip/apps/dhcpserver.o CC build/lwip/apps/sntp/sntp.o CC build/lwip/apps/ping/esp_ping.o CC build/lwip/apps/ping/ping.o CC build/lwip/core/tcp_out.o CC build/lwip/core/udp.o CC build/lwip/core/def.o CC build/lwip/core/timers.o CC build/lwip/core/stats.o CC build/lwip/core/netif.o CC build/lwip/core/pbuf.o CC build/lwip/core/tcp_in.o CC build/lwip/core/raw.o CC build/lwip/core/ip.o CC build/lwip/core/dns.o CC build/lwip/core/tcp.o CC build/lwip/core/sys.o CC build/lwip/core/memp.o CC build/lwip/core/init.o CC build/lwip/core/inet_chksum.o CC build/lwip/core/mem.o CC build/lwip/core/ipv4/icmp.o CC build/lwip/core/ipv4/autoip.o CC build/lwip/core/ipv4/ip4.o CC build/lwip/core/ipv4/igmp.o CC build/lwip/core/ipv4/ip4_addr.o CC build/lwip/core/ipv4/dhcp.o CC build/lwip/core/ipv4/ip_frag.o CC build/lwip/core/ipv6/icmp6.o CC build/lwip/core/ipv6/ethip6.o CC build/lwip/core/ipv6/mld6.o CC build/lwip/core/ipv6/nd6.o CC build/lwip/core/ipv6/ip6.o CC build/lwip/core/ipv6/ip6_addr.o CC build/lwip/core/ipv6/inet6.o CC build/lwip/core/ipv6/dhcp6.o CC build/lwip/core/ipv6/ip6_frag.o CC build/lwip/netif/ethernetif.o CC build/lwip/netif/lowpan6.o CC build/lwip/netif/ethernet.o CC build/lwip/netif/etharp.o CC build/lwip/netif/slipif.o CC build/lwip/port/freertos/sys_arch.o CC build/lwip/port/netif/ethernetif.o CC build/lwip/port/netif/wlanif.o CC build/lwip/port/debug/lwip_debug.o CC build/lwip/port/vfs_lwip.o AR build/lwip/liblwip.a CC build/main/app_main.o AR build/main/libmain.a CC build/mbedtls/library/havege.o CC build/mbedtls/library/ssl_cookie.o CC build/mbedtls/library/md5.o CC build/mbedtls/library/certs.o CC build/mbedtls/library/ssl_ciphersuites.o CC build/mbedtls/library/camellia.o CC build/mbedtls/library/x509_crl.o CC build/mbedtls/library/threading.o CC build/mbedtls/library/aesni.o CC build/mbedtls/library/bignum.o CC build/mbedtls/library/arc4.o CC build/mbedtls/library/cipher_wrap.o CC build/mbedtls/library/aes.o CC build/mbedtls/library/xtea.o CC build/mbedtls/library/base64.o CC build/mbedtls/library/sha512.o CC build/mbedtls/library/pkcs11.o CC build/mbedtls/library/asn1write.o CC build/mbedtls/library/oid.o CC build/mbedtls/library/ecjpake.o CC build/mbedtls/library/ssl_tls.o CC build/mbedtls/library/debug.o CC build/mbedtls/library/ecdh.o CC build/mbedtls/library/x509_crt.o CC build/mbedtls/library/ssl_srv.o CC build/mbedtls/library/sha1.o CC build/mbedtls/library/ecdsa.o CC build/mbedtls/library/md2.o CC build/mbedtls/library/x509_create.o CC build/mbedtls/library/cmac.o CC build/mbedtls/library/gcm.o CC build/mbedtls/library/version.o CC build/mbedtls/library/pem.o CC build/mbedtls/library/padlock.o CC build/mbedtls/library/asn1parse.o CC build/mbedtls/library/timing.o CC build/mbedtls/library/ssl_cli.o CC build/mbedtls/library/pkwrite.o CC build/mbedtls/library/ssl_cache.o CC build/mbedtls/library/sha256.o CC build/mbedtls/library/md_wrap.o CC build/mbedtls/library/entropy.o CC build/mbedtls/library/md.o CC build/mbedtls/library/rsa.o CC build/mbedtls/library/ripemd160.o CC build/mbedtls/library/version_features.o CC build/mbedtls/library/cipher.o CC build/mbedtls/library/entropy_poll.o CC build/mbedtls/library/dhm.o CC build/mbedtls/library/error.o CC build/mbedtls/library/ssl_ticket.o CC build/mbedtls/library/x509.o CC build/mbedtls/library/blowfish.o CC build/mbedtls/library/ecp.o CC build/mbedtls/library/md4.o CC build/mbedtls/library/x509_csr.o CC build/mbedtls/library/pkparse.o CC build/mbedtls/library/pk.o CC build/mbedtls/library/pkcs5.o CC build/mbedtls/library/ccm.o CC build/mbedtls/library/pkcs12.o CC build/mbedtls/library/ecp_curves.o CC build/mbedtls/library/pk_wrap.o CC build/mbedtls/library/x509write_crt.o CC build/mbedtls/library/ctr_drbg.o CC build/mbedtls/library/platform.o CC build/mbedtls/library/x509write_csr.o CC build/mbedtls/library/des.o CC build/mbedtls/library/hmac_drbg.o CC build/mbedtls/library/memory_buffer_alloc.o CC build/mbedtls/port/esp_sha512.o CC build/mbedtls/port/esp_hardware.o CC build/mbedtls/port/net_sockets.o CC build/mbedtls/port/esp_bignum.o CC build/mbedtls/port/esp_sha256.o CC build/mbedtls/port/esp_sha1.o CC build/mbedtls/port/mbedtls_debug.o AR build/mbedtls/libmbedtls.a CC build/mdns/mdns.o CC build/mdns/mdns_console.o AR build/mdns/libmdns.a CC build/micro-ecc/micro-ecc/uECC.o AR build/micro-ecc/libmicro-ecc.a CC build/my_string/src/trim.o AR build/my_string/libmy_string.a CC build/newlib/locks.o CC build/newlib/syscall_table.o CC build/newlib/syscalls.o CC build/newlib/reent_init.o CC build/newlib/time.o AR build/newlib/libnewlib.a CC build/nghttp/nghttp2/lib/nghttp2_map.o CC build/nghttp/nghttp2/lib/nghttp2_queue.o CC build/nghttp/nghttp2/lib/nghttp2_pq.o CC build/nghttp/nghttp2/lib/nghttp2_submit.o CC build/nghttp/nghttp2/lib/nghttp2_debug.o CC build/nghttp/nghttp2/lib/nghttp2_hd_huffman_data.o CC build/nghttp/nghttp2/lib/nghttp2_frame.o CC build/nghttp/nghttp2/lib/nghttp2_helper.o CC build/nghttp/nghttp2/lib/nghttp2_npn.o CC build/nghttp/nghttp2/lib/nghttp2_option.o CC build/nghttp/nghttp2/lib/nghttp2_buf.o CC build/nghttp/nghttp2/lib/nghttp2_priority_spec.o CC build/nghttp/nghttp2/lib/nghttp2_hd.o CC build/nghttp/nghttp2/lib/nghttp2_stream.o CC build/nghttp/nghttp2/lib/nghttp2_session.o CC build/nghttp/nghttp2/lib/nghttp2_callbacks.o CC build/nghttp/nghttp2/lib/nghttp2_rcbuf.o CC build/nghttp/nghttp2/lib/nghttp2_hd_huffman.o CC build/nghttp/nghttp2/lib/nghttp2_mem.o CC build/nghttp/nghttp2/lib/nghttp2_version.o CC build/nghttp/nghttp2/lib/nghttp2_outbound_item.o CC build/nghttp/nghttp2/lib/nghttp2_http.o CC build/nghttp/port/http_parser.o AR build/nghttp/libnghttp.a CXX build/nvs_flash/src/nvs_api.o CXX build/nvs_flash/src/nvs_storage.o CXX build/nvs_flash/src/nvs_pagemanager.o CXX build/nvs_flash/src/nvs_item_hash_list.o CXX build/nvs_flash/src/nvs_page.o CXX build/nvs_flash/src/nvs_types.o AR build/nvs_flash/libnvs_flash.a CC build/openssl/library/ssl_stack.o CC build/openssl/library/ssl_lib.o CC build/openssl/library/ssl_x509.o CC build/openssl/library/ssl_pkey.o CC build/openssl/library/ssl_methods.o CC build/openssl/library/ssl_cert.o CC build/openssl/platform/ssl_port.o CC build/openssl/platform/ssl_pm.o AR build/openssl/libopenssl.a CC build/pthread/pthread.o CC build/pthread/pthread_cond_var.o CC build/pthread/pthread_local_storage.o AR build/pthread/libpthread.a CC build/sdmmc/sdmmc_cmd.o AR build/sdmmc/libsdmmc.a CC build/soc/esp32/rtc_clk.o CC build/soc/esp32/rtc_time.o CC build/soc/esp32/rtc_sleep.o CC build/soc/esp32/rtc_init.o CC build/soc/esp32/soc_memory_layout.o CC build/soc/esp32/cpu_util.o CC build/soc/esp32/rtc_pm.o AR build/soc/libsoc.a CC build/spi_flash/flash_ops.o CC build/spi_flash/cache_utils.o CC build/spi_flash/spi_flash_rom_patch.o CC build/spi_flash/partition.o CC build/spi_flash/flash_mmap.o AR build/spi_flash/libspi_flash.a CC build/spiffs/esp_spiffs.o CC build/spiffs/spiffs/src/spiffs_hydrogen.o CC build/spiffs/spiffs/src/spiffs_check.o CC build/spiffs/spiffs/src/spiffs_nucleus.o CC build/spiffs/spiffs/src/spiffs_gc.o CC build/spiffs/spiffs/src/spiffs_cache.o AR build/spiffs/libspiffs.a CC build/tcpip_adapter/tcpip_adapter_lwip.o AR build/tcpip_adapter/libtcpip_adapter.a CC build/ulp/ulp_macro.o CC build/ulp/ulp.o AR build/ulp/libulp.a CC build/unity/test_utils.o CC build/unity/ref_clock.o CC build/unity/unity.o CC build/unity/unity_platform.o AR build/unity/libunity.a CC build/vfs/vfs.o CC build/vfs/vfs_uart.o AR build/vfs/libvfs.a CXX build/wear_levelling/WL_Ext_Perf.o CXX build/wear_levelling/Partition.o CXX build/wear_levelling/SPI_Flash.o CXX build/wear_levelling/WL_Ext_Safe.o CXX build/wear_levelling/crc32.o CXX build/wear_levelling/WL_Flash.o CXX build/wear_levelling/wear_levelling.o AR build/wear_levelling/libwear_levelling.a CC build/wpa_supplicant/src/crypto/ms_funcs.o CC build/wpa_supplicant/src/crypto/crypto_internal-cipher.o CC build/wpa_supplicant/src/crypto/crypto_internal-modexp.o CC build/wpa_supplicant/src/crypto/bignum.o CC build/wpa_supplicant/src/crypto/sha1-pbkdf2.o CC build/wpa_supplicant/src/crypto/aes-cbc.o CC build/wpa_supplicant/src/crypto/md5.o CC build/wpa_supplicant/src/crypto/rc4.o CC build/wpa_supplicant/src/crypto/sha256.o CC build/wpa_supplicant/src/crypto/dh_groups.o CC build/wpa_supplicant/src/crypto/md4-internal.o CC build/wpa_supplicant/src/crypto/sha1-internal.o CC build/wpa_supplicant/src/crypto/aes-wrap.o CC build/wpa_supplicant/src/crypto/crypto_internal.o CC build/wpa_supplicant/src/crypto/dh_group5.o CC build/wpa_supplicant/src/crypto/des-internal.o CC build/wpa_supplicant/src/crypto/crypto_internal-rsa.o CC build/wpa_supplicant/src/crypto/aes-unwrap.o CC build/wpa_supplicant/src/crypto/aes-internal-dec.o CC build/wpa_supplicant/src/crypto/sha1.o CC build/wpa_supplicant/src/crypto/aes-internal.o CC build/wpa_supplicant/src/crypto/md5-internal.o CC build/wpa_supplicant/src/crypto/sha256-internal.o CC build/wpa_supplicant/src/crypto/aes-internal-enc.o CC build/wpa_supplicant/port/os_xtensa.o CC build/wpa_supplicant/src/fast_crypto/fast_crypto_internal-cipher.o CC build/wpa_supplicant/src/fast_crypto/fast_crypto_internal-modexp.o CC build/wpa_supplicant/src/fast_crypto/fast_aes-unwrap.o CC build/wpa_supplicant/src/fast_crypto/fast_sha256.o CC build/wpa_supplicant/src/fast_crypto/fast_crypto_internal.o CC build/wpa_supplicant/src/fast_crypto/fast_aes-cbc.o CC build/wpa_supplicant/src/fast_crypto/fast_sha256-internal.o CC build/wpa_supplicant/src/fast_crypto/fast_aes-wrap.o AR build/wpa_supplicant/libwpa_supplicant.a CC build/xtensa-debug-module/trax.o CC build/xtensa-debug-module/eri.o AR build/xtensa-debug-module/libxtensa-debug-module.a CC build/app_trace_test/test_trace.o AR build/app_trace_test/libapp_trace_test.a CC build/app_update_test/test_ota_ops.o AR build/app_update_test/libapp_update_test.a CC build/bootloader_support_test/test_verify_image.o AR build/bootloader_support_test/libbootloader_support_test.a CXX build/cxx_test/test_cxx.o AR build/cxx_test/libcxx_test.a CC build/driver_test/test_adc2.o CC build/driver_test/test_spi_master.o CC build/driver_test/test_spi_slave.o AR build/driver_test/libdriver_test.a CC build/esp32_test/test_pm.o CC build/esp32_test/test_tsens.o CC build/esp32_test/test_exception.o CC build/esp32_test/test_intr_alloc.o CC build/esp32_test/test_ahb_arb.o CC build/esp32_test/test_ets_timer.o CC build/esp32_test/test_fp.o CC build/esp32_test/test_fastbus.o CC build/esp32_test/test_sleep.o CC build/esp32_test/test_miniz.o CC build/esp32_test/test_unal_dma.o CC build/esp32_test/test_int_wdt.o CC build/esp32_test/test_esp_timer.o CC build/esp32_test/test_restart.o CC build/esp32_test/test_spiram_cache_flush.o CC build/esp32_test/test_dport.o CC build/esp32_test/test_stack_check.o CC build/esp32_test/test_delay.o XXD logo.jpg CC build/esp32_test/test_tjpgd.o CXX build/esp32_test/test_stack_check_cxx.o AS build/esp32_test/test_ahb_arb_asm.o AS build/esp32_test/test_fastbus_asm.o AR build/esp32_test/libesp32_test.a CC build/fatfs_test/test_fatfs_spiflash.o CC build/fatfs_test/test_fatfs_sdmmc.o CC build/fatfs_test/test_fatfs_common.o AR build/fatfs_test/libfatfs_test.a CC build/freertos_test/test_timers.o CC build/freertos_test/test_tasks_snapshot.o CC build/freertos_test/test_freertos.o CC build/freertos_test/test_preemption.o CC build/freertos_test/test_freertos_task_notify.o CC build/freertos_test/test_freertos_trace_utilities.o CC build/freertos_test/test_freertos_task_delete.o CC build/freertos_test/test_panic.o CC build/freertos_test/test_task_priorities.o CC build/freertos_test/test_freertos_eventgroups.o CC build/freertos_test/test_task_suspend_resume.o CC build/freertos_test/test_ringbuf.o CC build/freertos_test/test_newlib_reent.o CC build/freertos_test/test_freertos_isinisrcontext.o CC build/freertos_test/test_freertos_get_state.o CC build/freertos_test/test_freertos_debug_functions.o CC build/freertos_test/test_spinlocks.o CC build/freertos_test/test_suspend_scheduler.o CC build/freertos_test/test_freertos_task_delay_until.o CC build/freertos_test/test_freertos_backported_functions.o AR build/freertos_test/libfreertos_test.a CC build/heap_test/test_malloc_caps.o CC build/heap_test/test_realloc.o CC build/heap_test/test_runtime_heap_reg.o CC build/heap_test/test_heap_trace.o CC build/heap_test/test_malloc.o AR build/heap_test/libheap_test.a not linking libsodium tests, use 'TEST_COMPONENTS=libsodium' to test it CC build/libsodium_test/test_sodium.o CC build/libsodium_test/../libsodium/test/default/chacha20.o CC build/libsodium_test/../libsodium/test/default/aead_chacha20poly1305.o CC build/libsodium_test/../libsodium/test/default/box.o CC build/libsodium_test/../libsodium/test/default/box2.o CC build/libsodium_test/../libsodium/test/default/ed25519_convert.o CC build/libsodium_test/../libsodium/test/default/sign.o CC build/libsodium_test/../libsodium/test/default/hash.o AR build/libsodium_test/liblibsodium_test.a CC build/mbedtls_test/test_mbedtls.o CC build/mbedtls_test/test_rsa.o CC build/mbedtls_test/test_apb_dport_access.o CC build/mbedtls_test/test_mbedtls_sha.o CC build/mbedtls_test/test_mbedtls_mpi.o AR build/mbedtls_test/libmbedtls_test.a CC build/my_string_test/test_mystring.o AR build/my_string_test/libmy_string_test.a CC build/newlib_test/test_newlib.o CC build/newlib_test/test_time.o AR build/newlib_test/libnewlib_test.a CC build/nvs_flash_test/test_nvs.o AR build/nvs_flash_test/libnvs_flash_test.a CC build/partition_table_test/test_partition.o AR build/partition_table_test/libpartition_table_test.a CC build/pthread_test/test_pthread_local_storage.o CXX build/pthread_test/test_cxx_cond_var.o CXX build/pthread_test/test_pthread_cxx.o CXX build/pthread_test/test_cxx_std_future.o AR build/pthread_test/libpthread_test.a CC build/sdmmc_test/test_sd.o AR build/sdmmc_test/libsdmmc_test.a CC build/soc_test/../esp32/test/test_rtc_clk.o AR build/soc_test/libsoc_test.a CC build/spi_flash_test/test_partitions.o CC build/spi_flash_test/test_large_flash_writes.o CC build/spi_flash_test/test_flash_encryption.o CC build/spi_flash_test/test_out_of_bounds_write.o CC build/spi_flash_test/test_read_write.o CC build/spi_flash_test/test_spi_flash.o CC build/spi_flash_test/test_cache_disabled.o CC build/spi_flash_test/test_mmap.o AR build/spi_flash_test/libspi_flash_test.a CC build/spiffs_test/test_spiffs.o AR build/spiffs_test/libspiffs_test.a CC build/ulp_test/test_ulp.o AR build/ulp_test/libulp_test.a CC build/vfs_test/test_vfs_uart.o CC build/vfs_test/test_vfs_paths.o AR build/vfs_test/libvfs_test.a CC build/wear_levelling_test/test_wl.o AR build/wear_levelling_test/libwear_levelling_test.a LD build/unit-test-app.elf esptool.py v2.1 Flashing binaries to serial port COM3 (app at offset 0x10000)... esptool.py v2.1 Connecting.... Chip is ESP32D0WDQ6 (revision 1) Uploading stub... Running stub... Stub running... Changing baud rate to 921600 Changed. Configuring flash size... Compressed 17568 bytes to 10490... Wrote 17568 bytes (10490 compressed) at 0x00001000 in 0.2 seconds (effective 899.5 kbit/s)... Hash of data verified. Compressed 1172832 bytes to 652382... Wrote 1172832 bytes (652382 compressed) at 0x00010000 in 11.7 seconds (effective 801.9 kbit/s)... Hash of data verified. Compressed 3072 bytes to 141... Wrote 3072 bytes (141 compressed) at 0x00008000 in 0.0 seconds (effective 1572.4 kbit/s)... Hash of data verified. Leaving... Hard resetting...
今度は成功したようです。
単体テストを試してみましょう。
$ make monitor ↵ MONITOR --- idf_monitor on COM3 921600 --- --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- I (389) cpu_start: Pro cpu up. I (389) cpu_start: Starting app cpu, entry point is 0x400812c4 0x400812c4: call_start_cpu1 at C:/msys32/opt/esp-idf-v30/components/esp32/cpu_start.c:215 I (0) cpu_start: App cpu up. I (389) heap_init: Initializing. RAM available for dynamic allocation: D (390) heap_init: New heap initialised at 0x3ffae6e0 I (390) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM D (392) heap_init: New heap initialised at 0x3ffc09b8 I (392) heap_init: At 3FFC09B8 len 0001F648 (125 KiB): DRAM I (393) heap_init: At 3FFE0440 len 00003BC0 (14 KiB): D/IRAM I (393) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM D (396) heap_init: New heap initialised at 0x40090300 I (396) heap_init: At 40090300 len 0000FD00 (63 KiB): IRAM I (396) cpu_start: Pro cpu start user code D (404) clk: RTC_SLOW_CLK calibration value: 3124595 V (181) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args V (181) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0xE D (182) intr_alloc: Connected src 46 to int 2 (cpu 0) V (182) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args V (183) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0xC0E D (184) intr_alloc: Connected src 57 to int 3 (cpu 0) V (185) pthread: pthread_once: call init_routine 0x3ffb5144 V (185) pthread: pthread_once: call init_routine 0x3ffb513c V (187) esp_pthread: pthread_cond_init 0x3ffbbd68 0x0 D (188) stack_chk: Intialize random stack guard V (188) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args V (188) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0x40E D (189) intr_alloc: Connected src 24 to int 9 (cpu 0) I (190) cpu_start: Starting scheduler on PRO CPU. V (0) intr_alloc: esp_intr_alloc_intrstatus (cpu 1): checking args V (0) intr_alloc: esp_intr_alloc_intrstatus (cpu 1): Args okay. Resulting flags 0x40E D (1) intr_alloc: Connected src 25 to int 2 (cpu 1) I (2) cpu_start: Starting scheduler on APP CPU. D (196) heap_init: New heap initialised at 0x3ffe0440 D (197) heap_init: New heap initialised at 0x3ffe4350 Press ENTER to see the list of tests. ↵ Here's the test menu, pick your combo: (1) "esp_ota_begin() verifies arguments" [ota] (2) "esp_ota_get_next_update_partition logic" [ota] (3) "Verify bootloader image in flash" [bootloader_support] (4) "Verify unit test app image" [bootloader_support] (5) "can use new and delete" [cxx] (6) "can call virtual functions" [cxx] (7) "can use static initializers for non-POD types" [cxx] (8) "can use std::vector" [cxx] (9) "static initialization guards work as expected" [cxx] (10) "global initializers run in the correct order" [cxx] (11) "before scheduler has started, static initializers work correctly" [cxx] (12) "adc2 work with wifi" [adc] (13) "SPI Master clockdiv calculation routines" [spi] (14) "SPI Master test" [spi][ignore] (15) "SPI Master test, interaction of multiple devs" [spi][ignore] (16) "SPI Master no response when switch from host1 (HSPI) to host2 (VSPI)" [spi] (17) "SPI Master DMA test, TX and RX in different regions" [spi] (18) "SPI Master DMA test: length, start, not aligned" [spi] (19) "SPI master variable cmd & addr test" [spi] (20) "test slave startup" [spi] (21) "Can dump power management lock stats" [pm] (22) "can control TSENS using registers" [rtc][ignore] (23) "make exception" [restart][reset=StoreProhibited,SW_CPU_RESET] (24) "Intr_alloc test, CPU-local int source" [esp32] (25) "Intr_alloc test, private ints" [esp32] (26) "Intr_alloc test, shared ints" [esp32] (27) "Can allocate IRAM int only with an IRAM handler" [esp32] (28) "allocate 2 handlers for a same source and remove the later one" [esp32] (29) "S32C1I vs AHB test (needs I2S)" [hw][ignore] (30) "ets_timer produces correct delay" [ets_timer] (31) "periodic ets_timer produces correct delays" [ets_timer] (32) "multiple ETSTimers are ordered correctly" [ets_timer] (33) "ETSTimers arm & disarm run from IRAM" [ets_timer] (34) "test FP add" [fp] (35) "test FP mul" [fp] (36) "test FP div" [fp] (37) "test FP sqrt" [fp] (38) "context switch saves FP registers" [fp] (39) "Fast I/O bus test" [hw][ignore] (40) "esp_deepsleep works" [deepsleep][reset=DEEPSLEEP_RESET] (41) "wake up using timer" [deepsleep][reset=DEEPSLEEP_RESET] (42) "wake up from light sleep using timer" [deepsleep] (43) "enter deep sleep on APP CPU and wake up using timer" [deepsleep][reset=DEEPSLEEP_RESET] (44) "wake up using ext0 (13 high)" [deepsleep][ignore] (45) "wake up using ext0 (13 low)" [deepsleep][ignore] (46) "wake up using ext1 when RTC_PERIPH is off (13 high)" [deepsleep][ignore] (47) "wake up using ext1 when RTC_PERIPH is off (13 low)" [deepsleep][ignore] (48) "wake up using ext1 when RTC_PERIPH is on (13 high)" [deepsleep][ignore] (49) "wake up using ext1 when RTC_PERIPH is on (13 low)" [deepsleep][ignore] (50) "Test miniz compression/decompression" [miniz][ignore] (51) "Unaligned DMA test (needs I2S)" [hw][ignore] (52) "Int wdt test" [esp32][reset=Interrupt wdt timeout on CPU0,SW_CPU_RESET] (53) "esp_timer orders timers correctly" [esp_timer] (54) "esp_timer produces correct delay" [esp_timer] (55) "periodic esp_timer produces correct delays" [esp_timer] (56) "multiple timers are ordered correctly" [esp_timer] (57) "esp_timer for very short intervals" [esp_timer] (58) "esp_timer_get_time call takes less than 1us" [esp_timer] (59) "esp_timer_get_time returns monotonic values" [esp_timer][ignore] (60) "Can dump esp_timer stats" [esp_timer] (61) "Can delete timer from callback" [esp_timer] (62) "restart from PRO CPU" [restart][reset=SW_CPU_RESET] (63) "restart from APP CPU" [restart][reset=SW_CPU_RESET] (64) "access DPORT and APB at same time" [esp32] (65) "stack smashing protection" [stack_check] [ignore] (66) "ets_delay produces correct delay on both CPUs" [delay] (67) "vTaskDelay produces correct delay on both CPUs" [delay] (68) "Test JPEG decompression library" [tjpgd] (69) "stack smashing protection CXX" [stack_check] [ignore] (70) "(WL) can format partition" [fatfs][wear_levelling] (71) "(WL) can create and write file" [fatfs][wear_levelling] (72) "(WL) can read file" [fatfs][wear_levelling] (73) "(WL) can open maximum number of files" [fatfs][wear_levelling] (74) "(WL) overwrite and append file" [fatfs][wear_levelling] (75) "(WL) can lseek" [fatfs][wear_levelling] (76) "(WL) stat returns correct values" [fatfs][wear_levelling] (77) "(WL) unlink removes a file" [fatfs][wear_levelling] (78) "(WL) link copies a file, rename moves a file" [fatfs][wear_levelling] (79) "(WL) can create and remove directories" [fatfs][wear_levelling] (80) "(WL) can opendir root directory of FS" [fatfs][wear_levelling] (81) "(WL) opendir, readdir, rewinddir, seekdir work as expected" [fatfs][wear_levelling] (82) "(WL) multiple tasks can use same volume" [fatfs][wear_levelling] (83) "(WL) write/read speed test" [fatfs][wear_levelling] (84) "Mount fails cleanly without card inserted" [fatfs][ignore] (85) "(SD) can create and write file" [fatfs][sdcard][ignore] (86) "(SD) can read file" [fatfs][ignore] (87) "(SD) overwrite and append file" [fatfs][sdcard][ignore] (88) "(SD) can lseek" [fatfs][sdcard][ignore] (89) "(SD) stat returns correct values" [fatfs][ignore] (90) "(SD) unlink removes a file" [fatfs][ignore] (91) "(SD) link copies a file, rename moves a file" [fatfs][ignore] (92) "(SD) can create and remove directories" [fatfs][ignore] (93) "(SD) can opendir root directory of FS" [fatfs][ignore] (94) "(SD) opendir, readdir, rewinddir, seekdir work as expected" [fatfs][ignore] (95) "(SD) multiple tasks can use same volume" [fatfs][ignore] (96) "(SD) write/read speed test" [fatfs][sdcard][ignore] (97) "(SD) mount two FAT partitions, SDMMC and WL, at the same time" [fatfs][sdcard][ignore] (98) "Oneshot FreeRTOS timers" [freertos] (99) "Recurring FreeRTOS timers" [freertos] (100) "Tasks snapshot" [freertos] (101) "Bunch of FreeRTOS tests" [freertos][ignore] (102) "Yield from lower priority task, same CPU" [freertos] (103) "Yield from lower priority task, other CPU" [freertos] (104) "Test Task_Notify" [freertos] (105) "Test freertos trace facility functions" [freertos] (106) "Test freertos uxTaskGetSystemState" [freertos] (107) "FreeRTOS Delete Tasks" [freertos] (108) "Panic handler" [freertos][ignore] (109) "Get/Set Priorities" [freertos] (110) "FreeRTOS Event Groups" [freertos] (111) "FreeRTOS Event Group Sync" [freertos] (112) "FreeRTOS Event Group ISR" [freertos] (113) "Suspend/resume task on same core" [freertos] (114) "Suspend/resume task on other core" [freertos] (115) "Suspend the current running task" [freertos] (116) "Resume task from ISR (same core)" [freertos] (117) "Resume task from ISR (other core)" [freertos] (118) "FreeRTOS ringbuffer test, no splitting items" [freertos] (119) "FreeRTOS ringbuffer test, w/ splitting items" [freertos] (120) "FreeRTOS ringbuffer test, no splitting items, arbitrary length buffer" [freertos] (121) "FreeRTOS ringbuffer test, w/ splitting items, arbitrary length buffer" [freertos] (122) "FreeRTOS ringbuffer test, check if zero-length items are handled correctly" [freertos] (123) "Test for per-task non-reentrant tasks" [freertos] (124) "xPortInIsrContext test" [freertos] (125) "Test eTaskGetState" [freertos] (126) "Test FreeRTOS Queue Registry" [freertos] (127) "portMUX spinlocks (no contention)" [freertos] (128) "portMUX recursive locks (no contention)" [freertos] (129) "portMUX cross-core locking" [freertos] (130) "portMUX high contention" [freertos] (131) "Scheduler disabled can handle a pending context switch on resume" [freertos] (132) "Scheduler disabled can wake multiple tasks on resume" [freertos] (133) "Scheduler disabled on CPU B, tasks on A can wake" [freertos] (134) "Test vTaskDelayUntil" [freertos] (135) "Test FreeRTOS backported timer functions" [freertos] (136) "Test FreeRTOS backported Queue and Semphr functions" [freertos] (137) "Test FreeRTOS static task allocation" [freertos] (138) "Test FreeRTOS backported eventgroup functions" [freertos] (139) "Test FreeRTOS thread local storage pointers and del cb" [freertos] (140) "Capabilities allocator test" [heap] (141) "heap_caps metadata test" [heap] (142) "heap_caps_xxx functions work with flash cache disabled" [heap] (143) "realloc move data to a new heap type" [heap] (144) "Allocate new heap at runtime" [heap][ignore] (145) "Allocate new heap with new capability" [heap][ignore] (146) "Add .bss memory to heap region runtime" [heap][ignore] (147) "Malloc/overwrite, then free all available DRAM" [heap] (148) "mbedtls AES self-tests" [aes] (149) "mbedtls MPI self-tests" [bignum] (150) "mbedtls RSA self-tests" [bignum] (151) "mbedtls RSA4096 cert" [mbedtls] (152) "mbedtls RSA2048 cert" [mbedtls] (153) "mbedtls SHA self-tests" [mbedtls] (154) "mbedtls SHA interleaving" [mbedtls] (155) "mbedtls SHA multithreading" [mbedtls] (156) "mbedtls SHA self-tests multithreaded" [mbedtls] (157) "mbedtls SHA512 clone" [mbedtls] (158) "mbedtls SHA384 clone" [mbedtls] (159) "mbedtls SHA256 clone" [mbedtls] (160) "test MPI multiplication" [bignum] (161) "test MPI modexp" [bignum] (162) "Left trim." [mystring] (163) "test ctype functions" [newlib] (164) "test atoX functions" [newlib][ignore] (165) "test sprintf function" [newlib] (166) "test sscanf function" [newlib] (167) "test time functions" [newlib] (168) "test asctime" [newlib] (169) "check if ROM or Flash is used for functions" [newlib] (170) "test 64bit int formats" [newlib] (171) "fmod and fmodf work as expected" [newlib] (172) "Reading RTC registers on APP CPU doesn't affect clock" [newlib] (173) "various nvs tests" [nvs] (174) "Can read partition table" [partition] (175) "Can write, read, mmap partition" [partition][ignore] (176) "pthread local storage basics" [pthread] (177) "pthread local storage unique keys" [pthread] (178) "pthread local storage destructor" [pthread] (179) "pthread local storage destructor in FreeRTOS task" [pthread] (180) "C++ condition_variable" [std::condition_variable] (181) "pthread C++" [pthread] (182) "pthread mix C/C++" [pthread] (183) "C++ future" [std::future] (184) "MMC_RSP_BITS" [sd] (185) "can probe SD" [sd][test_env=UT_T1_SDMODE][ignore] (186) "can probe SD(using SPI)" [sdspi][test_env=UT_T1_SPIMODE][ignore] (187) "can write and read back blocks" [sd][test_env=UT_T1_SDMODE][ignore] (188) "can write and read back blocks(using SPI)" [sdspi][test_env=UT_T1_SPIMODE][ignore] (189) "reads and writes with an unaligned buffer" [sd][test_env=UT_T1_SDMODE][ignore] (190) "RTC_SLOW_CLK sources calibration" [rtc_clk] (191) "Output 150k clock to GPIO25" [rtc_clk][ignore] (192) "Output 32k XTAL clock to GPIO25" [rtc_clk][ignore] (193) "Output 8M XTAL clock to GPIO25" [rtc_clk][ignore] (194) "Calculate 8M clock frequency" [rtc_clk] (195) "Test switching between PLL and XTAL" [rtc_clk] (196) "Test fast switching between PLL and XTAL" [rtc_clk] (197) "Test erase partition" [spi_flash] (198) "Test spi_flash_write large const buffer" [spi_flash] (199) "Test spi_flash_write large RAM buffer" [spi_flash] (200) "test 16 byte encrypted writes" [spi_flash] (201) "can't overwrite bootloader" [spi_flash] (202) "can't overwrite current running app" [spi_flash] (203) "Test spi_flash_read" [spi_flash] (204) "Test spi_flash_write" [spi_flash] (205) "flash write and erase work both on PRO CPU and on APP CPU" [spi_flash][ignore] (206) "spi flash functions can run along with IRAM interrupts" [spi_flash] (207) "spi_flash_cache_enabled() works on both CPUs" [spi_flash] (208) "invalid access to cache raises panic (PRO CPU)" [spi_flash][ignore] (209) "invalid access to cache raises panic (APP CPU)" [spi_flash][ignore] (210) "Can mmap into data address space" [spi_flash] (211) "Can mmap into instruction address space" [mmap] (212) "Can mmap unordered pages into contiguous memory" [spi_flash] (213) "flash_mmap invalidates just-written data" [spi_flash] (214) "flash_mmap can mmap after get enough free MMU pages" [spi_flash] (215) "phys2cache/cache2phys basic checks" [spi_flash] (216) "mmap consistent with phys2cache/cache2phys" [spi_flash] (217) "munmap followed by mmap flushes cache" [spi_flash] (218) "can format partition" [spiffs] (219) "can create and write file" [spiffs] (220) "can read file" [spiffs] (221) "can open maximum number of files" [spiffs] (222) "overwrite and append file" [spiffs] (223) "can lseek" [spiffs] (224) "stat returns correct values" [spiffs] (225) "unlink removes a file" [spiffs] (226) "rename moves a file" [spiffs] (227) "can opendir root directory of FS" [spiffs] (228) "opendir, readdir, rewinddir, seekdir work as expected" [spiffs] (229) "multiple tasks can use same volume" [spiffs] (230) "mtime is updated when file is opened" [spiffs] (231) "ulp add test" [ulp] (232) "ulp branch test" [ulp] (233) "ulp wakeup test" [ulp][ignore] (234) "ulp can write and read peripheral registers" [ulp] (235) "ULP I_WR_REG instruction test" [ulp] (236) "ulp controls RTC_IO" [ulp][ignore] (237) "ulp power consumption in deep sleep" [ulp][ignore] (238) "ulp timer setting" [ulp] (239) "ulp can use TSENS in deep sleep" [ulp][ignore] (240) "can use ADC in deep sleep" [ulp][ignore] (241) "can read from stdin" [vfs] (242) "CRs are removed from the stdin correctly" [vfs] (243) "can write to UART while another task is reading" [vfs] (244) "vfs parses paths correctly" [vfs] (245) "vfs checks mount point path" [vfs] (246) "wl_unmount doesn't leak memory" [wear_levelling] (247) "wl_mount check partition parameters" [wear_levelling][ignore] (248) "multiple tasks can access wl handle simultaneously" [wear_levelling] 162 ↵ Running Left trim.... E:/MyDocuments/Project/esp32/Unit_Test/components/my_string/test/test_mystring.c:29:Left trim.:PASS Test ran in 13ms ----------------------- 1 Tests 0 Failures 0 Ignored OK Enter next test, or 'enter' to see menu
テストの実行も成功で終了しました。
しかし、248件のテスト項目から目的の項目を見つけ出すのは至難の業です。対象のモジュールのみをテストできるようにコンパイルし直して、再びトライしてみましょう。
$ make clean ↵ $ make flash TEST_COMPONENTS='my_string' ↵ make[1]: ディレクトリ '/opt/esp-idf-v30/tools/kconfig' に入ります /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -MD -c -o mconf.o mconf.c flex -L -P zconf -o zconf.lex.c zconf.l bison -t -l -p zconf -o zconf.tab.c zconf.y sed -E "s/\\x0D$//" zconf.gperf | gperf -t --output-file zconf.hash.c -a -C -E -g -k '1,3,$' -p -t /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -MD -c -o zconf.tab.o zconf.tab.c lxdialog/check-lxdialog.sh -check /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -MD -lncursesw -lintl /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -MD -c -o lxdialog/checklist.o lxdialog/checklist.c /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -MD -c -o lxdialog/util.o lxdialog/util.c /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -MD -c -o lxdialog/inputbox.o lxdialog/inputbox.c /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -MD -c -o lxdialog/textbox.o lxdialog/textbox.c /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -MD -c -o lxdialog/yesno.o lxdialog/yesno.c /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -MD -c -o lxdialog/menubox.o lxdialog/menubox.c /usr/bin/gcc -o mconf mconf.o zconf.tab.o lxdialog/checklist.o lxdialog/util.o lxdialog/inputbox.o lxdialog/textbox.o lxdialog/yesno.o lxdialog/menubox.o -lncursesw -lintl /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -MD -c -o conf.o conf.c /usr/bin/gcc -o conf conf.o zconf.tab.o -lncursesw -lintl make[1]: ディレクトリ '/opt/esp-idf-v30/tools/kconfig' から出ます GENCONFIG CC build/bootloader/bootloader_support/src/bootloader_random.o CC build/bootloader/bootloader_support/src/flash_encrypt.o CC build/bootloader/bootloader_support/src/bootloader_sha.o CC build/bootloader/bootloader_support/src/esp_image_format.o CC build/bootloader/bootloader_support/src/flash_partitions.o CC build/bootloader/bootloader_support/src/secure_boot_signatures.o CC build/bootloader/bootloader_support/src/bootloader_clock.o CC build/bootloader/bootloader_support/src/secure_boot.o CC build/bootloader/bootloader_support/src/efuse.o CC build/bootloader/bootloader_support/src/bootloader_flash.o AR build/bootloader/bootloader_support/libbootloader_support.a CC build/bootloader/log/log.o AR build/bootloader/log/liblog.a CC build/bootloader/spi_flash/spi_flash_rom_patch.o AR build/bootloader/spi_flash/libspi_flash.a CC build/bootloader/micro-ecc/micro-ecc/uECC.o AR build/bootloader/micro-ecc/libmicro-ecc.a CC build/bootloader/soc/esp32/rtc_clk.o CC build/bootloader/soc/esp32/rtc_time.o CC build/bootloader/soc/esp32/rtc_sleep.o CC build/bootloader/soc/esp32/rtc_init.o CC build/bootloader/soc/esp32/soc_memory_layout.o CC build/bootloader/soc/esp32/cpu_util.o CC build/bootloader/soc/esp32/rtc_pm.o AR build/bootloader/soc/libsoc.a CC build/bootloader/main/flash_qio_mode.o CC build/bootloader/main/bootloader_start.o AR build/bootloader/main/libmain.a LD build/bootloader/bootloader.elf esptool.py v2.1 Building partitions from /e/MyDocuments/Project/esp32/Unit_Test/unit-test-app/partition_table_unit_test_app.csv... CC build/app_trace/app_trace.o CC build/app_trace/host_file_io.o CC build/app_trace/app_trace_util.o CC build/app_trace/gcov/gcov_rtio.o AR build/app_trace/libapp_trace.a CC build/app_update/esp_ota_ops.o AR build/app_update/libapp_update.a AR build/aws_iot/libaws_iot.a CC build/bootloader_support/src/bootloader_random.o CC build/bootloader_support/src/flash_encrypt.o CC build/bootloader_support/src/bootloader_sha.o CC build/bootloader_support/src/esp_image_format.o CC build/bootloader_support/src/flash_partitions.o CC build/bootloader_support/src/secure_boot_signatures.o CC build/bootloader_support/src/bootloader_clock.o CC build/bootloader_support/src/secure_boot.o CC build/bootloader_support/src/efuse.o CC build/bootloader_support/src/bootloader_flash.o AR build/bootloader_support/libbootloader_support.a CC build/bt/bt.o AR build/bt/libbt.a CC build/coap/libcoap/src/address.o CC build/coap/libcoap/src/async.o CC build/coap/libcoap/src/block.o CC build/coap/libcoap/src/coap_time.o CC build/coap/libcoap/src/debug.o CC build/coap/libcoap/src/encode.o CC build/coap/libcoap/src/hashkey.o CC build/coap/libcoap/src/mem.o CC build/coap/libcoap/src/net.o CC build/coap/libcoap/src/option.o CC build/coap/libcoap/src/pdu.o CC build/coap/libcoap/src/resource.o CC build/coap/libcoap/src/str.o CC build/coap/libcoap/src/subscribe.o CC build/coap/libcoap/src/uri.o CC build/coap/port/coap_io_socket.o AR build/coap/libcoap.a CC build/console/linenoise/linenoise.o CC build/console/argtable3/argtable3.o CC build/console/commands.o CC build/console/split_argv.o AR build/console/libconsole.a CXX build/cxx/cxx_exception_stubs.o CXX build/cxx/cxx_guards.o AR build/cxx/libcxx.a CC build/driver/rtc_module.o CC build/driver/i2c.o CC build/driver/sdmmc_host.o CC build/driver/spi_slave.o CC build/driver/sdmmc_transaction.o CC build/driver/mcpwm.o CC build/driver/rmt.o CC build/driver/sdspi_crc.o CC build/driver/pcnt.o CC build/driver/timer.o CC build/driver/gpio.o CC build/driver/sdspi_host.o CC build/driver/ledc.o CC build/driver/periph_ctrl.o CC build/driver/i2s.o CC build/driver/sdspi_transaction.o CC build/driver/uart.o CC build/driver/sigmadelta.o CC build/driver/spi_master.o CC build/driver/spi_common.o AR build/driver/libdriver.a CC build/esp32/int_wdt.o CC build/esp32/brownout.o CC build/esp32/system_api.o CC build/esp32/restore.o CC build/esp32/dport_access.o CC build/esp32/esp_timer.o CC build/esp32/hw_random.o CC build/esp32/pm_esp32.o CC build/esp32/event_loop.o CC build/esp32/pm_locks.o CC build/esp32/core_dump.o CC build/esp32/ets_timer_legacy.o CC build/esp32/intr_alloc.o CC build/esp32/ipc.o CC build/esp32/cache_err_int.o CC build/esp32/fast_crypto_ops.o CC build/esp32/freertos_hooks.o CC build/esp32/clk.o CC build/esp32/spiram_psram.o CC build/esp32/esp_timer_esp32.o CC build/esp32/wifi_init.o CC build/esp32/pm_trace.o CC build/esp32/phy_init.o CC build/esp32/crosscore_int.o CC build/esp32/wifi_internal.o CC build/esp32/gdbstub.o CC build/esp32/lib_printf.o CC build/esp32/cpu_start.o CC build/esp32/spiram.o CC build/esp32/sleep_modes.o CC build/esp32/smartconfig.o CC build/esp32/task_wdt.o CC build/esp32/event_default_handlers.o CC build/esp32/stack_check.o CC build/esp32/panic.o CC build/esp32/hwcrypto/aes.o CC build/esp32/hwcrypto/sha.o AS build/esp32/dport_panic_highint_hdl.o AR build/esp32/libesp32.a CC build/esp_adc_cal/esp_adc_cal.o AR build/esp_adc_cal/libesp_adc_cal.a CC build/ethernet/emac_main.o CC build/ethernet/emac_dev.o CC build/ethernet/eth_phy/phy_tlk110.o CC build/ethernet/eth_phy/phy_lan8720.o CC build/ethernet/eth_phy/phy_common.o AR build/ethernet/libethernet.a CC build/expat/library/xmltok_impl.o CC build/expat/library/xmlrole.o CC build/expat/library/xmlparse.o CC build/expat/library/xmltok.o CC build/expat/library/xmltok_ns.o CC build/expat/port/chardata.o CC build/expat/port/expat_element.o CC build/expat/port/minicheck.o AR build/expat/libexpat.a CC build/fatfs/src/diskio.o CC build/fatfs/src/vfs_fat.o CC build/fatfs/src/diskio_spiflash.o CC build/fatfs/src/vfs_fat_spiflash.o CC build/fatfs/src/diskio_sdmmc.o CC build/fatfs/src/vfs_fat_sdmmc.o CC build/fatfs/src/ffunicode.o CC build/fatfs/src/ff.o CC build/fatfs/src/ffsystem.o AR build/fatfs/libfatfs.a CC build/freertos/xtensa_overlay_os_hook.o CC build/freertos/FreeRTOS-openocd.o CC build/freertos/timers.o CC build/freertos/tasks.o CC build/freertos/event_groups.o CC build/freertos/port.o CC build/freertos/xtensa_init.o CC build/freertos/list.o CC build/freertos/croutine.o CC build/freertos/queue.o CC build/freertos/xtensa_intr.o CC build/freertos/ringbuf.o AS build/freertos/portasm.o AS build/freertos/xtensa_vector_defaults.o AS build/freertos/xtensa_vectors.o AS build/freertos/xtensa_context.o AS build/freertos/xtensa_intr_asm.o AR build/freertos/libfreertos.a CC build/heap/heap_caps_init.o CC build/heap/heap_caps.o CC build/heap/multi_heap.o CC build/heap/heap_trace.o CC build/heap/multi_heap_poisoning.o AR build/heap/libheap.a AR build/idf_test/libidf_test.a CC build/jsmn/src//jsmn.o AR build/jsmn/libjsmn.a CC build/json/cJSON/cJSON.o CC build/json/cJSON/test.o CC build/json/cJSON/cJSON_Utils.o AR build/json/libjson.a CC build/libsodium/port/randombytes_esp32.o CC build/libsodium/libsodium/src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.o CC build/libsodium/libsodium/src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.o CC build/libsodium/libsodium/src/libsodium/crypto_auth/crypto_auth.o CC build/libsodium/libsodium/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.o CC build/libsodium/libsodium/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.o CC build/libsodium/libsodium/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.o CC build/libsodium/libsodium/src/libsodium/crypto_box/crypto_box_easy.o CC build/libsodium/libsodium/src/libsodium/crypto_box/crypto_box.o CC build/libsodium/libsodium/src/libsodium/crypto_box/crypto_box_seal.o CC build/libsodium/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.o CC build/libsodium/libsodium/src/libsodium/crypto_core/curve25519/ref10/curve25519_ref10.o CC build/libsodium/libsodium/src/libsodium/crypto_core/hchacha20/core_hchacha20.o CC build/libsodium/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.o CC build/libsodium/libsodium/src/libsodium/crypto_core/hsalsa20/core_hsalsa20.o CC build/libsodium/libsodium/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/crypto_generichash.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/generichash_blake2.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.o CC build/libsodium/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.o CC build/libsodium/libsodium/src/libsodium/crypto_hash/crypto_hash.o CC build/libsodium/libsodium/src/libsodium/crypto_hash/sha256/hash_sha256.o CC build/libsodium/libsodium/src/libsodium/crypto_hash/sha512/hash_sha512.o CC build/libsodium/libsodium/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.o CC build/libsodium/libsodium/src/libsodium/crypto_kdf/crypto_kdf.o CC build/libsodium/libsodium/src/libsodium/crypto_kx/crypto_kx.o CC build/libsodium/libsodium/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.o CC build/libsodium/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.o CC build/libsodium/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-encoding.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/blake2b-long.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/crypto_pwhash.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.o CC build/libsodium/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.o CC build/libsodium/libsodium/src/libsodium/crypto_scalarmult/crypto_scalarmult.o CC build/libsodium/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.o CC build/libsodium/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.o CC build/libsodium/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox.o CC build/libsodium/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox_easy.o CC build/libsodium/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.o CC build/libsodium/libsodium/src/libsodium/crypto_shorthash/crypto_shorthash.o CC build/libsodium/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.o CC build/libsodium/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.o CC build/libsodium/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.o CC build/libsodium/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.o CC build/libsodium/libsodium/src/libsodium/crypto_sign/crypto_sign.o CC build/libsodium/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519.o CC build/libsodium/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.o CC build/libsodium/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.o CC build/libsodium/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.o CC build/libsodium/libsodium/src/libsodium/crypto_sign/ed25519/ref10/obsolete.o CC build/libsodium/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.o CC build/libsodium/libsodium/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.o CC build/libsodium/libsodium/src/libsodium/crypto_stream/crypto_stream.o CC build/libsodium/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20.o CC build/libsodium/libsodium/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.o CC build/libsodium/libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.o CC build/libsodium/libsodium/src/libsodium/crypto_verify/sodium/verify.o CC build/libsodium/libsodium/src/libsodium/randombytes/randombytes.o CC build/libsodium/libsodium/src/libsodium/sodium/utils.o CC build/libsodium/libsodium/src/libsodium/sodium/runtime.o CC build/libsodium/libsodium/src/libsodium/sodium/version.o CC build/libsodium/libsodium/src/libsodium/sodium/core.o CC build/libsodium/libsodium/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.o CC build/libsodium/libsodium/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.o AR build/libsodium/liblibsodium.a CC build/log/log.o AR build/log/liblog.a CC build/lwip/api/sockets.o CC build/lwip/api/api_msg.o CC build/lwip/api/err.o CC build/lwip/api/netbuf.o CC build/lwip/api/tcpip.o CC build/lwip/api/netifapi.o CC build/lwip/api/api_lib.o CC build/lwip/api/netdb.o CC build/lwip/api/pppapi.o CC build/lwip/apps/dhcpserver.o CC build/lwip/apps/sntp/sntp.o CC build/lwip/apps/ping/esp_ping.o CC build/lwip/apps/ping/ping.o CC build/lwip/core/tcp_out.o CC build/lwip/core/udp.o CC build/lwip/core/def.o CC build/lwip/core/timers.o CC build/lwip/core/stats.o CC build/lwip/core/netif.o CC build/lwip/core/pbuf.o CC build/lwip/core/tcp_in.o CC build/lwip/core/raw.o CC build/lwip/core/ip.o CC build/lwip/core/dns.o CC build/lwip/core/tcp.o CC build/lwip/core/sys.o CC build/lwip/core/memp.o CC build/lwip/core/init.o CC build/lwip/core/inet_chksum.o CC build/lwip/core/mem.o CC build/lwip/core/ipv4/icmp.o CC build/lwip/core/ipv4/autoip.o CC build/lwip/core/ipv4/ip4.o CC build/lwip/core/ipv4/igmp.o CC build/lwip/core/ipv4/ip4_addr.o CC build/lwip/core/ipv4/dhcp.o CC build/lwip/core/ipv4/ip_frag.o CC build/lwip/core/ipv6/icmp6.o CC build/lwip/core/ipv6/ethip6.o CC build/lwip/core/ipv6/mld6.o CC build/lwip/core/ipv6/nd6.o CC build/lwip/core/ipv6/ip6.o CC build/lwip/core/ipv6/ip6_addr.o CC build/lwip/core/ipv6/inet6.o CC build/lwip/core/ipv6/dhcp6.o CC build/lwip/core/ipv6/ip6_frag.o CC build/lwip/netif/ethernetif.o CC build/lwip/netif/lowpan6.o CC build/lwip/netif/ethernet.o CC build/lwip/netif/etharp.o CC build/lwip/netif/slipif.o CC build/lwip/port/freertos/sys_arch.o CC build/lwip/port/netif/ethernetif.o CC build/lwip/port/netif/wlanif.o CC build/lwip/port/debug/lwip_debug.o CC build/lwip/port/vfs_lwip.o AR build/lwip/liblwip.a CC build/main/app_main.o AR build/main/libmain.a CC build/mbedtls/library/havege.o CC build/mbedtls/library/ssl_cookie.o CC build/mbedtls/library/md5.o CC build/mbedtls/library/certs.o CC build/mbedtls/library/ssl_ciphersuites.o CC build/mbedtls/library/camellia.o CC build/mbedtls/library/x509_crl.o CC build/mbedtls/library/threading.o CC build/mbedtls/library/aesni.o CC build/mbedtls/library/bignum.o CC build/mbedtls/library/arc4.o CC build/mbedtls/library/cipher_wrap.o CC build/mbedtls/library/aes.o CC build/mbedtls/library/xtea.o CC build/mbedtls/library/base64.o CC build/mbedtls/library/sha512.o CC build/mbedtls/library/pkcs11.o CC build/mbedtls/library/asn1write.o CC build/mbedtls/library/oid.o CC build/mbedtls/library/ecjpake.o CC build/mbedtls/library/ssl_tls.o CC build/mbedtls/library/debug.o CC build/mbedtls/library/ecdh.o CC build/mbedtls/library/x509_crt.o CC build/mbedtls/library/ssl_srv.o CC build/mbedtls/library/sha1.o CC build/mbedtls/library/ecdsa.o CC build/mbedtls/library/md2.o CC build/mbedtls/library/x509_create.o CC build/mbedtls/library/cmac.o CC build/mbedtls/library/gcm.o CC build/mbedtls/library/version.o CC build/mbedtls/library/pem.o CC build/mbedtls/library/padlock.o CC build/mbedtls/library/asn1parse.o CC build/mbedtls/library/timing.o CC build/mbedtls/library/ssl_cli.o CC build/mbedtls/library/pkwrite.o CC build/mbedtls/library/ssl_cache.o CC build/mbedtls/library/sha256.o CC build/mbedtls/library/md_wrap.o CC build/mbedtls/library/entropy.o CC build/mbedtls/library/md.o CC build/mbedtls/library/rsa.o CC build/mbedtls/library/ripemd160.o CC build/mbedtls/library/version_features.o CC build/mbedtls/library/cipher.o CC build/mbedtls/library/entropy_poll.o CC build/mbedtls/library/dhm.o CC build/mbedtls/library/error.o CC build/mbedtls/library/ssl_ticket.o CC build/mbedtls/library/x509.o CC build/mbedtls/library/blowfish.o CC build/mbedtls/library/ecp.o CC build/mbedtls/library/md4.o CC build/mbedtls/library/x509_csr.o CC build/mbedtls/library/pkparse.o CC build/mbedtls/library/pk.o CC build/mbedtls/library/pkcs5.o CC build/mbedtls/library/ccm.o CC build/mbedtls/library/pkcs12.o CC build/mbedtls/library/ecp_curves.o CC build/mbedtls/library/pk_wrap.o CC build/mbedtls/library/x509write_crt.o CC build/mbedtls/library/ctr_drbg.o CC build/mbedtls/library/platform.o CC build/mbedtls/library/x509write_csr.o CC build/mbedtls/library/des.o CC build/mbedtls/library/hmac_drbg.o CC build/mbedtls/library/memory_buffer_alloc.o CC build/mbedtls/port/esp_sha512.o CC build/mbedtls/port/esp_hardware.o CC build/mbedtls/port/net_sockets.o CC build/mbedtls/port/esp_bignum.o CC build/mbedtls/port/esp_sha256.o CC build/mbedtls/port/esp_sha1.o CC build/mbedtls/port/mbedtls_debug.o AR build/mbedtls/libmbedtls.a CC build/mdns/mdns.o CC build/mdns/mdns_console.o AR build/mdns/libmdns.a CC build/micro-ecc/micro-ecc/uECC.o AR build/micro-ecc/libmicro-ecc.a CC build/my_string/src/trim.o AR build/my_string/libmy_string.a CC build/newlib/locks.o CC build/newlib/syscall_table.o CC build/newlib/syscalls.o CC build/newlib/reent_init.o CC build/newlib/time.o AR build/newlib/libnewlib.a CC build/nghttp/nghttp2/lib/nghttp2_map.o CC build/nghttp/nghttp2/lib/nghttp2_queue.o CC build/nghttp/nghttp2/lib/nghttp2_pq.o CC build/nghttp/nghttp2/lib/nghttp2_submit.o CC build/nghttp/nghttp2/lib/nghttp2_debug.o CC build/nghttp/nghttp2/lib/nghttp2_hd_huffman_data.o CC build/nghttp/nghttp2/lib/nghttp2_frame.o CC build/nghttp/nghttp2/lib/nghttp2_helper.o CC build/nghttp/nghttp2/lib/nghttp2_npn.o CC build/nghttp/nghttp2/lib/nghttp2_option.o CC build/nghttp/nghttp2/lib/nghttp2_buf.o CC build/nghttp/nghttp2/lib/nghttp2_priority_spec.o CC build/nghttp/nghttp2/lib/nghttp2_hd.o CC build/nghttp/nghttp2/lib/nghttp2_stream.o CC build/nghttp/nghttp2/lib/nghttp2_session.o CC build/nghttp/nghttp2/lib/nghttp2_callbacks.o CC build/nghttp/nghttp2/lib/nghttp2_rcbuf.o CC build/nghttp/nghttp2/lib/nghttp2_hd_huffman.o CC build/nghttp/nghttp2/lib/nghttp2_mem.o CC build/nghttp/nghttp2/lib/nghttp2_version.o CC build/nghttp/nghttp2/lib/nghttp2_outbound_item.o CC build/nghttp/nghttp2/lib/nghttp2_http.o CC build/nghttp/port/http_parser.o AR build/nghttp/libnghttp.a CXX build/nvs_flash/src/nvs_api.o CXX build/nvs_flash/src/nvs_storage.o CXX build/nvs_flash/src/nvs_pagemanager.o CXX build/nvs_flash/src/nvs_item_hash_list.o CXX build/nvs_flash/src/nvs_page.o CXX build/nvs_flash/src/nvs_types.o AR build/nvs_flash/libnvs_flash.a CC build/openssl/library/ssl_stack.o CC build/openssl/library/ssl_lib.o CC build/openssl/library/ssl_x509.o CC build/openssl/library/ssl_pkey.o CC build/openssl/library/ssl_methods.o CC build/openssl/library/ssl_cert.o CC build/openssl/platform/ssl_port.o CC build/openssl/platform/ssl_pm.o AR build/openssl/libopenssl.a CC build/pthread/pthread.o CC build/pthread/pthread_cond_var.o CC build/pthread/pthread_local_storage.o AR build/pthread/libpthread.a CC build/sdmmc/sdmmc_cmd.o AR build/sdmmc/libsdmmc.a CC build/soc/esp32/rtc_clk.o CC build/soc/esp32/rtc_time.o CC build/soc/esp32/rtc_sleep.o CC build/soc/esp32/rtc_init.o CC build/soc/esp32/soc_memory_layout.o CC build/soc/esp32/cpu_util.o CC build/soc/esp32/rtc_pm.o AR build/soc/libsoc.a CC build/spi_flash/flash_ops.o CC build/spi_flash/cache_utils.o CC build/spi_flash/spi_flash_rom_patch.o CC build/spi_flash/partition.o CC build/spi_flash/flash_mmap.o AR build/spi_flash/libspi_flash.a CC build/spiffs/esp_spiffs.o CC build/spiffs/spiffs/src/spiffs_hydrogen.o CC build/spiffs/spiffs/src/spiffs_check.o CC build/spiffs/spiffs/src/spiffs_nucleus.o CC build/spiffs/spiffs/src/spiffs_gc.o CC build/spiffs/spiffs/src/spiffs_cache.o AR build/spiffs/libspiffs.a CC build/tcpip_adapter/tcpip_adapter_lwip.o AR build/tcpip_adapter/libtcpip_adapter.a CC build/ulp/ulp_macro.o CC build/ulp/ulp.o AR build/ulp/libulp.a CC build/unity/test_utils.o CC build/unity/ref_clock.o CC build/unity/unity.o CC build/unity/unity_platform.o AR build/unity/libunity.a CC build/vfs/vfs.o CC build/vfs/vfs_uart.o AR build/vfs/libvfs.a CXX build/wear_levelling/WL_Ext_Perf.o CXX build/wear_levelling/Partition.o CXX build/wear_levelling/SPI_Flash.o CXX build/wear_levelling/WL_Ext_Safe.o CXX build/wear_levelling/crc32.o CXX build/wear_levelling/WL_Flash.o CXX build/wear_levelling/wear_levelling.o AR build/wear_levelling/libwear_levelling.a CC build/wpa_supplicant/src/crypto/ms_funcs.o CC build/wpa_supplicant/src/crypto/crypto_internal-cipher.o CC build/wpa_supplicant/src/crypto/crypto_internal-modexp.o CC build/wpa_supplicant/src/crypto/bignum.o CC build/wpa_supplicant/src/crypto/sha1-pbkdf2.o CC build/wpa_supplicant/src/crypto/aes-cbc.o CC build/wpa_supplicant/src/crypto/md5.o CC build/wpa_supplicant/src/crypto/rc4.o CC build/wpa_supplicant/src/crypto/sha256.o CC build/wpa_supplicant/src/crypto/dh_groups.o CC build/wpa_supplicant/src/crypto/md4-internal.o CC build/wpa_supplicant/src/crypto/sha1-internal.o CC build/wpa_supplicant/src/crypto/aes-wrap.o CC build/wpa_supplicant/src/crypto/crypto_internal.o CC build/wpa_supplicant/src/crypto/dh_group5.o CC build/wpa_supplicant/src/crypto/des-internal.o CC build/wpa_supplicant/src/crypto/crypto_internal-rsa.o CC build/wpa_supplicant/src/crypto/aes-unwrap.o CC build/wpa_supplicant/src/crypto/aes-internal-dec.o CC build/wpa_supplicant/src/crypto/sha1.o CC build/wpa_supplicant/src/crypto/aes-internal.o CC build/wpa_supplicant/src/crypto/md5-internal.o CC build/wpa_supplicant/src/crypto/sha256-internal.o CC build/wpa_supplicant/src/crypto/aes-internal-enc.o CC build/wpa_supplicant/port/os_xtensa.o CC build/wpa_supplicant/src/fast_crypto/fast_crypto_internal-cipher.o CC build/wpa_supplicant/src/fast_crypto/fast_crypto_internal-modexp.o CC build/wpa_supplicant/src/fast_crypto/fast_aes-unwrap.o CC build/wpa_supplicant/src/fast_crypto/fast_sha256.o CC build/wpa_supplicant/src/fast_crypto/fast_crypto_internal.o CC build/wpa_supplicant/src/fast_crypto/fast_aes-cbc.o CC build/wpa_supplicant/src/fast_crypto/fast_sha256-internal.o CC build/wpa_supplicant/src/fast_crypto/fast_aes-wrap.o AR build/wpa_supplicant/libwpa_supplicant.a CC build/xtensa-debug-module/trax.o CC build/xtensa-debug-module/eri.o AR build/xtensa-debug-module/libxtensa-debug-module.a CC build/my_string_test/test_mystring.o AR build/my_string_test/libmy_string_test.a LD build/unit-test-app.elf esptool.py v2.1 Flashing binaries to serial port COM3 (app at offset 0x10000)... esptool.py v2.1 Connecting.... Chip is ESP32D0WDQ6 (revision 1) Uploading stub... Running stub... Stub running... Changing baud rate to 921600 Changed. Configuring flash size... Compressed 17568 bytes to 10490... Wrote 17568 bytes (10490 compressed) at 0x00001000 in 0.2 seconds (effective 898.0 kbit/s)... Hash of data verified. Compressed 148688 bytes to 76717... Wrote 148688 bytes (76717 compressed) at 0x00010000 in 1.4 seconds (effective 850.7 kbit/s)... Hash of data verified. Compressed 3072 bytes to 141... Wrote 3072 bytes (141 compressed) at 0x00008000 in 0.0 seconds (effective 5313.6 kbit/s)... Hash of data verified. Leaving... Hard resetting...
$ make monitor ↵ MONITOR --- idf_monitor on COM3 921600 --- --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- I (83) cpu_start: Pro cpu up. I (83) cpu_start: Starting app cpu, entry point is 0x40080e84 0x40080e84: call_start_cpu1 at C:/msys32/opt/esp-idf-v30/components/esp32/cpu_start.c:215 I (0) cpu_start: App cpu up. I (84) heap_init: Initializing. RAM available for dynamic allocation: D (84) heap_init: New heap initialised at 0x3ffae6e0 I (85) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM D (86) heap_init: New heap initialised at 0x3ffb2c78 I (86) heap_init: At 3FFB2C78 len 0002D388 (180 KiB): DRAM I (87) heap_init: At 3FFE0440 len 00003BC0 (14 KiB): D/IRAM I (88) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM D (91) heap_init: New heap initialised at 0x40089384 I (91) heap_init: At 40089384 len 00016C7C (91 KiB): IRAM I (91) cpu_start: Pro cpu start user code D (99) clk: RTC_SLOW_CLK calibration value: 3113229 V (99) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args V (99) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0xE D (100) intr_alloc: Connected src 46 to int 2 (cpu 0) V (101) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args V (101) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0xC0E D (102) intr_alloc: Connected src 57 to int 3 (cpu 0) D (103) stack_chk: Intialize random stack guard V (104) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args V (104) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0x40E D (105) intr_alloc: Connected src 24 to int 9 (cpu 0) I (107) cpu_start: Starting scheduler on PRO CPU. V (0) intr_alloc: esp_intr_alloc_intrstatus (cpu 1): checking args V (0) intr_alloc: esp_intr_alloc_intrstatus (cpu 1): Args okay. Resulting flags 0x40E D (1) intr_alloc: Connected src 25 to int 2 (cpu 1) I (2) cpu_start: Starting scheduler on APP CPU. D (112) heap_init: New heap initialised at 0x3ffe0440 D (113) heap_init: New heap initialised at 0x3ffe4350 Press ENTER to see the list of tests. ↵ Here's the test menu, pick your combo: (1) "Left trim." [mystring] 1 ↵ Running Left trim.... E:/MyDocuments/Project/esp32/Unit_Test/components/my_string/test/test_mystring.c:29:Left trim.:PASS Test ran in 15ms ----------------------- 1 Tests 0 Failures 0 Ignored OK Enter next test, or 'enter' to see menu
こちらも成功しました。
これで、TDDが始められそうです。