本人は大学 1 年生の電子情報工学専攻の学生で、現在はマイコンを独学しています。ある日、Bilibili で STM32 を VSCode で開発する動画を見ました:https://www.bilibili.com/video/BV1nr4y1R7Jb/?vd_source=e836ee461d07a48f2161731d0ca031f0
とても面白そうだったので、動画のチュートリアルに従って自分で環境を構築してみました。
(一)VSCode のダウンロード#
まずは VSCode をダウンロードします。インターネットで「VSCode」と検索すれば見つかります。
ダウンロードをクリックすればインストールできます。
(二)拡張機能のダウンロード#
VSCode をダウンロードした後、いくつかの拡張機能をダウンロードする必要があります。以下の枠で示したいくつかの拡張機能で、他のプラグインはこれらのいくつかにバンドルされています。合計で 12 個の拡張機能をダウンロードしました。
その後、コードを確認するためにブックマークの拡張機能も追加しました。
(三)実用ツールのインストール#
以下の 3 つの実用ツールをインストールします:
(四)コンパイラのパスを設定#
ここでは動画と同様に、私は Keil を使って STM32 プロジェクトを開発したので、以下のフォルダ内に 2 つのコンパイラを見つけることができます。
Keil は江協の動画の学習資料の中にあります:
https://www.bilibili.com/video/BV1th411z7sn/?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click&vd_source=e836ee461d07a48f2161731d0ca031f0
次に、VSCode の EIDE プラグインの設定を開き、2 つのファイルのパスを追加します。
(五)プロジェクトのインポート#
次に、Keil で作成したプロジェクトをインポートします。こちらのプロジェクトは江協の STM32 チュートリアルを学んでいるときに作成したもので、そのままインポートします。
プロジェクトをインポート
MDK を選択
ARM を選択(後で 51 マイコンをコンパイルしてみたところ、下の選択肢が良いことが分かりました)
プロジェクトファイルを見つける
同じフォルダに置くことを選択
これでプロジェクトのインポートが完了しました。
(六)チップサポートパッケージと書き込み設定の追加#
チップサポートパッケージを追加するをクリックし、下のオフラインサポートパッケージを追加を選択します。こちらのオフラインサポートパッケージは江協の動画にあるもので、そのまま追加しました。
インストールが完了したら、具体的なチップモデルを選択する必要があります。そうしないとコンパイルできません。
次に書き込み設定を行います。openocd を選択し、私の書き込み器は stlink なので、インターフェースの設定を変更する必要はありません。
(七)コンパイルと書き込み#
これらの設定が完了したら、コンパイルの準備をします。
まず、プラグイン設定を開き、elf を検索して、alf を elf に変換するにチェックを入れます。
次に、ビルダーオプションを開き、リンカーを開いて、HEX を生成しない項目のチェックを外します。生成する必要があります。
それから、コンパイルを開始します。
多くの緑の文字が表示され、最後にこれが表示されれば成功です。
これで書き込みができます。
(八)デバッグ#
動画のデバッグは直接デバッグページに行けばできるのですが、私が行ったところ、該当するオプションが見つからず、自分でデバッグ設定を試行錯誤することになりました。
まず、デバッグページに行き、launch ファイルを作成します。
openocd のデバッグ設定を見つけます。
次に、これら 2 つの項目を変更します。executable はファイルのパスです。コンパイル生成された.elf ファイルがどこにあるかを探し、そのパスをここに貼り付けます。ここでは、プロジェクトフォルダのパスを直接「.」で代用できることが分かりました。「\」は Windows のファイルパス用で、「/」は Linux のファイルパス用ですが、ここではこの 2 つに違いはなく、「\」は多く打つ必要があります。
結果はこのようになります。
次に、configFiles を設定します。どう設定するかを調べるのにかなり時間がかかりました(ネット上には多くの記事が簡単に済ませていました)。ここでは、インターフェースとチップのファイルを設定する必要があります。形式はネットで適当にコピーし、インターフェースとチップファイルの名前は書き込み設定からコピーします。結果はこのようになります。
最後に openocd デバッグモードを選択してデバッグすれば大丈夫です。
これで VSCode と EIDE プラグインを使って STM32 開発環境を構築することができました。本来は書くつもりはなかったのですが、数日前に GitHub リポジトリの作成を学んでいるときに少しトラブルがあり、以前のテンプレートがすべて消えてしまったので、再度作成することになりました。その過程で感じたことをまとめて書きました。これが私の最初のブログ記事です。