「Armadillo-WLAN」登場
2008年11月、Armadilloブランド初の外部デバイス製品を発売しました。SDIO接続のIEEE 802.11b/g対応無線LANモジュール、「Armadillo-WLAN」です。一般的にSDといえばメモリカードを指しますが、SD規格に含まれるI/Oインタフェースを想定したものがSDIOとなります。2007年発売の「Armadillo-500」、2008年発売の「Armadillo-500 FX」がSDIOに対応しましたので、このことによる需要も見込んでの製品化でした。
Armadillo-WLANはその後、搭載されているローム製チップセットとともに2度の進化を経ています。2010年に「Armadillo-440」「Armadillo-420」の発売が開始された後、同年11月には「Armadillo-WLAN (AWL12)」を発売。さらに翌2011年の12月に発売した「Armadillo-WLAN (AWL13)」ではIEEE 802.11nの72.2Mbps通信(理論値)に対応、SDIO接続に加えてUSBやシリアル(UART)での接続も可能になりました。同梱アンテナとの組み合わせで国内電波法認証取得済みであること、使用温度範囲が-40~85℃と一般的な無線LANモジュールに比べ広いこと、こうした特長から産業用途にも「そのまま組み込んで使える」というArmadilloブランドらしい製品です。
Armadillo-WLAN発売により、無線LAN対応への執着はひとまず終結?…いいえ、やはりそんなわけはなく。11n世代では、Ralinkブランドのチップセットを搭載した市販USBモジュールの使用方法を「Howto」としてArmadilloサイトに公開しました。オープンソースドライバは数年がかりでアップデートされていきますが、多種に渡る市販モジュールの動作検証がユーザー間で盛んに行われ、Armadilloメーリングリストでも情報が飛び交いました。こうした成果についても、できる限り社内で取りまとめ、Armadilloサイトの「動作確認済みデバイス」コーナーで情報公開するようにしています。目的に応じてデバイスが「選べる」のもまた、「組み込みプラットフォーム」であるArmadilloらしいところではないでしょうか。
「Armadillo-400」シリーズと「Armadillo実践開発ガイド」
さて、ようやく無線LANから離れまして…今回の最後の話題として、「Armadillo-400」シリーズに触れたいと思います。前述したように、Armadillo-9/200シリーズの後継機に当たります。
このシリーズで最初に登場したのは、2010年3月発売の手のひらサイズ「Aramdillo-440」。この"40"が付くネーミングは2006年発売の「Armadillo-240」を連想させるものであり、「画面出力」機能をメインに置いた機器向けを想定した製品です。Armadilo-440では、Armadillo-240で採用していたPC用のモニタに接続するアナログ出力に代わり、パネルコンピュータ化を想定した「LCD出力」対応としました。
すぐ後の5月発売「Armadillo-420」は、Armadillo-220と同様に画面出力を持たず、USBなどの拡張とネットワーク機能を生かす機器向けのもの。翌2011年7月に発売した「Armadillo-460」はPC/104サイズとなり、こちらは「Armadillo-9」に当たるものです。
Armadillo-400シリーズ3製品はすべて同一のSoC、Freescaleのi.MX257(ARM9コア/400MHz)を搭載しています。Armadillo-9/200シリーズと同サイズながら、2倍のCPUコア性能を持ち、USB 2.0(High Speed)やmicroSDなど新しい時代のインタフェースに対応。多機能なi.MX257を最大限に活かせるよう、拡張ピンへの機能選択にもとことん配慮した設計を行いました。前述のArmadillo-WLANを搭載した「Armadillo-400シリーズ WLANオプションモジュール」で無線LANにも対応できます。また、動作温度範囲-20~70℃を実現した点は、組み込みプラットフォームとして大きな武器となりました。アットマークテクノが北海道の企業であることから、寒冷地でも動作する組み込みプラットフォームを期待された背景もあったのです。
Armadillo-400シリーズの"小さなサイズに多くの機能と高い拡張性を持たせる"というコンセプトは、非常に実用的なものといえます。しかし、これを実現する上での懸念点が製品開発中に浮き上がり、社内で物議を醸しました。多機能・高拡張性とは裏腹となる使い方の「複雑さ」です。
Armadillo-400シリーズでは、ほんの二十数本の拡張ピンの中に、UART/GPIO/SD/1-Wire/I2C/SPI/I2S/CANといった多数の機能がひしめきあっています。各機能はピンに対してマルチプレックスされており、使いたい機能の組み合わせ次第ではi.MX257のデータシートを頼りにデザインを模索して、ソフトウェアで面倒な設定を行う必要があります。また、選んだ機能やピンに対して適切にデバイスドライバを修正したり、作ったりしなければなりません。これに余りに時間がかかりすぎるようなら、開発期間の短縮を主目的とする「組み込みプラットフォーム」としては、致命的な問題です。開発現場の議論は紛糾しました。
「機能選択がわかりやすくなる図表説明をつくろう」「開発の手助けとなるツールを作ろう」といった単発の案が出る一方、「それだけではわかりやすくならない」「実際にデバイスを接続しドライバを動かして見せなければ、結局ユーザーは"実践的"開発に取り掛かれないのではないか」といった意見も出ました。本気でユーザーの立場になって考えると、「システムコールを通じてデバイス制御するだけでも、初心者には難しい」「ホスト環境で試行して、クロス開発を行い、ターゲットで動作させる、一連の流れ自体が組み込み開発のノウハウのはずだ」という意見が大勢になりました。思えば、一連のノウハウを伝えることが重要だと知っていたからこそ、技術情報を広く公開する努力も重ねてきたはずです。結局、ユーザーに製品を有効に使ってもらい、高度な組み込み開発ができるようになって欲しい、そのための近道はない…ということになり、これがきっかけで私たちはさらに地道な努力を選択をすることにしました。
この成果が、2010年9月にArmadilloサイトで公開した「Armadillo実践開発ガイド~組み込みLinuxの導入から製品化まで~」です。それまでの製品マニュアル内容レベルを大きく超えた詳細な記述による、全3部構成400ページもの大作となりましたが、どなたでも自由に全編ご覧になることができます。
Armadilloと組み込みLinuxを使った実践的組み込み開発のためのガイドブック…そう銘打ってはいますが、実際のところ全体の半分以上はArmadilloであってもなくても関係ない、一般的な機器開発・ソフトウェア開発の内容です。でも、そうしたところも実に"Armadilloらしい"、"アットマークテクノらしい" ガイドブックといえます。組み込み機器開発者がいるから、組み込みプラットフォーム「Armadillo」がある―これもまた、今も未来も変わらない事実ですから。
次回は、超小型CPUモジュール「Armadillo-500」とパネルコンピュータ向け「Armadillo-500 FX」開発時のエピソードや、最新CPU評価ボード「Armadillo-800 EVA」を中心にご紹介します。そして、未来の組み込み機器に求められること、それを実現する組み込みプラットフォームの未来像は?…といった、Armadilloブランドの次の10年への取り組みについて触れたいと思います。
著者:花田政弘
アットマークテクノ
開発部マネージャー