ESP-IDF再び

 前にv5.0をインストールしてLチカくらいまではやっていたな。すっかり忘れたけど...

ESP-IDFを入れてみる -1-|kinneko|pixivFANBOX

https://kinneko.fanbox.cc/posts/5125887

ESP-IDFを入れてみる -2-|kinneko|pixivFANBOX

https://kinneko.fanbox.cc/posts/5126476

ESP-IDFを入れてみる -3-|kinneko|pixivFANBOX

https://kinneko.fanbox.cc/posts/5126679

 今回はmacOSでやってみる。ターゲットとはATOMS3になる。

 リリース状況を確認してみると、最新の安定版は5.5系でv5.5.2になるようだ。

Releases · espressif/esp-idf · GitHub

https://github.com/espressif/esp-idf/releases

 サポートは同じ5系でも枝番で期限が分かれている感じ。

 環境は、macOSでは、cmake ninja dfu-utilだけあればいいらしい。Linuxより楽だな。あとは、ccacheがあると便利だよとある。他は、XCode command line toolsがまかなってくれる。

 XCodeCLIのインストール状況を調べる。入っているね。

% xcode-select -p

/Library/Developer/CommandLineTools

% pkgutil --pkg-info com.apple.pkg.CLTools_Executables | egrep 'version|install-time'

 version: 15.3.0.0.1.1708646388

 install-time: 1713488587

 入れたのは、2024-04-19か。古いね。

% clang --version

 Apple clang version 15.0.0 (clang-1500.3.9.4)

 Target: arm64-apple-darwin23.3.0

 Thread model: posix

 InstalledDir: /Library/Developer/CommandLineTools/usr/bin

 先にOSを上げろってことみたいだな...

% xcode-select --install

 xcode-select: note: Command line tools are already installed. Use "Software Update" in System Settings or the softwareupdate command line interface to install updates

 それはイヤなので、再インストールしてみる。

% sudo mv /Library/Developer/CommandLineTools /Library/Developer/CommandLineTools.15.3.0.0.1.1708646388

 Password:

% xcode-select --install

 xcode-select: note: install requested for command line developer tools

 GUIでのインストールリクエストは出したよってことのようだ。確かにインストール用のアプリが起動している。

 あんまり新しくなってなかったw

% pkgutil --pkg-info com.apple.pkg.CLTools_Executables | egrep 'version|install-time'

 version: 15.3.0.0.1.1708646388

 install-time: 1767595794

 まぁ、ほとんど同じか。

% clang --version

 Apple clang version 15.0.0 (clang-1500.3.9.4)

 Target: arm64-apple-darwin23.3.0

 Thread model: posix

 InstalledDir: /Library/Developer/CommandLineTools/usr/bin

 残りを入れる。

 cmakeはすでに入っている。何かで入れたのだろう。

% cmake --version

 cmake version 4.0.3

 brewで入ったらしい。

% which cmake

/opt/homebrew/bin/cmake

 brew install cmake ninja dfu-util

 バージョンを上げておく。

% brew update

% brew upgrade cmake

 ==> Upgrading 1 outdated package:

 cmake 4.0.3 -> 4.2.1

 ==> Fetching downloads for: cmake

 ✔︎ Bottle cmake (4.2.1) Downloaded 19.0MB/ 19.0MB

 ==> Upgrading cmake

 4.0.3 -> 4.2.1

 (snip)

% cmake --version

 cmake version 4.2.1

 ninjaとdfu-utilも入れる。

% brew install ninja dfu-util

 ==> Fetching downloads for: ninja and dfu-util

 ✔︎ Bottle Manifest ninja (1.13.2) Downloaded 8.5KB/ 8.5KB

 ✔︎ Bottle Manifest dfu-util (0.11) Downloaded 19.2KB/ 19.2KB

 ✔︎ Bottle ninja (1.13.2) Downloaded 164.4KB/164.4KB

 ✔︎ Bottle dfu-util (0.11) Downloaded 55.2KB/ 55.2KB

 ==> Pouring ninja--1.13.2.arm64_sonoma.bottle.tar.gz

 🍺 /opt/homebrew/Cellar/ninja/1.13.2: 10 files, 450.6KB

 ==> Running brew cleanup ninja...

 Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP=1.

 Hide these hints with HOMEBREW_NO_ENV_HINTS=1 (see man brew).

 ==> Pouring dfu-util--0.11.arm64_sonoma.bottle.tar.gz

 🍺 /opt/homebrew/Cellar/dfu-util/0.11: 14 files, 296.6KB

 ==> Running brew cleanup dfu-util...

 ==> Caveats

 zsh completions have been installed to:

/opt/homebrew/share/zsh/site-functions

 ESP-IDFのインストール。

% mkdir ~/Downloads/esp-idf

% cd ~/Downloads/esp-idf

 Cloneすると、なんか、コンポーネントのプロジェクトを孫引きしているね。

