Wiiリモコンで操作できるプレゼン・マシンの製作(2) ―― Wiiリモコンを動作させるためのミドルウェアを組み込む

渡邊 賢二

2.CWiidのポーティング手順

 

●CWiidのソース取得

 まずベースとするCWiidのソースを取得します(Androidのビルド環境は前回用意したものを使用します).git-cloneコマンドでCWiidの本家のリポジトリをクローンします.

$ cd ~/mydroid/external 
$ git-clone git://github.com/abstrakraft/cwiid.git cwiid  

 ベースとするバージョンを統一するため, git-checkoutコマンドで最新のcwiid-0.6.00をチェック・アウトします.

$ cd cwiid 
$ git-checkout -f cwiid-0.6.00

 

●Android向けの変更の概要

 CWiidをAndroidに対応させるための変更概要は以下の通りです.

表1 Androidに対応させるための変更点

 

 

 「とりあえずWiiリモコンを動かしたい」という方もいらっしゃると思うので,パッチ・ファイルを用意しました. パッチ・ファイルをホーム・ディレクトリに配置したあと,以下の手順でパッチを適用し,「ビルドとSDカードへのコピー」に進んでください.

$ cd ~/mydroid
$ patch -p1 < ~/ep52android2_cwiid-for-android.patch

 

●Android.mkの追加

 本稿では"common","libcwiid",および"wminput"サブディレクトリのみを使用します.各Android.mkの役割とAndroid.mkを配置するディレクトリは,以下の通りです.

 ここでは一般的なAndroid.mkの書き方について説明します(各Android.mkの詳細については,パッチ・ファイルを参照).ライブラリをビルドするAndroid.mkの例として,libcwiid.soをビルドするためのAndroid.mkを以下に示します.


●未解決シンボルを含む共有ライブラリのビルド対応

 Androidのビルド・システムでは,共有ライブラリのシンボル解決がビルド時に行われます(図2).このため,accやir_ptrプラグインなどの未解決シンボルを含む共有ライブラリをビルドすることが出来ません.この場合,シンボルの実体があるロード・モジュールを共有ライブラリ化し,これを未解決シンボルを含む共有ライブラリから動的リンクすることで,ビルド時にシンボル解決が可能となります(bluezも同様の対処を行っている).

図2 未解決シンボルを含む共有ライブラリ対応の概要

 この修正はwminputのAndroid.mkで行っています.詳細はパッチ・ファイルを参照してください.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日