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?

Linuxを載せるか、MCUで作るか ― MPU/MCU/RTOSの選び方【MCU開発環境の地図 D-1】

0
Last updated at Posted at 2026-07-28

はじめに

「組み込みLinuxの仕組み」シリーズ(Cシリーズ)ではLinuxが動くボードの世界を歩きましたが、組み込みの現場の少なくとも半分は、Linuxを載せない世界――Cortex-MクラスのMCU、ベアメタル、RTOSの世界です。

この短期シリーズ「MCU開発環境の地図」では、その世界の入口を整理します。第1回の今回は最上流の問い、「この装置、Linuxが要るのか?MCUで足りるのか?」 に判断軸を与えます。C-1で予告した線引きの話の、回答編です。

用語を先に整理しておきます。本シリーズでは慣例に従い、MPU=MMUを持ちLinuxが動くクラスのプロセッサ(Cortex-A等)、MCU=フラッシュ・RAM内蔵のマイクロコントローラ(Cortex-M、PIC、RL78等)と呼び分けます。境目は厳密にはグラデーションですが、実務では「Linuxがまともに動くか」で分けて概ね困りません。

判断軸1:時間(起動とリアルタイム性)

観点 MCU(ベアメタル/RTOS) Linux(MPU)
起動時間 ミリ秒〜数十ミリ秒 数秒〜数十秒(短縮技術はあるが戦い)
割り込み応答 マイクロ秒オーダーで確定的 標準では非確定(PREEMPT_RT等で改善はする)
制御周期の保証 しやすい 苦手分野

「電源ONから100ms以内に動作開始」「1ms周期の制御を絶対に外せない」という要件が1つでもあれば、その部分はMCUの領分です。Linuxで頑張る道もありますが、たいていはMCUを1個置く方が安く確実です。

判断軸2:機能(ネットワーク・GUI・資産)

C-1で挙げた「Linuxを選ぶ動機」の裏返しです。

  • リッチなネットワーク(TLS、Web管理画面、クラウド連携多数)→ Linux優位。ただし単純なMQTT送信程度ならMCU+無線モジュール(Bシリーズのホストレス型)で十分
  • リッチなGUI(タッチパネル、多言語、動画)→ Linux優位。セグメントLCDや小型キャラクタ表示ならMCUで十分
  • ファイル・大容量データ→ Linux優位
  • 既存OSS資産・Python等→ Linux優位

「十分」のラインが年々MCU側に動いている(MCUでもTLSやそこそこのGUIが動く時代)ことも、頭に入れておきたい変化です。

判断軸3:電力・コスト・実装

観点 MCU Linux(MPU)
消費電力 μA〜mAオーダーの世界。電池駆動◎ 百mA〜Aオーダー。電池は厳しい
部品コスト 数十円〜数百円+周辺最小 SoC+DDR+ストレージ+PMICで千円単位〜
基板設計 2〜4層で完結しやすい DDR配線等で難度↑(→C-4のSoM論)
開発環境 無償IDE+数千円の書き込み器(D-2 クロス開発、Yocto等(C-10

電池で年単位動かす機器はほぼ自動的にMCUです。逆に商用電源前提でBOMに余裕があれば、この軸はあまり効きません。

判断軸4:更新・保守・セキュリティ

見落とされがちですが、長寿命機器ではここが決め手になることがあります。

  • Linux側の負担:カーネル・OSSの脆弱性対応を製品寿命の間ずっと追う体制が要る(C-10の「台帳」の話)。可視性が高くツールも揃う一方、対象が膨大
  • MCU側の負担:コード全部が自分の書いた物なので対象は小さいが、TLSスタック等を載せた瞬間に更新義務は同様に発生する
  • 人の確保:Linuxエンジニアは比較的採りやすく、特定MCU+RTOSの熟練者は社内資産に依存しがち――という組織側の事情も、実務では立派な判断材料です

判断の型:「分ける」が正解のことも多い

実際の装置では、二者択一ではなく分担構成が正解になることがよくあります。

MCU開発環境の地図_①MCU-Linux分担構成_icon

リアルタイム制御と安全監視はMCUに、GUIとネットワークはLinuxに。C-9で見たCPU+FPGA SoCも思想は同じで、「確定的な仕事」をPL(ハード)に置くか、MCUに置くかの違いです。Linux側が再起動しても計測・安全機能が止まらない、という故障分離の利点も大きく、産業機器ではこの構成が本当に多い。

判断フローとしてまとめると次の図です。製品全体を最初からMCUかLinuxの一択にせず、機能ごとに両方の要件を確認するのがポイントです。

MCU開発環境の地図_②MCU-RTOS-Linux判断フロー_icon

両方の領域が必要なら分担構成を第一候補にします。どちらでも成立する場合は、開発・保守体制、数量、BOM、将来拡張まで含めて決めます。

ハマりどころ

  • 「せっかくならLinuxで」の過剰装備:LEDと数個のボタンの機器にLinuxを載せると、起動時間・電源断対策・脆弱性対応という「Linux税」を全部払うことになります
  • 「MCUで十分」の楽観:後から「クラウド連携も」「画面もう少しリッチに」が来るのが世の常。拡張の見込みは最初に確認する
  • RTOSを入れる/入れないの判断:タスクが2〜3個ならベアメタル+割り込みで足ります。通信スタックや複数の非同期処理が絡み出したらRTOS(FreeRTOS/Zephyr等)の出番
  • 分担構成の通信プロトコル設計を後回しにする:MCU-Linux間のフレーム設計・エラー処理・FW更新経路は、両チームの境界仕事として最初に決める(C-9コラムの「境界人材」問題と同型です)

現場コラム:「その要件、本当に要件ですか」

選定会議で「起動は一瞬がいい」「画面はリッチに」「電池でも動くと嬉しい」と全部盛りの要望が出ることがあります。全部叶えると分担構成+大容量電池のフルコースになり、コストが跳ねます。

効くのは、要望を 「must(製品が成立しない)」と「want(あると嬉しい)」に仕分けし直す ことです。「起動一瞬」がmustなのは安全装置の話であって、設定用GUIの起動が10秒かかっても実は誰も困らない――そんな整理が済むと、アーキテクチャは驚くほど素直に決まります。技術選定の半分は、要件の解像度を上げる仕事だと思っています。

まとめと次回

  • 判断軸は「時間(起動・リアルタイム)」「機能(GUI・ネット)」「電力・コスト」「保守体制」の4つ
  • 相反する要件が同居するなら、MCU+Linuxの分担構成が第一候補
  • 過剰装備のLinux税にも、楽観のMCU選定にも罠がある

次回D-2は、MCU側に決めた後の実務、STM32・NXP・PIC・ルネサスの公式IDEと書き込み器の早見表です。「どのメーカーを選んだら、何を買って、何をインストールすることになるのか」を一望します。

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?