% git clone -b v5.5.2 --recursive https://github.com/espressif/esp-idf.git esp-idf-v5.5.2

 Cloning into 'esp-idf-v5.5.2'...

 remote: Enumerating objects: 915051, done.

 remote: Counting objects: 100% (4408/4408), done.

 remote: Compressing objects: 100% (554/554), done.

 remote: Total 915051 (delta 4065), reused 3947 (delta 3854), pack-reused 910643 (from 2)

 Receiving objects: 100% (915051/915051), 388.21 MiB | 8.15 MiB/s, done.

 Resolving deltas: 100% (666866/666866), done.

 Note: switching to '30aaf64524299d3bde422ca9a2848090d1bc5d0f'.

 You are in 'detached HEAD' state. You can look around, make experimental

 changes and commit them, and you can discard any commits you make in this

 state without impacting any branches by switching back to a branch.

 If you want to create a new branch to retain commits you create, you may

 do so (now or later) by using -c with the switch command. Example:

 git switch -c

 Or undo this operation with:

 git switch -

 Turn off this advice by setting config variable advice.detachedHead to false

 Updating files: 100% (18070/18070), done.

 Submodule 'components/bootloader/subproject/components/micro-ecc/micro-ecc' (https://github.com/kmackay/micro-ecc.git) registered for path 'components/bootloader/subproject/components/micro-ecc/micro-ecc'

 Submodule 'components/bt/controller/lib_esp32' (https://github.com/espressif/esp32-bt-lib.git) registered for path 'components/bt/controller/lib_esp32'

 Submodule 'components/bt/controller/lib_esp32c2/esp32c2-bt-lib' (https://github.com/espressif/esp32c2-bt-lib.git) registered for path 'components/bt/controller/lib_esp32c2/esp32c2-bt-lib'

 Submodule 'components/bt/controller/lib_esp32c3_family' (https://github.com/espressif/esp32c3-bt-lib.git) registered for path 'components/bt/controller/lib_esp32c3_family'

 Submodule 'components/bt/controller/lib_esp32c5/esp32c5-bt-lib' (https://github.com/espressif/esp32c5-bt-lib.git) registered for path 'components/bt/controller/lib_esp32c5/esp32c5-bt-lib'

 Submodule 'components/bt/controller/lib_esp32c6/esp32c6-bt-lib' (https://github.com/espressif/esp32c6-bt-lib.git) registered for path 'components/bt/controller/lib_esp32c6/esp32c6-bt-lib'

 Submodule 'components/bt/controller/lib_esp32h2/esp32h2-bt-lib' (https://github.com/espressif/esp32h2-bt-lib.git) registered for path 'components/bt/controller/lib_esp32h2/esp32h2-bt-lib'

 Submodule 'components/bt/esp_ble_mesh/lib/lib' (https://github.com/espressif/esp-ble-mesh-lib.git) registered for path 'components/bt/esp_ble_mesh/lib/lib'

 Submodule 'components/bt/host/nimble/nimble' (https://github.com/espressif/esp-nimble.git) registered for path 'components/bt/host/nimble/nimble'

 Submodule 'components/cmock/CMock' (https://github.com/ThrowTheSwitch/CMock.git) registered for path 'components/cmock/CMock'

 Submodule 'components/esp_coex/lib' (https://github.com/espressif/esp-coex-lib.git) registered for path 'components/esp_coex/lib'

 Submodule 'components/esp_phy/lib' (https://github.com/espressif/esp-phy-lib.git) registered for path 'components/esp_phy/lib'

 Submodule 'components/esp_wifi/lib' (https://github.com/espressif/esp32-wifi-lib.git) registered for path 'components/esp_wifi/lib'

 Submodule 'components/heap/tlsf' (https://github.com/espressif/tlsf.git) registered for path 'components/heap/tlsf'

 Submodule 'components/json/cJSON' (https://github.com/DaveGamble/cJSON.git) registered for path 'components/json/cJSON'

 Submodule 'components/lwip/lwip' (https://github.com/espressif/esp-lwip.git) registered for path 'components/lwip/lwip'

 Submodule 'components/mbedtls/mbedtls' (https://github.com/espressif/mbedtls.git) registered for path 'components/mbedtls/mbedtls'

 Submodule 'components/mqtt/esp-mqtt' (https://github.com/espressif/esp-mqtt.git) registered for path 'components/mqtt/esp-mqtt'

 Submodule 'components/openthread/lib' (https://github.com/espressif/esp-thread-lib.git) registered for path 'components/openthread/lib'

 Submodule 'components/openthread/openthread' (https://github.com/espressif/openthread.git) registered for path 'components/openthread/openthread'

 Submodule 'components/protobuf-c/protobuf-c' (https://github.com/protobuf-c/protobuf-c.git) registered for path 'components/protobuf-c/protobuf-c'

 Submodule 'components/spiffs/spiffs' (https://github.com/pellepl/spiffs.git) registered for path 'components/spiffs/spiffs'

 Submodule 'components/unity/unity' (https://github.com/ThrowTheSwitch/Unity.git) registered for path 'components/unity/unity'

 Cloning into '/Users/kinneko/Downloads/esp-idf/esp-idf-v5.5.2/components/bootloader/subproject/components/micro-ecc/micro-ecc'...

 remote: Enumerating objects: 1159, done.

 remote: Counting objects: 100% (280/280), done.

 remote: Compressing objects: 100% (108/108), done.

 remote: Total 1159 (delta 190), reused 172 (delta 172), pack-reused 879 (from 1)

 Receiving objects: 100% (1159/1159), 632.72 KiB | 1.20 MiB/s, done.

 Resolving deltas: 100% (681/681), done.

 Cloning into '/Users/kinneko/Downloads/esp-idf/esp-idf-v5.5.2/components/bt/controller/lib_esp32'...

 remote: Enumerating objects: 2098, done.

 remote: Counting objects: 100% (194/194), done.

 remote: Compressing objects: 100% (84/84), done.

 remote: Total 2098 (delta 137), reused 138 (delta 84), pack-reused 1904 (from 2)

 Receiving objects: 100% (2098/2098), 8.72 MiB | 9.56 MiB/s, done.

 Resolving deltas: 100% (1306/1306), done.

 Cloning into '/Users/kinneko/Downloads/esp-idf/esp-idf-v5.5.2/components/bt/controller/lib_esp32c2/esp32c2-bt-lib'...

 remote: Enumerating objects: 270, done.

 remote: Counting objects: 100% (88/88), done.

 remote: Compressing objects: 100% (53/53), done.

 remote: Total 270 (delta 62), reused 61 (delta 35), pack-reused 182 (from 1)

 Receiving objects: 100% (270/270), 17.32 MiB | 7.89 MiB/s, done.

 Resolving deltas: 100% (174/174), done.

 Cloning into '/Users/kinneko/Downloads/esp-idf/esp-idf-v5.5.2/components/bt/controller/lib_esp32c3_family'...

 remote: Enumerating objects: 805, done.

 remote: Counting objects: 100% (24/24), done.

 remote: Compressing objects: 100% (24/24), done.

 remote: Total 805 (delta 10), reused 14 (delta 0), pack-reused 781 (from 1)

 Receiving objects: 100% (805/805), 17.76 MiB | 8.29 MiB/s, done.

 Resolving deltas: 100% (398/398), done.

 Cloning into '/Users/kinneko/Downloads/esp-idf/esp-idf-v5.5.2/components/bt/controller/lib_esp32c5/esp32c5-bt-lib'...

 remote: Enumerating objects: 138, done.

 remote: Counting objects: 100% (138/138), done.

 remote: Compressing objects: 100% (94/94), done.

 remote: Total 138 (delta 77), reused 103 (delta 42), pack-reused 0 (from 0)

 Receiving objects: 100% (138/138), 10.77 MiB | 7.23 MiB/s, done.

 Resolving deltas: 100% (77/77), done.

 Cloning into '/Users/kinneko/Downloads/esp-idf/esp-idf-v5.5.2/components/bt/controller/lib_esp32c6/esp32c6-bt-lib'...

 remote: Enumerating objects: 421, done.

 remote: Counting objects: 100% (72/72), done.

 remote: Compressing objects: 100% (27/27), done.

 remote: Total 421 (delta 23), reused 69 (delta 21), pack-reused 349 (from 1)

 Receiving objects: 100% (421/421), 46.42 MiB | 4.07 MiB/s, done.

 Resolving deltas: 100% (159/159), done.

 Cloning into '/Users/kinneko/Downloads/esp-idf/esp-idf-v5.5.2/components/bt/controller/lib_esp32h2/esp32h2-bt-lib'...

 remote: Enumerating objects: 276, done.

 remote: Counting objects: 100% (99/99), done.

 remote: Compressing objects: 100% (67/67), done.

 Receiving objects: 100% (276/276), 27.95 MiB | 9.46 MiB/s, done.

 remote: Total 276 (delta 63), reused 68 (delta 32), pack-reused 177 (from 1)

 Resolving deltas: 100% (161/161), done.

 Cloning into '/Users/kinneko/Downloads/esp-idf/esp-idf-v5.5.2/components/bt/esp_ble_mesh/lib/lib'...

 remote: Enumerating objects: 259, done.

 remote: Counting objects: 100% (259/259), done.

 remote: Compressing objects: 100% (138/138), done.

 remote: Total 259 (delta 75), reused 234 (delta 50), pack-reused 0 (from 0)

 Receiving objects: 100% (259/259), 12.44 MiB | 8.25 MiB/s, done.

 Resolving deltas: 100% (75/75), done.

 Cloning into '/Users/kinneko/Downloads/esp-idf/esp-idf-v5.5.2/components/bt/host/nimble/nimble'...

 remote: Enumerating objects: 65174, done.

 remote: Counting objects: 100% (23/23), done.

 remote: Compressing objects: 100% (14/14), done.

 remote: Total 65174 (delta 10), reused 19 (delta 7), pack-reused 65151 (from 2)

 Receiving objects: 100% (65174/65174), 18.82 MiB | 7.94 MiB/s, done.

 Resolving deltas: 100% (41777/41777), done.

 Cloning into '/Users/kinneko/Downloads/esp-idf/esp-idf-v5.5.2/components/cmock/CMock'...

 remote: Enumerating objects: 6519, done.

 remote: Counting objects: 100% (337/337), done.

 remote: Compressing objects: 100% (174/174), done.

 remote: Total 6519 (delta 209), reused 188 (delta 162), pack-reused 6182 (from 2)

 Receiving objects: 100% (6519/6519), 3.91 MiB | 7.42 MiB/s, done.

 Resolving deltas: 100% (4359/4359), done.

 Cloning into '/Users/kinneko/Downloads/esp-idf/esp-idf-v5.5.2/components/esp_coex/lib'...

 remote: Enumerating objects: 1165, done.

 remote: Counting objects: 100% (284/284), done.

 remote: Compressing objects: 100% (65/65), done.

 remote: Total 1165 (delta 123), reused 254 (delta 93), pack-reused 881 (from 1)

 Receiving objects: 100% (1165/1165), 2.24 MiB | 5.80 MiB/s, done.

 Resolving deltas: 100% (509/509), done.

 Cloning into '/Users/kinneko/Downloads/esp-idf/esp-idf-v5.5.2/components/esp_phy/lib'...

 remote: Enumerating objects: 1163, done.

 remote: Counting objects: 100% (389/389), done.

 remote: Compressing objects: 100% (353/353), done.

 remote: Total 1163 (delta 245), reused 178 (delta 36), pack-reused 774 (from 1)

 Receiving objects: 100% (1163/1163), 11.05 MiB | 9.08 MiB/s, done.

 Resolving deltas: 100% (704/704), done.

 Cloning into '/Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/components/esp_wifi/lib'...

 remote: Enumerating objects: 74542, done.

 remote: Total 74542 (delta 0), reused 0 (delta 0), pack-reused 74542 (from 3)

 Receiving objects: 100% (74542/74542), 1.65 GiB | 8.74 MiB/s, done.

 Resolving deltas: 100% (61696/61696), done.

 Cloning into '/Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/components/heap/tlsf'...

 remote: Enumerating objects: 199, done.

 remote: Counting objects: 100% (57/57), done.

 remote: Compressing objects: 100% (12/12), done.

 remote: Total 199 (delta 50), reused 45 (delta 45), pack-reused 142 (from 2)

 Receiving objects: 100% (199/199), 66.84 KiB | 2.09 MiB/s, done.

 Resolving deltas: 100% (104/104), done.

 Cloning into '/Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/components/json/cJSON'...

 remote: Enumerating objects: 4704, done.

 remote: Counting objects: 100% (123/123), done.

 remote: Compressing objects: 100% (89/89), done.

 remote: Total 4704 (delta 82), reused 34 (delta 34), pack-reused 4581 (from 3)

 Receiving objects: 100% (4704/4704), 2.57 MiB | 10.25 MiB/s, done.

 Resolving deltas: 100% (3111/3111), done.

 Cloning into '/Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/components/lwip/lwip'...

 remote: Enumerating objects: 57284, done.

 remote: Counting objects: 100% (1547/1547), done.

 remote: Compressing objects: 100% (399/399), done.

 remote: Total 57284 (delta 1344), reused 1165 (delta 1148), pack-reused 55737 (from 3)

 Receiving objects: 100% (57284/57284), 12.35 MiB | 10.14 MiB/s, done.

 Resolving deltas: 100% (43031/43031), done.

 Cloning into '/Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/components/mbedtls/mbedtls'...

 remote: Enumerating objects: 253927, done.

 remote: Counting objects: 100% (5/5), done.

 remote: Compressing objects: 100% (2/2), done.

 remote: Total 253927 (delta 3), reused 3 (delta 3), pack-reused 253922 (from 2)

 Receiving objects: 100% (253927/253927), 125.24 MiB | 5.18 MiB/s, done.

 Resolving deltas: 100% (196590/196590), done.

 Cloning into '/Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/components/mqtt/esp-mqtt'...

 remote: Enumerating objects: 7260, done.

 remote: Counting objects: 100% (2274/2274), done.

 remote: Compressing objects: 100% (808/808), done.

 remote: Total 7260 (delta 1477), reused 1897 (delta 1341), pack-reused 4986 (from 1)

 Receiving objects: 100% (7260/7260), 2.51 MiB | 8.63 MiB/s, done.

 Resolving deltas: 100% (3841/3841), done.

 Cloning into '/Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/components/openthread/lib'...

 remote: Enumerating objects: 1614, done.

 remote: Counting objects: 100% (319/319), done.

 remote: Compressing objects: 100% (111/111), done.

 remote: Total 1614 (delta 144), reused 260 (delta 88), pack-reused 1295 (from 1)

 Receiving objects: 100% (1614/1614), 12.80 MiB | 8.46 MiB/s, done.

 Resolving deltas: 100% (736/736), done.

 Cloning into '/Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/components/openthread/openthread'...

 remote: Enumerating objects: 125659, done.

 remote: Counting objects: 100% (14/14), done.

 remote: Compressing objects: 100% (14/14), done.

 remote: Total 125659 (delta 1), reused 2 (delta 0), pack-reused 125645 (from 1)

 Receiving objects: 100% (125659/125659), 118.08 MiB | 7.40 MiB/s, done.

 Resolving deltas: 100% (100134/100134), done.

 Cloning into '/Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/components/protobuf-c/protobuf-c'...

 remote: Enumerating objects: 4388, done.

 remote: Counting objects: 100% (1189/1189), done.

 remote: Compressing objects: 100% (312/312), done.

 remote: Total 4388 (delta 994), reused 877 (delta 877), pack-reused 3199 (from 2)

 Receiving objects: 100% (4388/4388), 1.44 MiB | 8.12 MiB/s, done.

 Resolving deltas: 100% (2895/2895), done.

 Cloning into '/Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/components/spiffs/spiffs'...

 remote: Enumerating objects: 1553, done.

 remote: Counting objects: 100% (70/70), done.

 remote: Compressing objects: 100% (41/41), done.

 remote: Total 1553 (delta 34), reused 48 (delta 24), pack-reused 1483 (from 1)

 Receiving objects: 100% (1553/1553), 1.08 MiB | 7.05 MiB/s, done.

 Resolving deltas: 100% (1069/1069), done.

 Cloning into '/Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/components/unity/unity'...

 remote: Enumerating objects: 7288, done.

 remote: Counting objects: 100% (543/543), done.

 remote: Compressing objects: 100% (192/192), done.

 remote: Total 7288 (delta 412), reused 356 (delta 351), pack-reused 6745 (from 4)

 Receiving objects: 100% (7288/7288), 7.12 MiB | 12.38 MiB/s, done.

 Resolving deltas: 100% (4482/4482), done.

 Submodule path 'components/bootloader/subproject/components/micro-ecc/micro-ecc': checked out '24c60e243580c7868f4334a1ba3123481fe1aa48'

 Submodule path 'components/bt/controller/lib_esp32': checked out 'a184fa951eb366c3d99a968a4171feb33b99fb82'

 Submodule path 'components/bt/controller/lib_esp32c2/esp32c2-bt-lib': checked out 'c82c623de457e1b06cf0dad5c963d023dbb6fe76'

 Submodule path 'components/bt/controller/lib_esp32c3_family': checked out '9b50531537e755792ac827d00d233eab499a0b37'

 Submodule path 'components/bt/controller/lib_esp32c5/esp32c5-bt-lib': checked out 'e97692ec3090b03cba9e49a75d248e2dbbfda25c'

 Submodule path 'components/bt/controller/lib_esp32c6/esp32c6-bt-lib': checked out 'd2dffe055672f10ff5fbeb359c533d9561c33ea4'

 Submodule path 'components/bt/controller/lib_esp32h2/esp32h2-bt-lib': checked out 'efca94610a5e62b8d18abf8a5f6a07b6b23b72ca'

 Submodule path 'components/bt/esp_ble_mesh/lib/lib': checked out 'd9fe7de9a9eb2a4e4c51172b9c303f9d800706fa'

 Submodule path 'components/bt/host/nimble/nimble': checked out '9551ac31af0348d7de6cbe7527de3e5ba205460d'

 Submodule path 'components/cmock/CMock': checked out 'eeecc49ce8af123cf8ad40efdb9673e37b56230f'

 Submodule 'vendor/c_exception' (https://github.com/throwtheswitch/cexception.git) registered for path 'components/cmock/CMock/vendor/c_exception'

 Submodule 'vendor/unity' (https://github.com/throwtheswitch/unity.git) registered for path 'components/cmock/CMock/vendor/unity'

 Cloning into '/Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/components/cmock/CMock/vendor/c_exception'...

 remote: Enumerating objects: 389, done.

 remote: Counting objects: 100% (63/63), done.

 remote: Compressing objects: 100% (46/46), done.

 remote: Total 389 (delta 24), reused 42 (delta 15), pack-reused 326 (from 1)

 Receiving objects: 100% (389/389), 581.81 KiB | 1.68 MiB/s, done.

 Resolving deltas: 100% (177/177), done.

 Cloning into '/Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/components/cmock/CMock/vendor/unity'...

 remote: Enumerating objects: 7288, done.

 remote: Counting objects: 100% (541/541), done.

 remote: Compressing objects: 100% (191/191), done.

 remote: Total 7288 (delta 413), reused 355 (delta 350), pack-reused 6747 (from 4)

 Receiving objects: 100% (7288/7288), 7.12 MiB | 13.00 MiB/s, done.

 Resolving deltas: 100% (4484/4484), done.

 Submodule path 'components/cmock/CMock/vendor/c_exception': checked out '71b47be7c950f1bf5f7e5303779fa99a16224bb6'

 Submodule path 'components/cmock/CMock/vendor/unity': checked out 'cf949f45ca6d172a177b00da21310607b97bc7a7'

 Submodule path 'components/esp_coex/lib': checked out '63e292b57b2cda9f9496a71a04bec43e1f0caeba'

 Submodule path 'components/esp_phy/lib': checked out '3d57415af6e4c92eff2c4c3463e20a51d7340aba'

 Submodule path 'components/esp_wifi/lib': checked out '01d52d9e69032c486015dc28b08c3bf6aaf348a9'

 Submodule path 'components/heap/tlsf': checked out '2867f6883a12920b1969ff9624c0ab0e4185c2ce'

 Submodule path 'components/json/cJSON': checked out 'c859b25da02955fef659d658b8f324b5cde87be3'

 Submodule path 'components/lwip/lwip': checked out 'fd432e4ee2cfb7f7f1c7eb7227e0173412e7b84e'

 Submodule path 'components/mbedtls/mbedtls': checked out 'ffb280bb63c78bfec1e1ab55040671768c85c923'

 Submodule path 'components/mqtt/esp-mqtt': checked out '6af4446a48ea7fa54948edc4e62277ed70abb6e1'

 Submodule path 'components/openthread/lib': checked out 'e9980c56558876ae1102be8ae9dc70821aded72c'

 Submodule path 'components/openthread/openthread': checked out '36b14d3ef74f5e37e5be8902e1c1955a642fdfbf'

 Submodule path 'components/protobuf-c/protobuf-c': checked out 'abc67a11c6db271bedbb9f58be85d6f4e2ea8389'

 Submodule path 'components/spiffs/spiffs': checked out '0dbb3f71c5f6fae3747a9d935372773762baf852'

 Submodule path 'components/unity/unity': checked out 'bf560290f6020737eafaa8b5cbd2177c3956c03f'

 なげーよ。

% cd esp-idf-v5.5.2/

% ls

 CMakeLists.txt docs

 COMPATIBILITY.md examples

 COMPATIBILITY_CN.md export.bat

 CONTRIBUTING.md export.fish

 Kconfig export.ps1

 LICENSE export.sh

 README.md install.bat

 README_CN.md install.fish

 ROADMAP.md install.ps1

 ROADMAP_CN.md install.sh

 SECURITY.md pytest.ini

 SUPPORT_POLICY.md ruff.toml

 SUPPORT_POLICY_CN.md sdkconfig.rename

 add_path.sh sgconfig.yml

 components sonar-project.properties

 conftest.py tools

 インストールは、install.shかinstall.fishにターゲットオプションを付けて実行する。ここでは、ターゲットはesp32s3とする。

% ./install.sh esp32s3

 INFO: Using IDF_PATH '/Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2' for installation.

 Detecting the Python interpreter

 Checking "python3" ...

 Python 3.13.5

 "python3" has been detected

 Checking Python compatibility

 Installing ESP-IDF tools

 Updating /Users/y.date/.espressif/idf-env.json

 Selected targets are: esp32s3

 Current system platform: macos-arm64

 Installing tools: xtensa-esp-elf-gdb, xtensa-esp-elf, riscv32-esp-elf, esp32ulp-elf, openocd-esp32, esp-rom-elfs

 Installing xtensa-esp-elf-gdb@16.3_20250913

 Downloading https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/xtensa-esp-elf-gdb-16.3_20250913-aarch64-apple-darwin24.5.tar.gz

 Destination: /Users/y.date/.espressif/dist/xtensa-esp-elf-gdb-16.3_20250913-aarch64-apple-darwin24.5.tar.gz.tmp

 Done

 Extracting /Users/y.date/.espressif/dist/xtensa-esp-elf-gdb-16.3_20250913-aarch64-apple-darwin24.5.tar.gz to /Users/y.date/.espressif/tools/xtensa-esp-elf-gdb/16.3_20250913

 Installing xtensa-esp-elf@esp-14.2.0_20251107

 Downloading https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20251107/xtensa-esp-elf-14.2.0_20251107-aarch64-apple-darwin.tar.xz

 Destination: /Users/y.date/.espressif/dist/xtensa-esp-elf-14.2.0_20251107-aarch64-apple-darwin.tar.xz.tmp

 Done

 Extracting /Users/y.date/.espressif/dist/xtensa-esp-elf-14.2.0_20251107-aarch64-apple-darwin.tar.xz to /Users/y.date/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20251107

 Installing riscv32-esp-elf@esp-14.2.0_20251107

 Downloading https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20251107/riscv32-esp-elf-14.2.0_20251107-aarch64-apple-darwin.tar.xz

 Destination: /Users/y.date/.espressif/dist/riscv32-esp-elf-14.2.0_20251107-aarch64-apple-darwin.tar.xz.tmp

 Done

 Extracting /Users/y.date/.espressif/dist/riscv32-esp-elf-14.2.0_20251107-aarch64-apple-darwin.tar.xz to /Users/y.date/.espressif/tools/riscv32-esp-elf/esp-14.2.0_20251107

 Skipping esp32ulp-elf@2.38_20240113 (already installed)

 Skipping openocd-esp32@v0.12.0-esp32-20250707 (already installed)

 Skipping esp-rom-elfs@20241011 (already installed)

 Installing Python environment and packages

 Creating a new Python environment in /Users/y.date/.espressif/python_env/idf5.5_py3.13_env

 Downloading https://dl.espressif.com/dl/esp-idf/espidf.constraints.v5.5.txt

 Destination: /Users/y.date/.espressif/espidf.constraints.v5.5.txt.tmp

 Done

 Upgrading pip...

 Requirement already satisfied: pip in /Users/y.date/.espressif/python_env/idf5.5_py3.13_env/lib/python3.13/site-packages (25.1.1)

 Collecting pip

 Downloading pip-25.3-py3-none-any.whl.metadata (4.7 kB)

 Downloading pip-25.3-py3-none-any.whl (1.8 MB)

 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 16.1 MB/s eta 0:00:00

 Installing collected packages: pip

 Attempting uninstall: pip

 Found existing installation: pip 25.1.1

 Uninstalling pip-25.1.1:

 Successfully uninstalled pip-25.1.1

 Successfully installed pip-25.3

 Upgrading setuptools...

 Collecting setuptools

 Using cached setuptools-80.9.0-py3-none-any.whl.metadata (6.6 kB)

 Using cached setuptools-80.9.0-py3-none-any.whl (1.2 MB)

 Installing collected packages: setuptools

 Successfully installed setuptools-80.9.0

 Installing Python packages

 Constraint file: /Users/y.date/.espressif/espidf.constraints.v5.5.txt

 Requirement files:

  • /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt

 Looking in indexes: https://pypi.org/simple, https://dl.espressif.com/pypi

 Ignoring importlib_metadata: markers 'python_version < "3.8"' don't match your environment

 Requirement already satisfied: setuptools in /Users/y.date/.espressif/python_env/idf5.5_py3.13_env/lib/python3.13/site-packages (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 7)) (80.9.0)

 Collecting packaging (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 8))

 Using cached packaging-25.0-py3-none-any.whl.metadata (3.3 kB)

 Collecting click (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 11))

 Using cached https://dl.espressif.com/pypi/click/click-8.1.8-py3-none-any.whl (98 kB)

 Collecting pyserial (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 12))

 Using cached https://dl.espressif.com/pypi/pyserial/pyserial-3.5-py2.py3-none-any.whl (90 kB)

 Collecting cryptography (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 13))

 Using cached cryptography-44.0.3-cp39-abi3-macosx_10_9_universal2.whl.metadata (5.7 kB)

 Collecting pyparsing (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 14))

 Downloading pyparsing-3.2.5-py3-none-any.whl.metadata (5.0 kB)

 Collecting pyelftools (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 15))

 Using cached https://dl.espressif.com/pypi/pyelftools/pyelftools-0.32-py3-none-any.whl (188 kB)

 Collecting idf-component-manager~=2.2 (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Downloading idf_component_manager-2.4.2-py3-none-any.whl.metadata (9.5 kB)

 Collecting esp-coredump (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 17))

 Using cached esp_coredump-1.14.0-py3-none-any.whl.metadata (5.2 kB)

 Collecting esptool (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 18))

 Downloading esptool-4.11.dev1.tar.gz (474 kB)

 Installing build dependencies ... done

 Getting requirements to build wheel ... done

 Preparing metadata (pyproject.toml) ... done

 Collecting esp-idf-kconfig (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 19))

 Using cached https://dl.espressif.com/pypi/esp-idf-kconfig/esp_idf_kconfig-2.5.0-py3-none-any.whl (143 kB)

 Collecting esp-idf-monitor (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 20))

 Downloading esp_idf_monitor-1.8.0-py3-none-any.whl.metadata (11 kB)

 Collecting esp-idf-nvs-partition-gen (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 21))

 Using cached esp_idf_nvs_partition_gen-0.1.9-py3-none-any.whl.metadata (14 kB)

 Collecting esp-idf-size (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 22))

 Using cached esp_idf_size-1.7.1-py3-none-any.whl.metadata (3.7 kB)

 Collecting esp-idf-diag (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 23))

 Using cached esp_idf_diag-0.2.0-py3-none-any.whl.metadata (3.6 kB)

 Collecting esp-idf-panic-decoder (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 24))

 Downloading esp_idf_panic_decoder-1.4.2-py3-none-any.whl.metadata (16 kB)

 Collecting pyclang (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 25))

 Using cached pyclang-0.6.3-py3-none-any.whl.metadata (2.7 kB)

 Collecting construct (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 26))

 Using cached https://dl.espressif.com/pypi/construct/construct-2.10.70-py3-none-any.whl (63 kB)

 Collecting rich (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 27))

 Downloading https://dl.espressif.com/pypi/rich/rich-14.2.0-py3-none-any.whl (243 kB)

 Collecting psutil (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 28))

 Downloading psutil-7.2.1-cp36-abi3-macosx_11_0_arm64.whl.metadata (22 kB)

 Collecting tree_sitter (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 31))

 Downloading tree_sitter-0.25.2-cp313-cp313-macosx_11_0_arm64.whl.metadata (10.0 kB)

 Collecting tree_sitter_c (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 32))

 Downloading tree_sitter_c-0.24.1-cp310-abi3-macosx_11_0_arm64.whl.metadata (1.8 kB)

 Collecting freertos_gdb (from -r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 35))

 Using cached https://dl.espressif.com/pypi/freertos-gdb/freertos_gdb-1.0.4-py3-none-any.whl (14 kB)

 Collecting colorama (from idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Using cached https://dl.espressif.com/pypi/colorama/colorama-0.4.6-py2.py3-none-any.whl (25 kB)

 Collecting ruamel.yaml (from idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Downloading ruamel_yaml-0.19.1-py3-none-any.whl.metadata (16 kB)

 Collecting requests (from idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Using cached requests-2.32.5-py3-none-any.whl.metadata (4.9 kB)

 Collecting requests-file (from idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Downloading requests_file-3.0.1-py2.py3-none-any.whl.metadata (1.7 kB)

 Collecting requests-toolbelt (from idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Using cached https://dl.espressif.com/pypi/requests-toolbelt/requests_toolbelt-1.0.0-py2.py3-none-any.whl (54 kB)

 Collecting tqdm (from idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Using cached https://dl.espressif.com/pypi/tqdm/tqdm-4.67.1-py3-none-any.whl (78 kB)

 Collecting jsonref (from idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Using cached https://dl.espressif.com/pypi/jsonref/jsonref-1.1.0-py3-none-any.whl (9.4 kB)

 Collecting pydantic!=2.12.0 (from idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Downloading pydantic-2.12.5-py3-none-any.whl.metadata (90 kB)

 Collecting pydantic-core (from idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Downloading pydantic_core-2.41.5-cp313-cp313-macosx_11_0_arm64.whl.metadata (7.3 kB)

 Collecting pydantic-settings (from idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Downloading pydantic_settings-2.12.0-py3-none-any.whl.metadata (3.4 kB)

 Collecting truststore (from idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Using cached truststore-0.10.4-py3-none-any.whl.metadata (4.4 kB)

 Collecting cffi>=1.12 (from cryptography->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 13))

 Downloading cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (2.6 kB)

 Collecting pygdbmi>=0.9.0.2 (from esp-coredump->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 17))

 Using cached https://dl.espressif.com/pypi/pygdbmi/pygdbmi-0.11.0.0-py3-none-any.whl (21 kB)

 Collecting bitstring!=4.2.0,>=3.1.6 (from esptool->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 18))

 Using cached https://dl.espressif.com/pypi/bitstring/bitstring-4.3.1-py3-none-any.whl (71 kB)

 Collecting ecdsa>=0.16.0 (from esptool->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 18))

 Using cached https://dl.espressif.com/pypi/ecdsa/ecdsa-0.19.1-py2.py3-none-any.whl (150 kB)

 Collecting reedsolo<1.8,>=1.5.3 (from esptool->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 18))

 Using cached https://dl.espressif.com/pypi/reedsolo/reedsolo-1.7.0-py3-none-any.whl (32 kB)

 Collecting PyYAML>=5.1 (from esptool->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 18))

 Downloading pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl.metadata (2.4 kB)

 Collecting intelhex (from esptool->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 18))

 Using cached https://dl.espressif.com/pypi/intelhex/intelhex-2.3.0-py2.py3-none-any.whl (50 kB)

 Collecting argcomplete>=3 (from esptool->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 18))

 Downloading argcomplete-3.6.3-py3-none-any.whl.metadata (16 kB)

 Collecting markdown-it-py>=2.2.0 (from rich->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 27))

 Downloading https://dl.espressif.com/pypi/markdown-it-py/markdown_it_py-4.0.0-py3-none-any.whl (87 kB)

 Collecting pygments<3.0.0,>=2.13.0 (from rich->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 27))

 Downloading https://dl.espressif.com/pypi/pygments/pygments-2.19.2-py3-none-any.whl (1.2 MB)

 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 14.2 MB/s 0:00:00

 Collecting bitarray<4.0,>=3.0.0 (from bitstring!=4.2.0,>=3.1.6->esptool->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 18))

 Downloading bitarray-3.8.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (34 kB)

 Collecting pycparser (from cffi>=1.12->cryptography->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 13))

 Downloading https://dl.espressif.com/pypi/pycparser/pycparser-2.23-py3-none-any.whl (118 kB)

 Collecting six>=1.9.0 (from ecdsa>=0.16.0->esptool->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 18))

 Using cached https://dl.espressif.com/pypi/six/six-1.17.0-py2.py3-none-any.whl (11 kB)

 Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 27))

 Using cached https://dl.espressif.com/pypi/mdurl/mdurl-0.1.2-py3-none-any.whl (10.0 kB)

 Collecting annotated-types>=0.6.0 (from pydantic!=2.12.0->idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Using cached https://dl.espressif.com/pypi/annotated-types/annotated_types-0.7.0-py3-none-any.whl (13 kB)

 Collecting typing-extensions>=4.14.1 (from pydantic!=2.12.0->idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Downloading https://dl.espressif.com/pypi/typing-extensions/typing_extensions-4.15.0-py3-none-any.whl (44 kB)

 Collecting typing-inspection>=0.4.2 (from pydantic!=2.12.0->idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Downloading https://dl.espressif.com/pypi/typing-inspection/typing_inspection-0.4.2-py3-none-any.whl (14 kB)

 Collecting python-dotenv>=0.21.0 (from pydantic-settings->idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Downloading https://dl.espressif.com/pypi/python-dotenv/python_dotenv-1.2.1-py3-none-any.whl (21 kB)

 Collecting charset_normalizer<4,>=2 (from requests->idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Downloading charset_normalizer-3.4.4-cp313-cp313-macosx_10_13_universal2.whl.metadata (37 kB)

 Collecting idna<4,>=2.5 (from requests->idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Downloading https://dl.espressif.com/pypi/idna/idna-3.11-py3-none-any.whl (71 kB)

 Collecting urllib3<3,>=1.21.1 (from requests->idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Using cached https://dl.espressif.com/pypi/urllib3/urllib3-1.26.20-py2.py3-none-any.whl (144 kB)

 Collecting certifi>=2017.4.17 (from requests->idf-component-manager~=2.2->-r /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/requirements/requirements.core.txt (line 16))

 Downloading certifi-2026.1.4-py3-none-any.whl.metadata (2.5 kB)

 Downloading idf_component_manager-2.4.2-py3-none-any.whl (172 kB)

 Using cached packaging-25.0-py3-none-any.whl (66 kB)

 Using cached cryptography-44.0.3-cp39-abi3-macosx_10_9_universal2.whl (6.7 MB)

 Downloading pyparsing-3.2.5-py3-none-any.whl (113 kB)

 Using cached esp_coredump-1.14.0-py3-none-any.whl (42 kB)

 Downloading esp_idf_monitor-1.8.0-py3-none-any.whl (54 kB)

 Downloading esp_idf_panic_decoder-1.4.2-py3-none-any.whl (21 kB)

 Using cached esp_idf_nvs_partition_gen-0.1.9-py3-none-any.whl (22 kB)

 Using cached esp_idf_size-1.7.1-py3-none-any.whl (82 kB)

 Using cached esp_idf_diag-0.2.0-py3-none-any.whl (23 kB)

 Using cached pyclang-0.6.3-py3-none-any.whl (12 kB)

 Downloading psutil-7.2.1-cp36-abi3-macosx_11_0_arm64.whl (128 kB)

 Downloading tree_sitter-0.25.2-cp313-cp313-macosx_11_0_arm64.whl (137 kB)

 Downloading tree_sitter_c-0.24.1-cp310-abi3-macosx_11_0_arm64.whl (86 kB)

 Downloading argcomplete-3.6.3-py3-none-any.whl (43 kB)

 Downloading bitarray-3.8.0-cp313-cp313-macosx_11_0_arm64.whl (145 kB)

 Downloading cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl (181 kB)

 Downloading pydantic-2.12.5-py3-none-any.whl (463 kB)

 Downloading pydantic_core-2.41.5-cp313-cp313-macosx_11_0_arm64.whl (1.9 MB)

 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 12.3 MB/s 0:00:00

 Downloading pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl (173 kB)

 Downloading pydantic_settings-2.12.0-py3-none-any.whl (51 kB)

 Using cached requests-2.32.5-py3-none-any.whl (64 kB)

 Downloading charset_normalizer-3.4.4-cp313-cp313-macosx_10_13_universal2.whl (208 kB)

 Downloading certifi-2026.1.4-py3-none-any.whl (152 kB)

 Downloading requests_file-3.0.1-py2.py3-none-any.whl (4.5 kB)

 Downloading ruamel_yaml-0.19.1-py3-none-any.whl (118 kB)

 Using cached truststore-0.10.4-py3-none-any.whl (18 kB)

 Building wheels for collected packages: esptool

 Building wheel for esptool (pyproject.toml) ... done

 Created wheel for esptool: filename=esptool-4.11.dev1-py3-none-any.whl size=599165 sha256=a9daa457d768b9161bbacc59ff5b8835d323209c813409809ab4eb57b02c5076

 Stored in directory: /Users/y.date/Library/Caches/pip/wheels/89/91/44/a08346a3f586cf377fa5b228119abdd01099eef4a4bf30bc51

 Successfully built esptool

 Installing collected packages: reedsolo, pyserial, pygdbmi, pyelftools, intelhex, bitarray, urllib3, typing-extensions, truststore, tree_sitter_c, tree_sitter, tqdm, six, ruamel.yaml, PyYAML, python-dotenv, pyparsing, pygments, pycparser, pyclang, psutil, packaging, mdurl, jsonref, idna, freertos_gdb, esp-idf-panic-decoder, esp-idf-kconfig, construct, colorama, click, charset_normalizer, certifi, bitstring, argcomplete, annotated-types, typing-inspection, requests, pydantic-core, markdown-it-py, ecdsa, cffi, rich, requests-toolbelt, requests-file, pydantic, cryptography, pydantic-settings, esptool, esp-idf-size, esp-idf-nvs-partition-gen, esp-idf-diag, idf-component-manager, esp-coredump, esp-idf-monitor

 Successfully installed PyYAML-6.0.3 annotated-types-0.7.0 argcomplete-3.6.3 bitarray-3.8.0 bitstring-4.3.1 certifi-2026.1.4 cffi-2.0.0 charset_normalizer-3.4.4 click-8.1.8 colorama-0.4.6 construct-2.10.70 cryptography-44.0.3 ecdsa-0.19.1 esp-coredump-1.14.0 esp-idf-diag-0.2.0 esp-idf-kconfig-2.5.0 esp-idf-monitor-1.8.0 esp-idf-nvs-partition-gen-0.1.9 esp-idf-panic-decoder-1.4.2 esp-idf-size-1.7.1 esptool-4.11.dev1 freertos_gdb-1.0.4 idf-component-manager-2.4.2 idna-3.11 intelhex-2.3.0 jsonref-1.1.0 markdown-it-py-4.0.0 mdurl-0.1.2 packaging-25.0 psutil-7.2.1 pyclang-0.6.3 pycparser-2.23 pydantic-2.12.5 pydantic-core-2.41.5 pydantic-settings-2.12.0 pyelftools-0.32 pygdbmi-0.11.0.0 pygments-2.19.2 pyparsing-3.2.5 pyserial-3.5 python-dotenv-1.2.1 reedsolo-1.7.0 requests-2.32.5 requests-file-3.0.1 requests-toolbelt-1.0.0 rich-14.2.0 ruamel.yaml-0.19.1 six-1.17.0 tqdm-4.67.1 tree_sitter-0.25.2 tree_sitter_c-0.24.1 truststore-0.10.4 typing-extensions-4.15.0 typing-inspection-0.4.2 urllib3-1.26.20

 All done! You can now run:

 . ./export.sh

 終わった。

 ツールは、$HOME/.espressifに入る。

% ls ~/.espressif/

 dist idf-env.json

 espidf.constraints.v5.4.txt python_env

 espidf.constraints.v5.5.txt tools

 espidf.constraints.v6.0.txt

 最後に表示されたexport.shというのは、ツールの実行PATHを環境変数に突っ込むシェルスクリプト。実行しておく。

 esp-idfで作業する場合は、新しいシェルだと毎回起動する必要がある。面倒な場合は.bashrcとか.profileにエイリアスを書いておく。

% . ./export.sh

 Checking "python3" ...

 Python 3.13.5

 "python3" has been detected

 Activating ESP-IDF 5.5

 Setting IDF_PATH to '/Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2'.

  • Checking python version ... 3.13.5

  • Checking python dependencies ... OK

  • Deactivating the current ESP-IDF environment (if any) ... OK

  • Establishing a new ESP-IDF environment ... OK

  • Identifying shell ... zsh

  • Detecting outdated tools in system ... Found tools that are not used by active ESP-IDF version.

 For removing old versions of riscv32-esp-elf, xtensa-esp-elf, xtensa-esp-elf-gdb use command 'python /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/idf_tools.py uninstall'

 To free up even more space, remove installation packages of those tools.

 Use option python /Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2/tools/idf_tools.py uninstall --remove-archives.

  • Shell completion ... Autocompletion code generated

 Done! You can now compile ESP-IDF projects.

 Go to the project directory and run:

 idf.py build

 install.shは指定したチップターゲットをidf-env.jsonに保存する。確認してみる。

% cat "${IDF_TOOLS_PATH:-$HOME/.espressif}/idf-env.json"

 {

 "idfInstalled": {

 "/Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2-v5.5": {

 "version": "5.5",

 "path": "/Users/y.date/Downloads/esp-idf/esp-idf-v5.5.2",

 "features": [

 "core"

 ],

 "targets": [

 "esp32s3"

 ]

 },

 "/Users/y.date/Downloads/esp/esp-idf-v5.4": {

 "version": "5.4",

 "path": "/Users/y.date/Downloads/esp/esp-idf",

 "features": [

 "core"

 ],

 "targets": [

 "esp32",

 "esp32s3"

 ]

 },

 "/Users/y.date/esp/esp-idf-v5.4": {

 "version": "5.4",

 "path": "/Users/y.date/esp/esp-idf",

 "features": [

 "core"

 ],

 "targets": [

 "esp32",

 "esp32s3"

 ]

 },

 "/Users/y.date/esp/esp-idf-v6.0": {

 "version": "6.0",

 "path": "/Users/y.date/esp/esp-idf",

 "features": [

 "core"

 ],

 "targets": [

 "esp32",

 "esp32s3"

 ]

 }

 }

 }

 入っている。

 ターゲットを追加するには、追加したいターゲットを引数に付けてinstall.shをもう一度実行する。

 インストール可能なターゲット一覧は以下のように確認できる。

% idf.py --list-targets

 esp32

 esp32s2

 esp32c3

 esp32s3

 esp32c2

 esp32c6

 esp32h2

 esp32p4

 esp32c5

 esp32c61

 新し目のデバイスは、6系でないとサポートされていないのかな?

 100円投げ銭  https://kinneko.booth.pm/items/1963720


オリジナル投稿:
ESP-IDF再び|kinneko|pixivFANBOX
https://kinneko.fanbox.cc/posts/11193491