KUMICO

COLUMN

お手軽お試し!組み込みLinux対応のボード紹介

前回、「組込み開発におけるLinuxシステムについて」で述べたLinux(リナックス)ですが、あなたの中の敷居は下がったでしょうか。しかし実際に体験してみると、「そんな簡単にいかなかった…」「私が浅はかでした…」なんて出鼻をくじかれた方も多いのではと思います。そんなわけで、このコラムでは組み込みシステム開発におけるLinuxをより深く理解する上で重要となる、「お試し用マイコンボード」に関して解説していこうと思います。

いざ!組み込みlinuxをお試しする前に

おさらいになりますが、組み込みLinuxは、パソコン上でlinuxを動作させることとは異なり、モバイル端末やデジタル機器、家電機器、カーナビ、医療機器など、様々な組み込みシステムに使われています。また組み込みlinuxは、組み込みシステムに特化したlinuxカーネルやlinux OS、もしくはそれらを搭載した組み込み機器をさす言葉でもあります。アプリケーション開発において、あるいはPC向けのwindowsプログラミングから組み込みソフト開発に転進する技術者にとって、Windows Embeddedか、Embedded Linuxか、という選択は興味のあるところだと思います。

組み込みシステムの開発にlinuxを利用することは、たくさんのメリットがあります。まずオープンソースかつ無償であること、ミドルウェアが豊富であること、多種のCPUアーキテクチャに対応した周辺デバイスドライバが豊富であること。さらに、組み込みシステム開発のための環境が整っていたり、デバッグツールが利用できる上、linuxカーネル自体が保有するトレースやログといった機能と組み合わせることで効率的なデバッグができる、というメリットもあります。そして、Linuxに関しては様々な企業や団体がセミナーを開いています。組み込み技術者が対象となるセミナーを選択し、受講することができるなど、情報量が比較的多いという利点もあるのです。

しかし一方で、メリットもあればデメリットもあります。まず、リアルタイム性に欠けるという点。Linuxは元々パソコン用に開発されたOSであるためですが、現在ではこの点について改善が試みられています。次に、ハードウェアのリソース消費量が大きいということ。組み込み向けに消費電源が低くなっているとはいえ、他の組み込みOSと比較するとROM、RAMの使用率が上がります。リッチなハードウェアを使っているからなのですが、他の組み込みOSと比べて低消費電力であるとはいえません。最後に、linuxは他の組み込みOSより起動時間が遅いというデメリットがあります。しかも、突然の電源断への対応も、その他の組込みOSと比べて考慮されていません。

以上のことをふまえても、組み込みシステム開発にはlinuxの利点を大いに発揮できると思います。次項からは、いよいよお試し用マイコンボードについて話を進めていきたいと思います。

組み込みlinuxにはマイコンボードのご用意を

オープン系と呼ばれるWindowsやJAVAプラットフォーム上での開発では、通常私たちが利用しているパソコンに開発環境を構築すれば開発ができ、動きを確認する事もできます。そんな開発ツールの中でも有名な例を挙げると、WindowsではMicrosoft社のVisual Studio .NETや、Visual Studio Express 2012などがあります。JAVAプラットフォームではEclipseなどの名前が上がるかと思います。有償、無償のほか、無償でもユーザー登録の必要があるものなどライセンス形態は様々ではありますが、比較的容易に環境の構築ができ、お試しができるようになっています。それに対して、組み込み開発のお試しをしようと思った場合にネックになる部分もあります。開発環境としては、オープン系と同様にパソコンがあれば良いのですが、動作確認用にマイコンボード(ハードウェア)が必要になるというのが、大きな違いであると思います。組み込みLinuxのお試しを行う場合にも、もれなくマイコンボード(ハードウェア)を用意する必要があります。マイコンボードとは、一枚のボード上に電子部品と必要最低限の入出力装置を配したマイクロコンピュータのこと。Linuxが実用的になってから、シングルボードコンピュータ(SBC)というジャンルが台頭してきましたよね。組み立てキットとしての製品もあれば、ボードとして完成した状態の製品もあります。本コラムは、linuxをあくまで気軽にお試ししていただくことが前提ですから、完成形ボードにしてlinuxに対応したマイコンボードをご紹介していきます。

