ターゲットと環境

組み込み開発では「何向けにビルドするか」と「どの実機へ書き込むか」を分けて考える必要があります。Embedrでは前者をターゲット、後者をデバイスとして扱います。

ターゲット

ターゲットは、コンパイル対象のボードやMCUを表します。PlatformIOではボードID、プラットフォーム、フレームワークに対応します。

例:

  • esp32dev
  • uno
  • pico
  • nucleo_f401re

環境

環境はplatformio.ini内の[env:...]で定義されるビルドプロファイルです。同じプロジェクトで複数のボードや設定を使い分けるときに便利です。

デバイス

デバイスは、実際につながっているUSBやシリアルポートです。コンパイルが成功しても、デバイスが違う、権限がない、ドライバがない、といった理由でアップロードが失敗することがあります。

迷ったときの切り分け

ビルドに失敗するならターゲットや環境、依存関係を疑います。アップロードに失敗するなら、まずケーブル、ポート、ドライバ、電源、ブートモードを確認します。