日記です.自分用のメモ代わりに書くことが多いです.
Androidのデフォルトでは、USBドライバが入っていなかったりして、カスタマイズが必要となる。
忘備録として、手順を記す。
スマートフォンにも適用できるけど、シリアルポートやUSB端子がある端末なんてないので、タブレット限定かな。
インストール手順は詳しくはここを参照。
以降、Linux上で実行する。
まずクロスコンパイル環境を準備する。
次にカーネル(kernel-20110629.gz.tar )をダウンロードし、解凍する。
にチェックを入れる。


ビルドを実行する。時間かかるので、終了するまで待つ。
以降、順次更新します。
忘備録として、手順を記す。
スマートフォンにも適用できるけど、シリアルポートやUSB端子がある端末なんてないので、タブレット限定かな。
- Linuxカーネルをビルドする
- 端末をアップデートする
- ユーザモード⇒ルートモード切替可能にする
- シリアルポートを使用したアプリを開発する
インストール手順は詳しくはここを参照。
以降、Linux上で実行する。
まずクロスコンパイル環境を準備する。
masapon@ubuntu:~$ sudo mkdir /opt/toolchains masapon@ubuntu:~$ cd /opt/toolchains masapon@ubuntu:/opt/toolchains$ sudo wget http://www.codesourcery.com/sgpp/lite/arm/portal/package6493/public/arm-none-eabi/arm-2010q1-188-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 masapon@ubuntu:/opt/toolchains$ sudo tar xjf arm-2010q1-188-arm-none-eabi-i686-pc-linux-gnu.tar.bz2パスに/opt/toolchains/arm-2010q1/binを追加しておく。
次にカーネル(kernel-20110629.gz.tar )をダウンロードし、解凍する。
masapon@ubuntu:~$ mkdir odroid masapon@ubuntu:~$ cd odroid masapon@ubuntu:~/android$ tar xzf kernel-20110629.gz.tar masapon@ubuntu:~/android$ cd kernel masapon@ubuntu:~/android$ make ARCH=arm odroida_android_defconfigmenuconfigを実行し、FTDIのUSBドライバをカーネルに含めるように設定する。
masapon@ubuntu:~/android/kernel$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- menuconfig[Device Drivers]⇒[USB support]⇒[USB Serial Converter support]⇒[USB FTDI Single Port Serial Driver]
にチェックを入れる。
ビルドを実行する。時間かかるので、終了するまで待つ。
masapon@ubuntu:~/android/kernel$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- masapon@ubuntu:~/android/kernel/arch/arm/boot$ ls Image Makefile bootp compressed install.sh zImagezImageファイルが作成されるので、これを書き込む。
以降、順次更新します。
PR
定時外に会社でAndroidNESを動かしてみた。
実行時間を計測したところ、1フレーム当たり
NESとしての処理時間:30ms
画面表示処理:5ms
くらいかかっていた。
CPU負荷を計測したところ、50%近かったので、2コアのうち1コアは占有してる感じ。
(CPU:SAMSUNG Exynos4210 Dual-core ARM Cortex-A9 1Ghz with 1MB L2 cache)
これを60fpsで動かすには、30ms⇒10msくらいにしなければならない。。
メイン処理をスレッド化してうまく負荷分散すれば半分くらいの時間で終わるかな。。
めちゃくちゃ面倒そうだけど。
もしくは、今はDalvik VM上で動作しているのだけど、これが遅いのかな?
ネイティブコンパイルする方法もあるので、そうすれば速くなりそう。
ただその場合、言語はC/C++になるので、面白くない。。
NESとしてちゃんと動作させることは諦めて、Android学習用として割り切るしかないかも。
実行時間を計測したところ、1フレーム当たり
NESとしての処理時間:30ms
画面表示処理:5ms
くらいかかっていた。
CPU負荷を計測したところ、50%近かったので、2コアのうち1コアは占有してる感じ。
(CPU:SAMSUNG Exynos4210 Dual-core ARM Cortex-A9 1Ghz with 1MB L2 cache)
これを60fpsで動かすには、30ms⇒10msくらいにしなければならない。。
メイン処理をスレッド化してうまく負荷分散すれば半分くらいの時間で終わるかな。。
めちゃくちゃ面倒そうだけど。
もしくは、今はDalvik VM上で動作しているのだけど、これが遅いのかな?
ネイティブコンパイルする方法もあるので、そうすれば速くなりそう。
ただその場合、言語はC/C++になるので、面白くない。。
NESとしてちゃんと動作させることは諦めて、Android学習用として割り切るしかないかも。
プロフィール
HN:
まさぽん
性別:
男性
職業:
会社員
カウンター
ブログ内検索
クリック募金
カテゴリー
なかのひと
アクセス解析