2012/02/23

BeagleBoard-xMでICS(Android4.0)

rowboatのWikiで「ICSonBeagleboard」というのはかなり以前からあったのですが、最近「ICSonBeagleboard_WithSGX」というページもできていて、自分のBeagleBoard-xMで試してみました。

補足とかは後ろに回すとして、ともかく動かしてみます。

基本的にWikiの最初「Out of the Box Demo」に書いてある通りです。
追記するとすれば、
  • Linux PCで作業します
  • export LANG=Cしておきます
  • microSDが/dev/sdbなのか、sdc, sdd, ...なのか確認して間違えないよう指定します
といったところでしょうか。

microSDカードは4GBで約1,000円だったSandiskのを使っています。
SDカードへの変換アダプタも付いているのですが、USBアダプタがmicroSDを直刺しできるので、変換アダプタは使わずにUSB経由で書き込んでいます。

microSDの準備ができたら、microSDをBeagleBoard-xMにセットして電源On!
BeagleBoard-xMのrev.Cに次のものを接続して試しました。
  • PC用モニタ(HDMI-DVIケーブル経由)
  • USBマウス
  • Ethernet
  • シリアルケーブル (USB-シリアル変換で作業PCに接続)
数分で無事立ち上がってきました。

写真は言語を「日本語」に設定した後で撮影したものです。
Androidのバージョンは4.0.1のようです。

シリアルコンソール経由で設定してやると、Ethernet経由でWebのブラウズもできそうです。

シリアルコンソールからの設定は
netcfg usb0 dhcp
とします。これで、DHCP有効なLAN環境ならEthernetにIPアドレスが割り当てられ通信できるようになります。
おそらく、USB経由のadb shellでも同じコマンドを実行可能と思います。

ただし、この方法ではAndroidはインターネット接続環境が有効であると認識していないかもしれません。
アプリケーションによっては、「インターネット接続がありません」等のエラーになるかもしれません。
このあたりは今回は確認しませんでした。

――と、ここまでうまく動いているように見えますが、
シリアルコンソールも併せて見ていると、沢山エラーメッセージが出ます
たとえば、上のブラウザ画面が出ている時点で

こんな感じです。

あと、1分間放っておくとスリープして帰ってきません
どうも画面などから見るに、電池残量がほぼ0で充電器つながっていないという認識のようです。
もしかするとスリープというより中途半端にシャットダウンしているのかもしれません。


ここから後ろは、少しだけ補足です。

rowboatというのは、米Texas Instruments社(TI社)が製造しているARM搭載アプリケーションプロセッサチップでAndroidを動くようにしよう、というオープンソースのプロジェクトです。

BeagleBoardやBeagleBoard-xMはTI製のSitaraやDavinciを搭載しているので、rowboatの成果が使えます。
TIからリリースされるAndroid DevKit自体、rowboatの成果から派生しているようです。

With SGXというのは、グラフィックアクセラレータのSGXを有効にしたバージョンということです。主にはOpenGL経由の描画に効くらしいです。

SGXというのは英Imagination Technologies社のPowerVRのシリーズの1つで、ARMプロセッサコアとは別にグラフィックアクセラレータとしてSitaraやDavinciに内蔵されている回路です。
Androidスマートフォンだけでなく、非Androidな携帯電話にも多く搭載されているそうです。
TI社は、ARM社からARMプロセッサコアの設計図やライセンスを、Imagination Technologies社からSGXの設計図やライセンスをそれぞれ購入して、周辺回路とあわせて、自社で半導体として製造・販売しているわけですね。

実はBeagleBoard-xMに搭載されているDavinciというのは、ARMのほかにTI社製のDSPコアも内蔵しています。
DSPコア部分をうまく使えれば、動画像の圧縮・再生などのスペックが向上するはずで、他力本願ながらDSPコア部分も活用するAndroidが出ないかな~と期待しています。

0 件のコメント:

コメントを投稿