×閉じる
チュートリアル mruby/c

mruby/cをSTM32マイコンで動かす

しまねソフト研究開発センターでは、IoT分野における技術支援や研究活動の一環として、組み込み開発向けRuby言語「mruby/c」をSTM32マイコンで動作させる方法を詳しく解説するチュートリアルを公開します。

img_ogp

しまねソフト研究開発センター(以降「ITOC」)では、IoT分野における技術支援や研究開発を通じて、島根県内企業の新たな製品・サービス創出支援に取り組んでいます。その取り組みの一環として、ITOCでIoT分野に関する技術支援や相談対応を行う東専門研究員により、組み込み開発向けRuby言語「mruby/c」を汎用マイコン市場で世界トップシェアを誇るSTマイクロエレクトロニクス社の32bitマイクロコントローラ(以降「STM32マイコン」)で動作させる方法を解説するチュートリアルを公開します。

レポートの目的

本レポートは、STM32マイコン評価ボード「Nucleo-F401RE」をターゲットに、「mruby/c」を動作させるための環境構築からポーティング手順、マルチタスク処理のサンプルプログラムを体系的に解説するチュートリアルです。これにより、はじめて「mruby/c」やRuby言語に触れる方でも理解しながら実践できることを目的としています。併せて、「mruby, mruby/c 共通I/O APIガイドライン」に準拠したライブラリ実装手順を紹介しています。これにより、他のマイコンでも動作する移植性の高いプログラムの作成と、各種センサーやI/O制御ライブラリを再利用できる環境構築を学べます。

学べること

  • STM32マイコン上でmruby/cを動作させるための環境構築および移植手順
  • mruby/cスクリプトによるSTM32マイコンのマルチタスク処理の実装方法
  • 他のマイコンでも利用可能な移植性の高いプログラムと、再利用性に優れたライブラリの設計手法

こんな方におすすめ

    • STM32マイコンをスクリプト言語で動かしてみたい方
    • STM32マイコンを用いた製品で柔軟な機能拡張や開発効率を向上したい方
    • STM32マイコンで「mruby/c」の採用を検討しており、具体的な実装方法や手順を知りたい方

 

mruby/cとは?


mruby/c(エムルビー・スラッシュ・シー)は、プログラミング言語「Ruby」の高い開発生産性と優れた可読性の特徴を継承した、組み込みシステム向けの軽量なRuby実装です。プログラム実行に必要なメモリ消費量が約40KBと非常に小さく、リソースに制約のあるワンチップマイコン上でも動作します。センサーネットワークやウェアラブルデバイスなどの小型IoT機器のソフトウェア開発はもちろん、既存デバイスへのDSL(ドメイン固有言語)追加にも適しているため、柔軟な機能拡張や開発・保守運用の効率化を支援します。詳しくはこちら

 

STM32マイコン評価ボード「Nucleo-F401RE」とは


Nucleo-F401REは、STマイクロエレクトロニクス社が提供する32bitマイコン製品(STM32ファミリ)の開発評価ボードです。ARM Cortex-M4コアを搭載したSTM32F401REマイコンを採用し、組み込みシステムやIoTデバイスの試作開発を手軽かつ効率的に進めることができます。詳しくはこちら

レポートの公開先

東専門研究員によって、エンジニアに関する知識を記録・共有するためのエンジニアコミュニティサービスである「Qiita」に、以下のとおり技術レポートを公開しています(※リンクをクリックすると外部サイト「Qiita」へ移動します)。

【チュートリアル】mruby/cをSTM32マイコンで動かす
#1 環境構築
#2 mruby/cでElChika(えるちか)
#3 ハードウェアタイマーの使用
#4 halの仕上げ
#5 GPIOの拡張と、複数プログラムの動作

【チュートリアル】mruby/cペリフェラルライブラリのSTM32マイコンへの実装
#1 準備編
#2 GPIOクラス実装編
#3 ADCクラス実装編
#4 PWMクラス実装編
#5 I2Cクラス実装編
#6 SPIクラス実装編
#7 UARTクラス実装編
#8 バイトコード書き込み機能実装編

* 上記のレポートは、2024年5月~11月にかけて「Qiita」へ投稿されたものです。

お問合せ先

本レポートの内容や「mruby/c」に関する不明点やご相談がありましたら、お気軽に問合せフォームまたは下記へお問合せください。


公益財団法人しまね産業振興財団
しまねソフト研究開発センター
Phone:0852-61-2225
Email:itoc@s-itoc.jp

このページのトップへ