0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【チュートリアル】mruby/c ver4 をSTM32マイコンで動かす Chapter1: 開発環境構築

0
Last updated at Posted at 2026-07-31

島根県産業技術センター の東です。

本レポートでは、STマイクロエレクトロニクス社製の32bitマイコン「STM32」シリーズに、mruby/c をポーティングする手順を説明します。
約2年前に同様の記事を執筆しましたが、このたび、

  • mruby/c 4.0.0 をリリースした
  • STMicroelectronics社提供の開発環境が、大きく変わった

ことから、別記事として書き直すことにしました。1

今回はその第1回、事前準備としての環境構築を行います。
なお、記載するキャプチャ画面および手順は、Windows 版をもとにしています。

記事は、複数回に分けて以下の順で進めていきます。

Chapter1: 開発環境構築(今回)
Chapter2: mruby/cでElChika(えるちか)
Chapter3: ハードウェアタイマーの使用
Chapter4: halの仕上げ
Chapter5: GPIOの拡張と、複数プログラムの動作

全体方針

  • ST社製の無償開発環境(STM32CubeIDE) および、初期化コード生成ツール(STM32CubeMX)を使う
  • コンパイラは、上記付属のgccを使う
  • ペリフェラルのコントロールに、ST社純正HALライブラリを使う

今回の目標:手順

  1. STM32CubeIDE および、STM32CubeMX の環境構築を終わらせる
  2. ST社製マイコン評価ボード 「Nucleo-F401RE」 の、オンボードLEDを使って、C言語レベルでLED点滅をさせる。

準備するもの

CubeIDEは、現時点(2026/07)での最新版 v2.2.0 で、CubeMXは v6.18.0 で説明します。

作業手順

インストール

開発環境 CubeIDE をダウンロードし、インストーラのデフォルト値通りでインストールします。

20260730104916.png

初期化コード生成ツール CubeMX をダウンロードし、インストーラのデフォルト値通りでインストールします。

20260730113305.png

CubeIDE 初期設定

CubeIDE を起動します。
最初の起動時には、ワークスペースの保存ディレクトリの確認ダイアログが表示されますので、任意のわかりやすいディレクトリを指定します。
20260730114307.png

一旦、CubeIDEは終了させます。

CubeMX を使ってプロジェクトを生成

CubeMXを起動し、画面中央 New Project 欄の、ACCESS TO BOARD SELECTOR をクリックします。
20260730114912.png

New Project from a Board ウインドウが表示されます。
20260731092936.png

  • 左上の Commercial Part Number 欄に、F401RE と入力します
  • 右下に NUCLEO-F401RE ボードが表示されるので、一度クリックして選択状態にします
  • 右上の、Start Project ボタンをクリックします
  • 「Initialize all peripherals with their default Mode ?」 とダイアログが表示されるので、Yes をクリックします

これで、MPU選択と初期ピンアサインが終わった状態で元の画面に戻ります。
20260730115713.png

この画面で、LEDが接続されているピンを確認します。

  • LD2[GreenLED] と表示されているピンを見ると、PA5 であることが分かります
  • 青色のプッシュスイッチは、B1[Blue PushButton] と表示されているピンを確認し、PC13であることが分かります

プロジェクトマネージャ欄の入力

画面上部の「Project Manager」をクリックします。
Project Setting 欄に、以下の通り入力します。

20260731093227.png

  • Project Name: 任意のプロジェクト名、ここでは、mrubyc_v4 と入力しました
  • Project Location: 先ほど CubeMX での設定と同じ場所を指定します
  • Toolchain / IDE: STM32CubeIDE を選択します

自動的に利用するライブラリのダウンロードを行いますので、ネットへの接続が必要です。

2026/07/31現在、STサーバへの接続確認ができないというエラーが発生します。検索してみると、同様の悲鳴は、結構ヒットします。
私の環境でも27日にはライブラリが自動ダウンロードできましたが、昨日より記事執筆のために環境を作り直して再度試すと、接続できなくなりました。
代替手段として、www.st.com から、ライブラリ STM32CubeF4 を検索し、CubeMXへ手動インポートして続きを書いています。

しばらくすると、以下の完了ダイアログが表示されます。

20260731093401.png

Open Project ボタンをクリックすると、自動的に CubeIDE が起動し、プロジェクトがインポートされます。
20260731094602.png

ここまでの作業が正しいか、ビルドして確認

作業が正しくできているか、ここで一旦ビルドして確認します。

左ペイン Project Explorer の画面から、Core > Src とたどり、main.c をダブルクリックして開きます。
20260731095911.png

右ペインに表示された C言語ソースコードから、/* USER CODE BEGIN 2 */ の箇所を探し、その下に以下のコードを追記します。

Core/Src/main.c
  /* USER CODE BEGIN 2 */
  while( 1 ) {
	HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
	HAL_Delay(500);
	HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);
	HAL_Delay(500);
  }

ST製 HAL ライブラリを使って、GPIOの制御と時間待ちを行っています。
HALの説明は、ST製ユーザーマニュアル UM1725 を参照してください。

ビルド

メニューから、Project > Build Project を選びます。
下部コンソールペインに、Build Finished. 0 errors, 0 warnings. と表示されるのを確認します。
20260731100250.png

書き込み

デバイスをUSBポートへ接続します。
この時、デバイスに付属する書き込みツールのファームウェアアップグレードを要求される場合があります。指示に従ってアップグレードしてください。

メニューから、Run > Run を選びます。もしくは、Run > Run As > 1 STM32 C/C++ Application を選びます。
Edit Configuration ダイアログが表示される場合がありますが、そのまま [OK] をクリックします。
20260731100635.png

デバイス上のオンボードLED LD2 が点滅するのを確認します。
202607311041_movie.png

おわりに

以上で、STM32CubeIDE / CubeMX を用いた開発環境の構築と、C言語での基本的な動作確認(えるちか)は完了です。

第2回では、今回作成したプロジェクトに mruby/c のソースコードを追加し、実機でRubyスクリプトを実行させる手順を解説します。

  1. もとの記事を訂正する事も考えましたが、以前のバージョンの使い方をアーカイブ的に残しておく方が良いと思い、新しい記事にしました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?