組み込み開発におけるマイコンボードの流れ

数年前の世の中と比較すると組み込み系の開発は、まだまだマニアな領域ではありますが、非常に身近なものになってきていると感じています。その身近になってきている理由の一つが、低価格でパワフルなマイコンボードの登場であると私は思っています。数年前までは、組込み系開発の勉強をするためにマイコンボードを買おうとすると、10万円~20万円といった金額を払わなければボードを入手することができませんでした。そのお金をかけても勉強をしたい!遊びたい!という方もいたかと思いますが、私の金銭感覚では遊びや入門用、お試し用のオモチャ、商材としては少々値段が高すぎて手が出ませんでした。Linuxを動かすためのハードウェアとなれば高級なCPUが必要であり、その値段は高騰する一方でした。
ところが組み込み開発の時代は流れ、今現在ではLinuxが動作するCPUが昔から比べると非常に安価な値段で購入できるようになりました。私の知りうる限りで一番安いマイコンボードは、なんと3,000円で購入できてしまいます。Linuxが動作する、安価で購入できるボードではRaspberry Pi(ラズベリーパイ)、BeagleBoard(ビーグルボード)/BeagleBoard-xM/PandaBoard ES、pcDuinoあたりが有名かと思いますので、後ほどご紹介します。これらのボードはLinuxを動かすことが前提、いわば「linux用」に作られているため、個々のボードに対応するLinuxが提供されています。ですから、わざわざハードウェアへのLinuxのフィッティング(ポーティング)を行う必要がなく、Linuxをマイコンボードへ組み込む部分を手軽に試すことができます。

推奨マイコンボード その①

Raspberry Pi(ラズベリーパイ)
Raspberry Pi(ラズベリーパイ)は、ラズベリー財団がイギリスのコンピュータ教育を目的に作成したマイコンボードで、私の知りうる限りもっとも安価で購入できるLinux対応のマイコンボードです。
CPUにはBroadcomという会社のBCM2835を採用し、ARM11/700MHzのコア、Broadcom VideoCore IVのGPUを搭載しています。携帯電話などのエンベデッドシステムで使われるOpenGL ES 2.0や、1080p/30fps/H.264/MPEG-4 AVC High Profileにも対応可能です。メモリは256MB/512MBの2種類があり、その他にもUSB2.0ポート、映像出力としてコンポジットRCA(PAL/NTSC)、HDMI1.3/1.4、音声出力として3.5 mmジャック、HDMI、ストレージとしてはSDメモリーカード/MMC/SDIOカードスロット、ネットワークは10/100Mbpsイーサネット(RJ45)と、これだけのハードウェアが搭載されているにも関わらず、$25~$35で購入が可能です。
この低価格さから、お試しから趣味に至るまで利用しているユーザーが多いことがあり、困った際にも比較的情報が見つけやすく、お試しはもちろん入門編としても適したボードであると思います。

推奨マイコンボード その②

BeagleBoard(ビーグルボード)/BeagleBoard-xM
BeagleBoard(ビーグルボード)は、テキサス・インスツルメンツ社により開発され、Raspberry Pi(ラズベリーパイ)と同様に、Linux用に開発されたマイコンボードです。オープンソースの理念に基づき設計されており、世界中で仲間同士がオープンソースハードウエアとオープンソースソフトウエアを教え合う目的に使える教育用ボードとしても使われています。
CPUにはOMAP3530プロセッサ/720MHzARM Cortex-A8コア)/TMS320C64x+ コアを搭載し、GPUにはPowerVR SGX 2D/3D グラフィックプロセッサを搭載し独立2系統画面出力に対応しています。メモリは256MBのLPDDR RAM、256MB NANDフラッシュメモリを搭載し、その他にもDVI-D、S端子、USB On-The-Go、USB標準ポート、SD/MMCカードスロット、ステレオ音声入力3.5mmミニジャック、ステレオ音声出力3.5mmミニジャック、RS-232Cポートを搭載している。
こちらも小型ボードとして多くの組み込み技術者に活用され、評価を受けています。前項の解説で紹介したRaspberry Pi(ラズベリーパイ)と比較すると、1万5千円と少々価格は上がりますが、動作実績のあるOSがAndroid、Fedora、Ubuntu(ウブントゥ)、GentooやWindows CE OSなども対応しているという点が大きいかと思います。こちらの基板もユーザーが多いため、困った際には解決するための情報を見つけやすいでしょう。

