RISC-Vを搭載しているESP32C3用にMicroPythonをビルドしようとしてエラーになる
~/lang/upy/firm/esp32/micropython/ports/esp32$ make BOARD=GENERIC_C3 CMake Error at /home/sumi/lang/upy/firm/esp32/esp-idf/tools/cmake/targets.cmake:57 (message): Unable to resolve 'esp32c3' for setting toolchain file. Call Stack (most recent call first): /home/sumi/lang/upy/firm/esp32/esp-idf/tools/cmake/project.cmake:256 (__target_set_toolchain) CMakeLists.txt:58 (project)
unable to resolveと怒られても何が悪いのか原因かわからず、ググってみた。同じようなエラーに遭遇している人の書き込みあり
https://esp32.com/viewtopic.php?t=21002
使用されているバージョンの idf、esp32c3 のサポートは、リリース/v4.3 から開始する必要があります。
古いSDKだとESP32C3がサポートされていないことがわかった。
改めて読み直すとGitHubにも、「対象マイコンがESP32C3の場合は4.3.1以上を指定すること」と書かれていた。*1
ESP32-S2 and ESP32-C3 require v4.3.1 or later.
4.4をインストール
cd esp-idf/ git checkout v4.4 git submodule update --init --recursive ./install.sh source export.sh
再度ビルドすると正常に終了した
make BOARD=GENERIC_C3 ~/lang/upy/firm/esp32/micropython/ports/esp32$ ls build-GENERIC_C3/micropython.bin build-GENERIC_C3/micropython.bin
*1:よく読んでから作業しろと言われそうだが、どれが重要な情報なのか頭を打たないとわからない