実はこの変化が日本の組み込み市場に、ちょっとしたインパクトを与えた。それは「日本語からの脱却」である。2000年頃の話で言うと、国内メーカーのMCUを利用する理由として「マニュアルが日本語だから」「サポートが日本語で対応してくれるから」を理由に挙げるケースが結構多かった。個人的には「ユーザーはともかくエンジニアとしてそれはどうよ?」と思わなくも無かったのだが、事実多かったのだから仕方がない。ところがCortex-Mが主流になり、しかも必ずしも国内メーカーのCortex-MベースMCUを使えないというケースでは、データシートからサポートフォーラムまで、全部英語になる事が多い。必然的に英語を使わないといけないというわけだ。
良くも悪くも、今は海外(主に米国)から新しいトレンドやアーキテクチャ、実装がやってきて、それを利用してシステムを構築する時代になっており、またオフショアやODMなどの利用で海外の製造工場や開発チームと連携する機会も多いから、エンジニアが英語を避けて通るのは難しいのだが、図らずしもCortex-MがMCUのアーキテクチャになった事で、これを余儀なくされる様になったというのは、結果から言えば喜ばしい事だったのかもしれない。多分今後も、この傾向は変わらないだろう。
もう一つ、この20年あまりの動きで明確なのは“脱Windows環境”ということだ。もちろん、PLCの中身とか、ハードリアルタイム制御が必要なコントローラーとかはMCUにベアメタルでガリガリというパターンが多いが、ATMだったりPOSレジスタだったり、電光掲示板/デジタルサイネージなどの類はWindowsをベースにシステムを構築する、というケースが2000年代ではごく一般的であり、この傾向は2010年代後半まで続いた。
理由の一つは組み込み向けのソフトウェアエンジニア不足である。Windowsのアプリケーションを構築できるソフトウェアエンジニアは比較的探しやすいが、組み込み環境に習熟したソフトウェアエンジニアの数はずっと少ない。そしてハードウェアはほとんど変えずに、ソフトウェアだけ変更してさまざまな業種向けのシステムを入れる(例えば鉄道と空港では、電光掲示板に求められる要望がだいぶ変わってくるが、ハードウェアはそう変わらない)というケースが多いから、ソフトウェアエンジニアは常に不足している。であれば、クリティカルなアプリケーション以外はソフトウェアエンジニアを集めやすいWindows環境で、という方向性になっても不思議ではない。
ちなみにこれは別に日本だけの話ではない。MONOistの「リアルタイムOS列伝」という連載でご紹介した「INtime」とか「RTX」などは、まさにWindows環境にハードリアルタイムの環境を提供しようというもので、ノンクリティカルな部分は通常のWindowsアプリケーションで記述、クリティカルな部分だけでをハードリアルタイム環境で処理しようという仕組みである。こういうRTOSというかハイパーバイザーというか、そういうソリューションがあること自体、Windows環境が海外でも広く組み込み用途で使われている事の傍証ともいえる(写真1)
Copyright © ITmedia, Inc. All Rights Reserved.
記事ランキング