「Armadillo-500FX用USBカメラ接続」の編集履歴(バックアップ)一覧に戻る

Armadillo-500FX用USBカメラ接続 - (2009/10/23 (金) 00:46:45) のソース

*Armadillo-500 FX用USBカメラ接続

**概略
Armadillo-500 FXにUSBカメラを接続して、Android上で画像表示させる方法について記載する。
記載、および、動作確認には、cupcakeバージョンを対象としている。
バージョンによっては、処理が異なる為、別途処理が必要な場合もある。

**目次
-&link_anchor(カメラアプリ概要){カメラアプリについて}
-&link_anchor(既存処理概要){カメラ処理概要}
-USBカメラ接続方針
-前提環境
-ハード的なこと
--Armadillo-500FX
--USBカメラ
-カーネル修正
-ミドル修正
-未解決問題
-検証中
-&link_anchor(参考){参考資料}

----
**&anchor(カメラアプリ概要,option=nolink){カメラアプリについて}


**&anchor(既存処理概要,option=nolink){カメラ処理概要}


**&anchor(前提環境,option=nolink){前提環境}

**&anchor(参考,option=nolink){参考資料}



以下、作成中というか、過去の遺産・・。
----


**目次
-&link_anchor(Armadillo-500FX){Armadillo-500 FXについて}
-&link_anchor(環境構築目標){環境構築目標}
-&link_anchor(ファイル取得){ファイル取得}
-&link_anchor(ファイル配置){ファイル配置}
-&link_anchor(カーネル修正){カーネル修正}
-&link_anchor(ユーザ空間修正){ユーザ空間修正}
-&link_anchor(追加ファイル){追加ファイル}
-&link_anchor(パス設定){パス設定}
-&link_anchor(ビルド方法){ビルド方法}
-&link_anchor(ビルドスクリプト){ビルドスクリプト}
-&link_anchor(ビルド生成物){ビルド生成物}
-&link_anchor(未解決問題){未解決問題}
-&link_anchor(検証中){検証中}

