シリアルポートは調べてみたけど、ESP32用ツールでターゲットのSoC指定は省略できるのだろうか。
コマンドの実行ログの内容からは自動認識している風なんだけど。
調べる。
idf.py のターゲット
プロジェクトの設定として、set-target esp32s3のように、プロジェクト作成時にターゲットを指定してあれば、そのあとは省略可能。接続中のSoCを読んで自動判定はしていない。
なにも設定されていないと、ESP32になってしまう。
代わりに環境変数でIDF_TARGETを指定しておくこともできる。
もちろんながら、set-targetではターゲットを指定しないと動作しない。
Start a Project - ESP32-S3 - — ESP-IDF Programming Guide v5.5.3 documentation
https://docs.espressif.com/projects/esp-idf/en/v5.5.3/esp32s3/get-started/linux-macos-start-project.html#configure-your-project
After opening a new project, you should first set the target with idf.py set-target esp32s3. Note that existing builds and configurations in the project, if any, are cleared and initialized in this process. The target may be saved in the environment variable to skip this step at all. See Select the Target Chip: set-target for additional information.
新しいプロジェクトを開いたら、まず idf.py set-target esp32s3 コマンドでターゲットを設定する必要があります。このプロセスでは、プロジェクトに既存のビルドや設定がある場合、それらはすべてクリアされ、初期化されることに注意してください。ターゲットを環境変数に保存することで、この手順を完全にスキップできます。詳細については、「ターゲットチップの選択: set-target」を参照してください。
IDF Frontend - idf.py - ESP32-S3 - — ESP-IDF Programming Guide v5.5.3 documentation
https://docs.espressif.com/projects/esp-idf/en/v5.5.3/esp32s3/api-guides/tools/idf-py.html#selecting-idf-target
esptool.py --chip
esptool.pyの--chipは、接続して読む/書く系コマンドなら省略してよいことが多い。
公式でも、--chipや環境変数でESPTOOL_CHIPを指定しない場合は、接続時に自動検出するとある。chip_id, flash_id, write_flashなどは--chipは省略可能。
ただし、例外がある。オフラインで使用するバイナリ生成系コマンド(elf2image, merge-binなど)は、接続して判定できないので、--chipの指定が必要になる。
espefuse - ESP32-S3 - — esptool latest documentation
https://docs.espressif.com/projects/esptool/en/latest/esp32s3/espefuse/index.html#optional-general-arguments-of-commands
--chip, -c - Target chip type. If this argument is omitted, the tool automatically detects the chip type when connected. But if the command has a help option, the chip is not connected, and the default chip is esp32, please specify the specific type of chip to get the correct help. Example of usage: -c esp32, -c esp32c3, -c esp32s2 and others.
--chip、-c - 対象チップの種類。この引数を省略すると、ツールは接続時にチップの種類を自動的に検出します。ただし、コマンドにヘルプオプションがあり、チップが接続されておらず、デフォルトのチップがesp32である場合は、正しいヘルプを取得するために特定のチップの種類を指定してください。使用例:-c esp32、-c esp32c3、-c esp32s2など。
espefuse.py --chip
espefuse.pyも--chipは省略可能。
公式でも、--chipを省略した場合は 接続時に自動検出するとある。
例外としては、--helpのようにチップへ接続しないオプションでは、既定値がesp32になるので、正しいヘルプを見たいなら明示指定が必要になる。
とりあえず、set-targetとかしてあれば、ターゲットの設定は特にやらなくてもいい感じだ。
オリジナル投稿:
ESP32用ツールでターゲットのSoC指定は省略できる?|kinneko|pixivFANBOX
https://kinneko.fanbox.cc/posts/11561849



