origenboard and pandaboard
DESCRIPTION
TRANSCRIPT
sola 1
OrigenBoard と PandaBoard
sola 2
OrigenBoard と PandaBoard
● 似たようなスペックと価格だったので、比べてみただけです。。。
sola 3
自己紹介
● 名前– sola ( twitter は @androidsola )
Android なことは、ほとんど書かないです● 興味あること
– 最近は Windows Phone かな。。。
sola 4
CPU
OMAP4430 Cortext-A9 dualcore 1.0GHzメモリ
DDR2 1GB
GPU
PowerVR SGX540
sola 5
CPU
Exynos4210 Cortext-A9 dualcore 1.0GHzメモリ
DDR3 1GB
GPU
Mali-400
sola 6
ベンチマークソフト
● Quadrant Standard– CPU, Memory, I/O, 2D graphics, 3D graphics
総合結果のみで、各項目の結果が不明● 0xBenchmark
– 村長が使用していたことで有名なソフト● AnTuTu Benchmark, Neocore
– 使いたかったけど、
PandaBoard だと落ちたので不採用 ...
sola 7
Quadrant Standard 結果
PandaBoard の結果は Nexus S に劣る。。。
実際に触るともっさりしてる感じがする。
Nexus One
Nexus S
PandaBoard
OrigenBoard
0 500 1000 1500 2000 2500
sola 8
何故結果が悪い?
● 解像度のせいかも
PandaBoard
解像度: 1920×1080
OrigenBoard
解像度: 1024×600
sola 9
モニタを変更
● HM-TL10T
解像度 1024×600OrigenBoard 用の LCD と同じタッチパネル( USB )付き
sola 10
Quadrant Standard 結果②
まだ Nexus S に劣る。。。
でも、動きは少し軽くなったような気がした。
Nexus One
Nexus S
PandaBoard
OrigenBoard
0 500 1000 1500 2000 2500
sola 11
まだ何か要因がある?
● 解像度が 1024×600 ではなく、
1680×1080 で表示されていた。
何故かディスプレイの最大解像度超えてる ...
sola 12
解像度を決めてるところdrivers/video/omap2/dss/edid.c
L.108 〜 for (i = OMAP_HDMI_TIMINGS_VESA_START;
i < OMAP_HDMI_TIMINGS_NB; i++) {
/**** 省略 ****/
}
sola 13
選ばれる解像度の種類drivers/video/omap2/dss/hdmi.c
L.189 〜/* All supported timing values that OMAP4 supports */static const struct omap_video_timings all_timings_direct[] = { {640, 480, 25200, 96, 16, 48, 2, 10, 33}, /**** 省略 ****/ /* Vesa frome here */ {640, 480, 25175, 96, 16, 48, 2, 10, 33}, /**** 省略 ****/ {1280, 1470, 148500, 40, 440, 220, 5, 5, 20}};
この範囲から選んでいた。しかし、 1024×600 は存在せず。
sola 14
Quadrant Standard 結果③
Nexus One
Nexus S
PandaBoard
OrigenBoard
0 500 1000 1500 2000 2500
PandaBoard の結果は向上した(サクサク動く)が、
OrigenBoard には遠く及ばない結果なのは変わらず。
sola 15
0xBenchmark 結果( Linpack,GC )
Nexus One
Nexus S
PandaBoard
OrigenBoard
0 5 10 15 20 25 30 35 40
Linpack(Mflops/s)
Nexus One
Nexus S
PandaBoard
OrigenBoard
0 1000 2000 3000 4000 5000 6000 7000
Garbage Collection(msec)
sola 16
0xBenchmark 結果( Scimark2 )
Composite
Fast Fourier Transform
Jacobi Successive Over-relaxation
Monte Carlo integration
Sparse matrix multiply
dense LU matrix factorization
0 20 40 60 80 100 120 140
Nexus One Nexus S PandaBoard OrigenBoard
sola 17
0xBenchmark 結果( 2D,3D )
Draw Canvas(fps)
Draw Circle(fps)
Draw Circle2(fps)
Draw Rect(fps)
Draw Arc(fps)
Draw Image(fps)
Draw Text(fps)
OpenGL Cube(fps)
OpenGL Blending(fps)
OpenGL Fog(fps)
Flying Teapot(fps)
0 10 20 30 40 50 60 70 80 90
Nexus One Nexus S PandaBoard OrigenBoard
sola 18
Bootchart
● 起動時のパフォーマンス解析に使用するらしく、以下の情報が分かる。
– CPU 使用率– I/O 待ち– プロセスの情報
これで PandaBoard と OrigenBoard の起動時に何か面白い差がないか見てみた。
sola 19
Android で Bootchart
● Bootchart を有効にした init を作る● Bootchart のデータを取得する● 取得したデータの変換
sola 20
init を作る方法
● INIT_BOOTCHART=true にしてビルドする
※ これだけ
部分ビルドの例( PandaBoard )$ source build/envsetup.sh$ lunch pandaboard-eng$ cd system/core/init$ touch init.c$ mm INIT_BOOTCHART=true
→out/target/product/pandaboard/root/init が出来る。
sola 21
罠が一つ
● INIT_BOOTCHART=true にしてビルドすると、
ビルドエラーが発生します。。。
エラーの出るソース system/core/init/init.cエラーの出る関数 static int bootchart_init_action(int nargs, char **args)原因 return が無い対策 return 0; を追加。( master では直してある)
sola 22
データを取得する
1. ターゲット上での操作
# echo 60 > /data/bootchart-start# reboot
2.PC とターゲットを繋いでデータを取り出す
system/core/init に入っている、grab-bootchart.sh を実行する。→bootchart.tgz としてデータが保存される。※保存先は TMPDIR に定義されてるので、変えた方が良いと思う。
sola 23
取得したデータの変換
1.ツールのダウンロード
$ wget http://prdownloads.sourceforge.net/bootchart/bootchart-0.9.tar.bz2$ tar jxvf bootchart-0.9.tar.bz2$ cd bootchart-0.9$ sudo apt-get install ant ( ant が入ってなければ)$ ant→bootchart.jar が生成される
2. データの変換$ java -jar bootchart.jar bootchart.tgz→bootchart.png が生成される
sola 24
Bootchart 結果
ファイルが大きいのでブラウザで
● PandaBoardhttp://sola-dolphin-1.net/data/bootchart/bootchart-panda.png
● OrigenBoardhttp://sola-dolphin-1.net/data/bootchart/bootchart-origen.png
sola 25
Android環境の入手
● PandaBoard– web サイト (pandroid)
http://code.google.com/p/pandroid/
最近更新が停止している ...– ソースコード
http://git.omapzoom.org/
sola 26
Android環境の入手
● OrigenBoard– web サイト (origenboard.org)
http://www.origenboard.org/– ソースコード
http://git.insignal.co.kr/
まだ準備中っぽいので、以下から
http://goo.gl/96CC9
sola 27
その他
● ブート方法の違い● fastboot の実装の違い● Recovery mode の実装