origenboard and pandaboard

27
sola 1 OrigenBoard PandaBoard

Upload: akihiro-maeda

Post on 22-Apr-2015

3.975 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: OrigenBoard and PandaBoard

sola 1

OrigenBoard と PandaBoard

Page 2: OrigenBoard and PandaBoard

sola 2

OrigenBoard と PandaBoard

● 似たようなスペックと価格だったので、比べてみただけです。。。

Page 3: OrigenBoard and PandaBoard

sola 3

自己紹介

● 名前– sola ( twitter は @androidsola )

Android なことは、ほとんど書かないです● 興味あること

– 最近は Windows Phone かな。。。

Page 4: OrigenBoard and PandaBoard

sola 4

CPU

OMAP4430 Cortext-A9 dualcore 1.0GHzメモリ

DDR2 1GB

GPU

PowerVR SGX540

Page 5: OrigenBoard and PandaBoard

sola 5

CPU

Exynos4210 Cortext-A9 dualcore 1.0GHzメモリ

DDR3 1GB

GPU

Mali-400

Page 6: OrigenBoard and PandaBoard

sola 6

ベンチマークソフト

● Quadrant Standard– CPU, Memory, I/O, 2D graphics, 3D graphics

総合結果のみで、各項目の結果が不明● 0xBenchmark

– 村長が使用していたことで有名なソフト● AnTuTu Benchmark, Neocore

– 使いたかったけど、

PandaBoard だと落ちたので不採用 ...

Page 7: OrigenBoard and PandaBoard

sola 7

Quadrant Standard 結果

PandaBoard の結果は Nexus S に劣る。。。

実際に触るともっさりしてる感じがする。

Nexus One

Nexus S

PandaBoard

OrigenBoard

0 500 1000 1500 2000 2500

Page 8: OrigenBoard and PandaBoard

sola 8

何故結果が悪い?

● 解像度のせいかも

PandaBoard

解像度: 1920×1080

OrigenBoard

解像度: 1024×600

Page 9: OrigenBoard and PandaBoard

sola 9

モニタを変更

● HM-TL10T

解像度 1024×600OrigenBoard 用の LCD と同じタッチパネル( USB )付き

Page 10: OrigenBoard and PandaBoard

sola 10

Quadrant Standard 結果②

まだ Nexus S に劣る。。。

でも、動きは少し軽くなったような気がした。

Nexus One

Nexus S

PandaBoard

OrigenBoard

0 500 1000 1500 2000 2500

Page 11: OrigenBoard and PandaBoard

sola 11

まだ何か要因がある?

● 解像度が 1024×600 ではなく、

1680×1080 で表示されていた。

何故かディスプレイの最大解像度超えてる ...

Page 12: OrigenBoard and PandaBoard

sola 12

解像度を決めてるところdrivers/video/omap2/dss/edid.c

L.108 〜 for (i = OMAP_HDMI_TIMINGS_VESA_START;

i < OMAP_HDMI_TIMINGS_NB; i++) {

/**** 省略 ****/

}

Page 13: OrigenBoard and PandaBoard

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 は存在せず。

Page 14: OrigenBoard and PandaBoard

sola 14

Quadrant Standard 結果③

Nexus One

Nexus S

PandaBoard

OrigenBoard

0 500 1000 1500 2000 2500

PandaBoard の結果は向上した(サクサク動く)が、

OrigenBoard には遠く及ばない結果なのは変わらず。

Page 15: OrigenBoard and PandaBoard

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)

Page 16: OrigenBoard and PandaBoard

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

Page 17: OrigenBoard and PandaBoard

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

Page 18: OrigenBoard and PandaBoard

sola 18

Bootchart

● 起動時のパフォーマンス解析に使用するらしく、以下の情報が分かる。

– CPU 使用率– I/O 待ち– プロセスの情報

これで PandaBoard と OrigenBoard の起動時に何か面白い差がないか見てみた。

Page 19: OrigenBoard and PandaBoard

sola 19

Android で Bootchart

● Bootchart を有効にした init を作る● Bootchart のデータを取得する● 取得したデータの変換

Page 20: OrigenBoard and PandaBoard

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 が出来る。

Page 21: OrigenBoard and PandaBoard

sola 21

罠が一つ

● INIT_BOOTCHART=true にしてビルドすると、

ビルドエラーが発生します。。。

エラーの出るソース  system/core/init/init.cエラーの出る関数  static int bootchart_init_action(int nargs, char **args)原因  return が無い対策  return 0; を追加。( master では直してある)

Page 22: OrigenBoard and PandaBoard

sola 22

データを取得する

1. ターゲット上での操作

# echo 60 > /data/bootchart-start# reboot

2.PC とターゲットを繋いでデータを取り出す

system/core/init に入っている、grab-bootchart.sh を実行する。→bootchart.tgz としてデータが保存される。※保存先は TMPDIR に定義されてるので、変えた方が良いと思う。

Page 23: OrigenBoard and PandaBoard

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 が生成される

Page 24: OrigenBoard and PandaBoard

sola 24

Bootchart 結果

ファイルが大きいのでブラウザで

● PandaBoardhttp://sola-dolphin-1.net/data/bootchart/bootchart-panda.png

● OrigenBoardhttp://sola-dolphin-1.net/data/bootchart/bootchart-origen.png

Page 25: OrigenBoard and PandaBoard

sola 25

Android環境の入手

● PandaBoard– web サイト (pandroid)

http://code.google.com/p/pandroid/

最近更新が停止している ...– ソースコード

http://git.omapzoom.org/

Page 26: OrigenBoard and PandaBoard

sola 26

Android環境の入手

● OrigenBoard– web サイト (origenboard.org)

http://www.origenboard.org/– ソースコード

http://git.insignal.co.kr/

まだ準備中っぽいので、以下から

http://goo.gl/96CC9

Page 27: OrigenBoard and PandaBoard

sola 27

その他

● ブート方法の違い● fastboot の実装の違い● Recovery mode の実装