推奨マイコンボード その③

pcDuino
pcDuinoは、わかりやすく言うと、Raspberry Pi(ラズベリーパイ)とArduinoを組み合わせたようなlinux用マイコンボードです。All Winner A10の高性能1 GHz ARMv7 Cortex A8コアプロセッサを搭載し、内部のGPUはMali-400 MPの高性能グラフィックスエンジンを統合しGPU OpenGL ES2.0, OpenVG 1.1をサポートします。メモリはDDR3-800 SDRAM1GB、NANDメモリ2GB、その他のインタフェースとしてはMicroSDHC32GB(最大)、Video出力HDMI720p/1080p/60Hz、イーサネット10/100M via RJ45、無線LAN 802.11b/g/n、USB2.0、UART、PWM、I2C、SPI、Power、Arduinoと互換性があり、OSはUbuntu、Linux、Androidに対応しています。価格としては、Raspberry Piとbeagleboardの中間である7000円程度で購入することができます。上記のラズベリーパイやビーグルボードと比較すると、こちらはまだまだ新しめのマイコンボードであるからか、やや情報が少ない部分がありますが、この価格帯で購入できるハードウェアとしてはコストパフォーマンスが非常に高いマイコンボードとなっております。

上記でご紹介したラインアップ以外にも、linuxに対応したマイコンボードはいくつかありますので、興味がある方は調べてみることをおすすめします。

linuxを語るなら!組み込みプラットフォーム「Armadillo」

ここまでで、linux(リナックス)用のマイコンボードがどんなものか、わかっていただけたと思います。もう一つ、ここで語っておきたいのがArmadillo(アルマジロ)の存在。組み込みシステム開発の世界では常識かと思いますが、Armadilloとはアットマークテクノから出ている製品で、ARMを搭載した組み込みCPUボードのこと。汎用OSであるlinuxを初めからインストールしてあること、コンパクトで低消費電力設計、低コストであることが特長です。

今でこそ、ARMが搭載された機器はいたるところにありますが、Armadilloが開発された約20年前はARMなどというものはほとんどの人が知りません。当時、国内でいうとルネサスSuperHシリーズが幅を利かせていた頃でしょうか。 そもそも組み込みプロセッサは、PC用プロセッサと比べてそこまで高性能が求められない代わりに、サイズが小さい、低消費電力、低コストという部分が重要視されてきました。そんな中で、ARMプロセッサが急速に今の地位を獲得するにいたったのは、上記3つのニーズを満たしつつ、さらに「高性能」という強みが加わったからだと思います。

そしてARMだけでなく、もうひとつの特長であるlinuxの搭載。もちろん、linuxのような汎用OSを標準動作できる組み込み機器というのも、当時は非常にマイナーでした。しかし、2001年のカーネル2.4の登場で、それまでごく少数の機器にしか対応していなかったARM Linuxが、プロジェクトベースで本格的に始動した、という歴史があるのです。

今回ご紹介したような組み込みLinuxに対応したマイコンボードを使ってお試しする事で、linuxを利用した組み込みシステム開発に必要な手順、流れを把握する事ができます。またサンプルのプログラムを動作させてみる、なんてことももちろん可能となります。このコラムのような文章を読んで理解する事も重要ですが、実際にお試しをしてつまずいた体験が糧となり、その分成長する事ができる、という事に対してうなずく方も多いでしょう。
昔と比較すればとんでもなく高性能なLinux対応のマイコンボードが、今は非常に安価で、しかも簡単に入手することが可能です。ぜひ一度お試しを実現させて、実際に操作してみて、コラムだけでなく実践で役立つ知識レベルまで踏み込んでみてはいかがでしょうか。

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

個別相談会申し込み

関連記事

OTHER COLUMN

MORE  

まこちゃんブログ

NEWS

MORE  

PARTNER

  • Intel
  • Xilinx

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