----
**&anchor(Armadillo-500FX,option=nolink){Armadillo-500 FXについて}
Armadillo-500fxは、組込み向けの開発キットになる。
言い方を変えると、「高いおもちゃ」ということ。
仕様等の詳細は、公式となる[[Atmark Technoの紹介ページ>>http://www.atmark-techno.com/products/armadillo/a500fx]]を見てください。


**&anchor(ファイル配置,option=nolink){ファイル配置}
ダウンロードしたソースの配置について記載する。
以降の説明用には、この節で記載したフォルダ構成で記載する。

+”repo init”、"repo sync"を実行したフォルダを「cupcake」とする
+-「cupcake」配下に、「bionic」、「framework」等のフォルダがあることになる
+ダウンロードしたカーネルファイルを展開する
+-展開すると、「linux-2.6.26-at6」というフォルダができる
+展開したフォルダの名称を「kernel」と変更する
+-「kernel」配下に、「drivers」等のフォルダがあることになる
+「cupcake」フォルダの中に、「kernel」フォルダを移動する
+-「cupcake/framework/base」、「cupcake/kernel/drivers/usb」等の階層となる

-注意事項
--階層の説明はわかりづらいかも・・。できたら、絵を追加したい。
--取得バージョンによっては、例で示すフォルダが存在しない場合がある。


**&anchor(カーネル修正,option=nolink){カーネル修正}
ダウンロードしたカーネルファイルには、Android用の修正が適用されていない状態である。
その為、Android用の修正を実施するために、修正パッチの適用を実施する。
+Android用パッチを取得する
++ブラウザ等で、公式ファイルブラウザ内の[[android directory>>http://armadillo.atmark-techno.com/filebrowser/misc/android]]を開く
++「linux-2.6.26-at-android-tmp-081210.patch」をダウンロードする
+カーネルにパッチを適用する
++カーネルフォルダ(cupcake/kernel)内に、ダウンロードしたpatchを移動する
++端末で、カーネルフォルダ(cupcake/kernel)内に移動する
++端末で、「patch -p1 < linux-2.6.26-at-android-tmp-081210.patch」を実施し、パッチを適用する
+ATDEを使用しない為、Makefileを一部修正する
++「cupcake/kernel/arch/arm/plat-mxc/sdma/Makefile」をテキストエディタで開く
++「KBUILD_CFLAGS  := -I$(KBUILD_SRC)/arch/arm/plat-mxc/sdma/iapi/include \」の行を修正する
++-「:=」の部分を「+=」に変更する

-注意事項
--patchの使い方は、うる覚え。試した人は結果ください(汗)
--Makefileの修正については、以下を参照ください。
---[[「Armadillo:04247」 「PATCH」 armadillo-500: make O= building >>http://lists.atmark-techno.com/pipermail/armadillo/2009-May/004247.html]]

**&anchor(追加ファイル,option=nolink){追加ファイル}
ビルド時に、”TARGET_PRODUCT=armadillo500fx_dev”等と指定する為、vendor配下に追加するファイルについて記載する。

他の機種(eee_701等)と合わせる為、以下の階層にファイルを作成する
-”cupcake/vendor/atmarktechno/armadillo500fx_dev”
--(これじゃなくても良さそうだけど・・なんとなく・・)

+格納するフォルダを作成する
+-上記の”cupcake/vendor/atmarktechno/armadillo500fx_dev”
+格納フォルダ内にファイルを作成する
++Android.mk
++-Android版Makefileみたいなもの(呼ばれる順番不明)
+++”git clone git://codeaurora.org/platform/vendor/qcom/qsd8250_surf.git”でサンプルを取得
+++上記取得ファイルの中のAndroid.mkをコピー
+++-コメントのみなので、不要である可能性有り
++AndroidBoard.mk
++-Android版Makefileみたいなもの(呼ばれる順番不明)
+++”git clone git://codeaurora.org/platform/vendor/qcom/qsd8250_surf.git”でサンプルを取得
+++上記取得ファイルの中のAndroidBoad.mkをコピー
+++Armadillo-500 FX用に修正
++++KERNEL_DEFCONFIGに指定するファイルを変更
++++-(qsd8650_defconfig→armadillo500fx_dev_android_defconfig)
++++キーボードマップファイルの指定ファイルを変更
++++-(surf_keypad.kl→tuttle2.kl)
++++-(surf_keypad.kcm→tuttle2.kcm)
++++ブート用のビルド設定を削除
++++-”include vendor/qcom/$(TARGET_PRODUCT)/boot/Android.mk”を削除
++++init.rcのコピー設定を追加
++++-”PRODUCT_COPY_FILES +=$(LOCAL_PATH)/init.rc:root/init.rc”を追加
++++-(正しいか不明)

-サンプル
--2と3のサンプルを添付ファイルとしてアップ([[armadillo_cust.tar.gz>http://www42.atwiki.jp/melodroid?cmd=upload&act=open&pageid=17&file=armadillo_cust.tar.gz]])
--ライセンスとか問題あったら、指摘してください

-注意事項
--”.mk”の記載ルールがはっきりとわかっていない為、間違ってるかも
--現状、不明なファイルについては、generic時に使用されるファイルを使用
--当初、書込みファイル自体不明だった為、不要な設定も含まれているかも


**&anchor(未解決問題,option=nolink){未解決問題}
未解決な問題について記載する

+ビルド生成物の操作方法
+”chroot”を使わないArmadillo-500FXのAndroid起動方法
+各種、環境変数の影響
+キーマップファイルの効果
+.mkファイル内のAndroid特有コマンド

何かあれば、書き込みます・・。

**&anchor(検証中,option=nolink){検証中}
未解決問題の中で、今、検証中のものを記載する。
途中経過も書いていければいいな。

現状、検証中はありません。