3.7K Views
October 20, 13
スライド概要
BeagleBone Blackで Androidの下回りを学ぼう(公開版)
日本Androidの会 金沢支部 きんねこ 2013.10.20 @ABC2013Autumn
BeagleBone Blackで Androidの下回りを学ぼう (公開版) 日本Androidの会 金沢支部 きんねこ 2013.10.20 @ABC2013Autumn
おわび: ・LT 10分の予定が... 40分! ・中身薄めで申し訳ない
BeagleBone Blackは、5000円以下で購入でき る名刺サイズのボードです。 オープンハードウエア として開発されており、日本でも簡単に入手できま す。 ちいさなボードですが、Androidだけでなく、 UbuntuやDebianなどのLinux環境も動作させるこ とできます。 このボードを使ったAndroidのシステム開発方法 について紹介します。 chromecastモドキのデモも 行う予定です。
CC BY-SA beagleboard.org
自己紹介: ・某青くなくなった周辺機器メーカー勤務 ・ここしばらくは、HDMIドングル形状の Android端末の開発・製造 ・転職先募集中〜!
最近の活動: ・日本史上最低金額のクラウドファンディング ・NT金沢2013: 缶バッジ・ワークショップ 光の小箱・ワークショップ 21世紀のラフレシア ・ようやくBeagleBone Black買いました ・leapcastでchromecastモドキ
缶バッジワークショップ
「光の箱」は松村泰三氏が考案したアート作品で す。フィルムミラーで光を乱反射させ、トレイシン グペーパーに投影しています。光にかざすと様々に 模様が変化する不思議な箱です。これを子供でも 10分で作れるように小さくしてみました。 光の小箱
バザールで缶バッジ売ってました
BeagleBone Blackで Androidの下回りを学ぼう 時間があれば:leapcastでchromecastモドキ
RasPiをdisりに来ました!
ちょっとしたことを やろうとしたとき、 ちょうどいいボードは なんだろう?
・価格? 安いほうがいい! ・情報? 多い方がいい! ・入手性? 普通に買いたい! ・中華Android? ソースコードやSDKが揃わない
実際のところ ・Raspberry Pi ・BeagleBone Black しか残らない
でも、Raspberry Pi がベスト?
Raspberry Pi BeagleBone Black Amazon 価格 ¥4,380($35) ¥4,980($45) ARMアーキテクチャ ARM1176JZF-S Cortex-A8 CPU Broadcom BCM2835 TI Sitara AM3359 CPU Clock 700MHz 1.0GHz DRAM 512MB SDRAM 400MHz 512MB DDR3L 400MHz ROM Boot - eMMC 2GB bootable device SD micro SDHC
Raspberry Pi BeagleBone Black 画像出力 HDMI x1 / アナログ x1 micro HDMI x1 出力解像度 狭くて書けぬ 狭くて書けぬ 音声出力 HDMI/Audio HDMI GPU VideoCore IV PowerVR SGX530 Video decode 1080p/ H.264, MPEG2, VC1 NEON software decode Video encode 1080p H.264(要ラインセンス) -
Raspberry Pi BeagleBone Black USB 2 Host 1 Device, 1 Host NIC 100BASE-T(USB変換) 100BASE-T その他I/F 1x USART 4x UART, 8x PWM LCD, GPMC, MMC1 1x SPI, 1x I2C 2x SPI, 2x I2C A/D Converter 2xCAN Bus, 4 Timers 8x GPIO -
Raspberry Pi BeagleBone Black 電源 USB USB/AC5V 消費電力 322mA(idle) 210mA(idle) サイズ 85.60 mm 53.98 mm 重さ 86.40 mm 53.3 mm 39.68 g 雑誌記事 ◯ △ 書籍 ◯ - 発売日 対応OS April 23, 2013 いろいろ いろいろ
どちらがお得か?
書籍や雑誌の日本語情報の量か、 圧倒的なパワーか、 ただし、ビデオデコードは? 何をしたいかによって選ぶ
とりあえず、今日のところは、 BeagleBone Blackにしといて〜
Amazonで購入
翌日には到着
小さい箱、軽い
リビジョン重要
カード的なもの mini Bケーブル ボード たったこれだけ
ボードは絶縁袋入り
表裏はこんな感じ
外部I/O シリアル NIC USB microSD miniB microHDMI 表側コネクタ AC
裏側コネクタ
ケースをどうする?
市販品はいろいろあるの ですが、案外高い ヘタするとボードが、 もう半分買えちゃう
しょうがない、 100均頼む!
Daiso系 この2つダメでした
SERIA系 これは何とか使えました
そのままでは入りません
カットします
カットします
入りました
ちょっと微妙
こっちも、ちょっと微妙
そのままでも起動します
Cloud9 IDEが動作します。 USBストレージとしてマウ ントされたドキュメントに 使い方やリンクがあります。
Androidを起動してみる
TIのディベロッパーサイトで は、TIのBSPと同等の扱い で、BeagleBone Blackがサ ポートされている。 ドキュメントなども豊富。
ビルド済みのバイナリイメ ージが公開されているの で、それを使ってみる。
Android Development Kit for Sitara Microprocessors http://www.ti.com/tool/androidsdk-sitara
http://downloads.ti.com/sitara̲android/esd/TI̲Android̲DevKit/TI̲Android̲JB̲4̲2̲2̲DevKit̲4̲1̲1/index̲FDS.html
http://downloads.ti.com/sitara̲android/esd/TI̲Android̲DevKit/TI̲Android̲JB̲4̲2̲2̲DevKit̲4̲1̲1/exports/ TI̲Android̲JB̲4.2.2̲DevKit̲4.1.1̲beagleboneblack.tar.gz
$ wget http://downloads.ti.com/sitara̲android/esd/TI̲Android̲DevKit/ TI̲Android̲JB̲4̲2̲2̲DevKit̲4̲1̲1/exports/ TI̲Android̲JB̲4.2.2̲DevKit̲4.1.1̲beagleboneblack.tar.gz $ tar zxvf TI̲Android̲JB̲4.2.2̲DevKit̲4.1.1̲beagleboneblack.tar.gz このあたりがインストールする実体。 beagleboneblack/Boot̲Images/uEnv.txt beagleboneblack/Boot̲Images/uImage beagleboneblack/Boot̲Images/MLO beagleboneblack/Boot̲Images/u-boot.img beagleboneblack/Filesystem/rootfs.tar.bz2 $ cd beagleboneblack/ 書き込み用のSDは2.0GB以上が必要。
$ export LANG=C $ sudo ./mkmmc-android.sh /dev/sdc Assuming Default Locations for Prebuilt Images All data on /dev/sdc now will be destroyed! Continue? [y/n] y [Unmounting all existing partitions on the device ] umount: /dev/sdc: not mounted umount: /dev/sdc1: not mounted [Partitioning /dev/sdc...] Disk /dev/sdc doesn't contain a valid partition table DISK SIZE - 7822376960 bytes CYLINDERS - 951 [Making filesystems...] [Copying files...] [Copying START̲HERE folder to boot partition] [Copying all clips to data partition] [Done]
作成したSDの中身を見る
$ sudo fdisk -l /dev/sdc Disk /dev/sdc: 7822 MB, 7822376960 bytes 255 heads, 63 sectors/track, 951 cylinders, total 15278080 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot /dev/sdc1 * /dev/sdc2 /dev/sdc3 /dev/sdc4 (LBA) Start End Blocks Id System 63 144584 72261 c W95 FAT32 (LBA) 144585 3951989 1903702+ 83 Linux 3951990 7759394 1903702+ 83 Linux 7759395 15277814 3759210 c W95 FAT32
sdc1: boot: 起動に必要なブートローダー, kernel等 MLO START̲HERE/ u-boot.img uEnv.txt uImage sdc2: rootfs: Androidシステム data/ init.am335xevm.usb.rc proc/ ueventd.am335xevm.rc default.prop init.goldfish.rc sbin/ ueventd.rc dev/ init.trace.rc sys/ init lost+found/ system/ sdc3: usrdata lost+found/ sdc4: data: データ領域 Audio/ Images/ Video/
TIのAndroidをソースコード からビルドしてみる
http://processors.wiki.ti.com/index.php/TI-Android-JB-4.2.2-DevKit-4.1.1̲DeveloperGuide
やった人の体験談 (^^;
http://salt.air-nifty.com/salt/2013/08/beaglebone-bl-1.html
rawboatプロジェクトの Androidをビルドしてみる
rowboat:TI OMAP 35x, AM37x, AM35x プラットフォ ームへの移植とNEON対応、内 蔵DSP、GPUなどハードウェア 機能への対応を行っている Androidの開発コミュニティ
やった人の体験談 (^^;
http://blog.sola-dolphin-1.net/archives/4487695.html
ソースコードの構造
改造前に、 知っておく必要あり でも、作成間に合わず 質疑&次回にでも
Androidの起動の流れ
改造前に、 知っておく必要あり でも、作成間に合わず 質疑&次回にでも
電話以外のハードウエア への移植時の注意点
改造前に、 知っておく必要あり でも、作成間に合わず 質疑&次回にでも
おしまい
当日動画、ゲリラ公開されてました http://www.nicovideo.jp/watch/sm22087444 40名ほど聞きにきていただきました。 ありがとうございました。 ささやかですが、お礼に 売れ残りのバッジを配布しました。
作りかけですが、このプレゼンの ネタ資料でまとめていたものを Wikiに落とし始めています。 全部で3つ作ったシノプシスのう ちの1つです。残りの1つも盛り 込んでいく予定です。 https://github.com/kinneko/BBBB/wiki
ユーザー会とかあったほうが いいかなというヒトは、 twitter: @kinneko [email protected] までご意見ください。
軽いウインドマネージャーで UbuntuのXorg環境も動きます