KUMICO

COLUMN

ARMとLinuxが、組み込み開発に利用されるまで

今となっては当たり前のように組込み機器に搭載されているARM(アーム)やLinux(リナックス)ですが、昔から今のようにさまざまな業界で利用されていたわけではありません。これらARMやLinuxは、長い歴史の中で組込み機器の流れに合わせた形にフィットすることで、今のような組み込みシステムへ取り入れるようになりました。このコラムでは、組み込みシステムの発展の中でARMやLinuxがどのようにフィットしてきたのかを振り返ってみようと思います。

組込み機器の流れ

ARM、Linuxの歴史を話す前に、まずは組み込み機器の時代の流れに伴う変化について振り返っておきましょう。昔の組込み機器はネットワークにつながらないスタンドアローンで動作するものがほとんどだったのに対して、インターネットの普及でパソコンをはじめ、組み込み機器もネットワークにつながることが当たり前の時代となってきました。この「ネットワークにつながる」というのが、組込み機器の一つのターニングポイントだと私は思っているのですが、さまざまな機器と連携することにより実現できる事が大幅に増えていきました。これにより組込み機器は、より高性能、小型・コンパクト、低消費電力なものが求められるようになってきています。昨今ではクラウドが登場し、組込み機器に搭載された機能の一部をクラウド側に移行する事で、より複雑な処理を低い性能のハードウェアでも実現可能な世の中を迎えようとしています。

ARMの誕生と普及

ARMはもともと、エイコーンコンピュータによって開発されたシンプルな32ビットのプロセッサーとして登場しました。登場した当初からシンプルがゆえに消費電力が極めて低いが性能は高いという、組み込みシステム(エンベデッドシステム)に取り入れるには非常に適した特徴を有していました。ARM1,ARM2と開発を進め、1980年代後半になると今では世界でも1、2を争う有名企業であるアップルコンピュータと共同で開発を行い、新しいARMプロセッサの開発を進めていきます。この開発で登場したのがARM6です。このARM6はApple社のコンピュータに搭載され注目を浴びる事となります。後にこのARM6の改良版であるARM7が、爆発的にシェアを広めていく携帯電話に採用されたことから今日の地位を築いていくことになったと私は思っています。2004年にはリアルタイム・アプリケーション向けのARMマイコン(ワンボードマイコン)「Cortex-M3」が発表され、さまざまな機器の機器制御に使用されています。またCortex-Mシリーズは、組込みシステム(エンベデッドシステム)をターゲットに開発されたARM マイコンでもあります。

ARMの素晴らしい点としては、開発の当初から今に至るまで組み込み機器に必要な要素である省電力を維持しつつ、高性能を実現している点にあると思います。この一貫した方向性が見事に組み込み機器開発の流れと一致したことで、今現在では数多くの最新組み込み技術にARMが活用されています。

Linux(リナックス)が普及するまでの経緯

Linuxとは、もとはパソコンに特化した、無償で入手できるオープンソースなソフトウェアとして開発されたOSです。ここでの「無償で入手できるLinux」というのは、OSのKernel(カーネル)、つまり核の部分を指します。本来の意味でいうと「Linux」というのは、中核部分となるLinux Kernel(リナックス・カーネル)に加え、OSを構成するソフトウェア、アプリケーションソフト、インストーラーといったLinuxディストリビューションのことを指すのが一般的かと思います。
LinuxはサーバーやメインフレームなどのOSとしては登場当初から利用されていましたが、家庭用のパソコンにLinuxを搭載して利用するのは、技術者など専門色の強いユーザーだけ、といったイメージが当時は強かったと思います。しかし、別コラムでも解説しましたが、さまざまなディストリビューションの登場により、そこまでパソコンに詳しくない人であっても利用しやすいGUI(グラフィカルユーザインターフェース)が充実したり、非常に簡単にインストールできるようになったりして、導入、利用する壁はどんどん低くなっています。今となっては、家電製品ではテレビやルーター、車載製品ではカーナビゲーションシステムのような組み込みシステムでもよく使われるOSとなっています。ここ数年で普及しているAndroidプラットフォーム(スマートフォンやタブレットのような携帯向け情報端末をメインターゲットに開発されたプラットフォーム)もLinuxの上で動作するソフトウェアです。ここまで組み込み機器にLinuxが普及した要因は、インターネットの普及にあると思います。インターネットの普及により、あらゆる機器をインターネットにつないで通信を行えるようになりました。組込み機器でも同様の流れを受けた結果、当然ながらそこにネットワークプロトコルを搭載する必要が出てきたのです。このネットワークプロトコルは多岐にわたり、これらを一から開発して組み込み機器に搭載するには開発規模が大きく、長い期間を要するものでした。ネットワークプロトコルを搭載するにあたってLinuxが多く採用されることになったのは、Linuxでは数多くのネットワークプロトコルが搭載されていることと、オープンソースとして開発されているネットワークプロトコルもLinuxで動作するものが多かったためでしょう。当時はハードウェアの性能がそこまで高くなかったため、軽量化したLinuxを利用していましたが、ハードウェア性能の向上と低価格化により、近年ではパソコン用のLinuxとそこまで大差ないLinuxが動作するようになり、数多くの組み込み機器に搭載されています

技術者が一度はふれておきたいARM×Linux

このようにARM、Linuxが有名になってくれば、当然「ARM上で動作するLinux」というものも登場してきます。実際、マイコンボードのコラムでも紹介したハードウェアなどは、ほとんどがARMコアプロセッサーを搭載したCPUボードです。例えば、アットマークテクノが開発したArmadillo(アルマジロ)シリーズが挙げられます。ArmadilloはARM系CPU(ARMアーキテクチャを採用したCPU)を搭載した、小型汎用ボードコンピューターのシリーズ名称で、組み込み機器向けに作られています。そしてArmadilloには、汎用OSであるLinuxが標準OSとしてプリインストールされています。また、同じCPUボードでも非常に安価で入手できるものもあり、筆者が知る限りで一番安いのが、3,000円前後で手に入るRaspberry Pi(ラズベリーパイ)がそれにあたります。名刺ほどの小型サイズにして、Raspbian(DebianベースのLinuxディストリビューション)が動くという本格さを兼ね備えています。

今後、組み込みLinux、ひいては組み込み開発に携わっていく組込み技術者であれば、ARM、Linuxというキーワードはますます無視できなくなってくるでしょう。パソコン用Linuxがそうであったように、ARM上で動作するLinuxというのはどんどん便利になってきており、導入の敷居が低くなっています。ARM、Linuxに一度はふれておくことが、今後あなたの組み込み技術者としての器を少しでも広げてくれる事につながると私は思っております。この機会にトライしてみるのはいかがでしょうか。

個別相談も承っております。下記よりお申し込みください。

個別相談会申し込み

関連記事

OTHER COLUMN

MORE  

まこちゃんブログ

NEWS

MORE  

PARTNER

  • Intel
  • Xilinx

お探しの組み込み製品はキーワードで検索!