メインコンテンツまでスキップ

最初のステップ

STM32 ボードは、さまざまなアプリケーションに使用できる強力なマイクロコントローラー ボードです。 このチュートリアルでは、STM32 ボードのセットアップ方法を学びます。

GitHub

なぜSTM32なのか?

STM32 は次の理由から初心者に最適です。

  • Arduinoより強力
  • デバッガは安い
  • その他の周辺機器
ヒント

WiFi または Bluetooth が必要な場合は ESP32 を使用する必要がありますが、より多くの電力が必要な場合は STM32 を使用する必要があります。 このチュートリアルでは ESP32 については説明しません。

esp32 と stm32: どちらのマイクロコントローラーが最適ですか?

必要なもの

STM32 の使用を開始するには、次のものが必要です。

  • Blackpill/Bluepill STM32 ボード:
    • 安価なクローン Blackpill STM32 ボードは 4 ドル以下で購入できます。
  • ST-LINK V2/V3:
    • これはファームウェアをボードにアップロードするために必要です。
    • 安価なクローン ST-LINK V2 は 5 ドル以下で購入できます。
  • PlatformIO または Arduino IDE を使用した VScode:
    • VSCode は ここ.
    • PlatformIO は、VSCode 拡張機能マーケットプレイスからインストールできます。
  • STM32CubeProgrammer

ブラックピルボード Blackpill STM32 ボード

DFU upload

Blackpill STM32 ボードは DFU をサポートしています。つまり、USB を使用してファームウェアをアップロードできますが、デバッグなどの便利な機能を使用するには ST-LINK が必要です。

推奨スタック

STM32 開発には次のスタックをお勧めします。

  • VSCodePlatformIO
    • GitHub Copilot を使用すると、コードの提案を得ることができ、コードをより速く書くことができます。
  • ST-LINK V2 クローン
    • 非常に安い (< $5)
  • Blackpill STM32 ボード
    • 非常に安い (< $4)
    • DFU サポート
      • You can upload the firmware using USB as well.
    • ブルーピルより強力
  • Arduinoフレームワーク
    • 使いやすい
    • 初心者に良い

ST-LINK V2 クローン

Arduino vs STM32Cube

STM32 開発には、Arduino と STM32Cube という 2 つの一般的なフレームワークがあります。

備考

フレームワークは、マイクロコントローラーのコードの作成に役立つライブラリとツールのコレクションです。これは、プロジェクトの作成に使用できる一連の構成要素のようなものです。

Arduino フレームワークと STM32Cube フレームワークの比較を次に示します。

特集Arduino フレームワークSTM32Cube フレームワーク
使いやすさとても簡単中程度
コミュニティサポート中程度
パフォーマンス中程度
図書館の利用状況広範囲にわたる中程度
デバッグ基本上級
構成シンプル複雑な
IDEArduino IDE、VSCodeSTM32CubeIDE、VSCode
学習曲線低い

各機能の内訳は次のとおりです。

使いやすさ:

  • Arduino: シンプルで初心者に優しいことで知られています。
  • STM32Cube: Arduino ほど単純ではありませんが、CubeMX による構造化されたアプローチを提供し、構成とコード生成を容易にします。

コミュニティ サポート:

  • Arduino: 広範なリソース、チュートリアル、ライブラリを備えた大規模なコミュニティ。
  • STM32Cube: 成長を続けているコミュニティですが、Arduino ほど大きくはありません。

パフォーマンス

  • Arduino: 機能はありますが、Arduino フレームワークのオーバーヘッドのため、一般に STM32 よりもパフォーマンスが低くなります。
  • STM32Cube: ハードウェア レジスタへの直接アクセスと最適化されたコード生成により、より高いパフォーマンスを提供します。

図書館の利用状況:

  • Arduino: さまざまなタスクのためのライブラリの広大なエコシステム。
  • STM32Cube: 成長を続けるライブラリ エコシステムですが、Arduino ほどの幅は持たない可能性があります。

デバッグ:

  • Arduino: 基本的なデバッグ機能。多くの場合シリアル出力に限定されます。
  • STM32Cube: GDB および J-Link サポートを含む高度なデバッグ機能。

構成

  • Arduino: 通常、特に基本的なプロジェクトの場合、より単純な構成。
  • STM32Cube: 特に高度な機能の場合、より複雑な構成オプション。

IDE:

  • Arduino: Arduino IDE または Arduino 拡張機能を備えた VSCode。
  • STM32Cube: STM32Cube 拡張機能を備えた STM32CubeIDE または VSCode。

学習曲線:

  • Arduino: 初心者にとって学びやすい。
  • STM32Cube: マイクロコントローラーと組み込みシステムに関するより深い知識が必要です。

全体として、Arduino は初心者や単純なプロジェクトに最適な選択肢ですが、STM32Cube は高度なアプリケーション向けに、より高い柔軟性、パフォーマンス、機能を提供します。