*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){検証中} 未解決問題の中で、今、検証中のものを記載する。 途中経過も書いていければいいな。 現状、検証中はありません。