ARM+Linuxの組み込みCPUボード「Armadillo(アルマジロ)」は、2012年で発売開始から10周年を迎えた。USB、LAN、SD/microSDスロットなど多種のインタフェースを搭載、タッチパネル液晶対応や無線LAN対応モデルなどもラインアップし、「繋がる・選べる・標準プラットフォーム」として、組み込み機器の製品化に広く使われている。

今でこそARMプロセッサや組み込みLinuxは"当たり前"、Armadilloは「ARM搭載の組み込みプラットフォーム」として業界の一角を担い、多くの人が知る存在となった。しかしこのArmadilloも、10年前の発売当初には「ARMって何?」「Linuxなんて組み込み機器には使えないでしょう?」と奇異の目で見られることが多かったという。

この連載では、Armadilloブランドの10年の歩みとともに、ARM+Linuxが組み込み開発の現場に広く浸透するまでの業界の流れを追い、これからの組み込みプラットフォームの進化について考えてみたい。

10年前の「ARM」と「Linux」

ArmadilloといえばARMプロセッサ搭載。まずはこの「ARM」を含めた当時の「組込みプロセッサ」から振り返ってみます。

現在でこそARMは身の回り至るところの機器に搭載されていますが、初代Armadillo(HT1070)が開発された21世紀初頭ではかなり様相が異なりました。ARMの採用が知られていたものはPocket PC(後のWindows Mobile)搭載PDAやポータブルゲーム機、それから一部のブロードバンドルーターなどで、一般に「ARM」の知名度はほとんどありませんでした。当時の技術系雑誌広告を見ても、ARM搭載の汎用ボードといったものは見当たりません。MIPSやPowerPCが健在で、国内ではルネサスSuperHシリーズが強い時代でした。

この頃における「組込みプロセッサ」が感じ取れる資料を、ARM社主催テクニカル・ブリーフィングから一部ご紹介します。

Intel Pentium 4 ARM7TDMI
速度 1.4GHz 80MHz
トランジスタ数 42M 74K
面積 21mm2 1mm2
最大周波数動作時の消費電力 66W 0.03W

やや古くさく感じる数字が並んでいますが、これは当時の「PC用」と「組み込み」プロセッサの違いを示すものです。組込みプロセッサでは高性能が必要とされない代わりに「低コスト・小型・省電力」への要求が大きい、さらに次世代の携帯電話やPDAでは次第に高性能化も要求されるであろう…と説明されています。まだまだマイナーだったARMですが、急速に採用が広がるだけの優れた先見性があったといえるでしょう。

Armadilloのもう1つの特長、それはLinux標準動作です。「Linux」のような「汎用OS」が搭載された組込み機器は、当時はごく少数の部類でした。

Linuxにおける2001年最大のトピックは、新メジャーバージョンであるカーネル2.4の登場でした。この時点で既にARMアーキテクチャへの対応は行われていましたが、これはAcorn Computers製RiscPCなど、ごくごく少数の機器向けのもの。より新しいSoCへの対応などを加速するため、Russell King氏らによるARM Linuxプロジェクトが活動していました。

Armadillo誕生前夜

こうした時代に私たちはARM Linuxに興味をもったわけですが、試してみたいと思っても実機がなかなか入手できません。初めて体験できたのは、オークションサイトで「PSION Series 5」という英国製PDAを入手してからでした。搭載SoCはCirrus Logic製「CL-PS7111」(ARM710aコア/18.4MHz)、有志によってLinux移植が活発に行われていました。ARM Linuxプロジェクトによるカーネル2.4用パッチを見ると、最初に追加されているのはこのSoCを含むCL-PS711x/EP721xターゲット。今となってはマイナーなPDAですが、ARM Linuxの進化と普及に貴重な役割を果たしたわけです。

現在もアットマークテクノ社内に残されているPSION実機

こうしてARM Linuxの魅力に取りつかれた私たちが次に入手したのが、前述SoCと同一シリーズの上位版「EP7312」(ARM720Tコア/74MHz)を内蔵した新SoC「CS89712」評価ボード。Cirrus Logic社から、まさにLinuxのための組込みプロセッサ評価環境を得たことにより、Armadilloの開発が本格スタートしました。

新世紀の組込みボードとは?

まだ21世紀の実感がわかない頃にぼんやり考えた、これからの組込機器に必要なものは?という問い。「低コスト・小型・省電力」といった要件については、ARMプロセッサが解決してくれそうです。さらに魅力的な組み込みボードにするには?「組込みLinux」が答えをくれました。

当時はようやく一般家庭にもインターネットが普及してきた時期で、それまでスタンドアローンなものが多かった組込機器にもこの波が押し寄せていました。いざネットワーク対応しようとなると、物理的にEthernetデバイスを搭載するだけでなく、ソフトウェアとしてTCP/IPプロトコルスタックの実装が必要です。この点、既に圧倒的な実績のあるスタックを持つLinuxはうってつけでした。

ネットワーク対応してプロセッサが高性能になるにつれ、処理するデータ量も大きくなります。Webサーバーであれば画像や音声データも置きたい、データロガーであれば大量のデータを蓄積したい。ストレージとしてコンパクトフラッシュを採用しましたが、様々なファイルシステムを持つLinuxはここでも有利でした。

汎用組み込みボードであれば、接続できるセンサや制御機器の種類が多いほど採用場面が広がります。拡張性も大事なキーワード、このため産業用途で普及していたPC/104拡張バスに対応しました。それぞれのデバイスを使用するためのドライバこそ必要ですが、そこはオープンソースのLinuxです。参考になるソースコードが大量に存在しますし、異なる機器間での移植であっても格段に容易になりました。

「ARM搭載の小さなもの」Armadilloの初期型

現在から見ると当たり前のように感じる「繋がる・広がる・使える」、これらもすべて「組込みLinux」あってこそ実現できた「未来」です。

Armadilloの誕生

ARM Linuxは動かせても、私たちには高品質な組み込みボードを安定して生産するだけのノウハウが不足していました。この点、共同で開発を行った梅沢無線電機に強力な力添えをいただき、開発中ボードを「MST2001」(毎年秋に行われている組込み総合技術展「ET」の前身)の梅沢無線ブースに出展したのが2001年11月。何とか開発が完了し、Armadillo(HT1070)のファーストロットが完成した頃には、2002年の3月になっていました。

発売直後の雑誌に掲載された梅沢無線電機の広告

あれから10年、私たちはArmadilloブランドを冠する多数の製品を展開してきました。次回はこうした製品群とともに、「Armadillo」=「組み込みプラットフォーム」という位置付けを確立していくまでのストーリーをご紹介したいと思います。

著者:花田政弘

アットマークテクノ
開発部マネージャー