SlideShare ist ein Scribd-Unternehmen logo
1 von 89
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
kinneko@gmail.com
までご意見ください。
軽いウインドマネージャーで
UbuntuのXorg環境も動きます

Weitere ähnliche Inhalte

Mehr von kinneko

スマートフォン・タブレットを利用した3DVRシステム
スマートフォン・タブレットを利用した3DVRシステムスマートフォン・タブレットを利用した3DVRシステム
スマートフォン・タブレットを利用した3DVRシステム
kinneko
 
中華チップ全盛時代のARM SoCの選び方_公開版
中華チップ全盛時代のARM SoCの選び方_公開版中華チップ全盛時代のARM SoCの選び方_公開版
中華チップ全盛時代のARM SoCの選び方_公開版
kinneko
 
X86アーキテクチャ 対応の現状と将来
X86アーキテクチャ 対応の現状と将来X86アーキテクチャ 対応の現状と将来
X86アーキテクチャ 対応の現状と将来
kinneko
 
Android x86プロジェクトの最近の状況 pf20111218
Android x86プロジェクトの最近の状況 pf20111218Android x86プロジェクトの最近の状況 pf20111218
Android x86プロジェクトの最近の状況 pf20111218
kinneko
 
“夏前にすぐに痩せるRam diet!” もしくは 「老頭児組込みエンジニアの苦悩」 (中継無し) パート1 公開版
“夏前にすぐに痩せるRam diet!” もしくは 「老頭児組込みエンジニアの苦悩」 (中継無し) パート1 公開版“夏前にすぐに痩せるRam diet!” もしくは 「老頭児組込みエンジニアの苦悩」 (中継無し) パート1 公開版
“夏前にすぐに痩せるRam diet!” もしくは 「老頭児組込みエンジニアの苦悩」 (中継無し) パート1 公開版
kinneko
 

Mehr von kinneko (20)

金沢LoRa部はじめました(画像版)
金沢LoRa部はじめました(画像版)金沢LoRa部はじめました(画像版)
金沢LoRa部はじめました(画像版)
 
金沢LoRa部はじめました
金沢LoRa部はじめました金沢LoRa部はじめました
金沢LoRa部はじめました
 
Cardboardは日本人向きじゃない!メガネでも使えるJAGOVISORの紹介と日本Androidの会VR部・金沢支部の活動
Cardboardは日本人向きじゃない!メガネでも使えるJAGOVISORの紹介と日本Androidの会VR部・金沢支部の活動Cardboardは日本人向きじゃない!メガネでも使えるJAGOVISORの紹介と日本Androidの会VR部・金沢支部の活動
Cardboardは日本人向きじゃない!メガネでも使えるJAGOVISORの紹介と日本Androidの会VR部・金沢支部の活動
 
VRだってUIは確実に動くアナログ接続のボタンでしょ!
VRだってUIは確実に動くアナログ接続のボタンでしょ!VRだってUIは確実に動くアナログ接続のボタンでしょ!
VRだってUIは確実に動くアナログ接続のボタンでしょ!
 
3ボタン入力対応! 簡易VRゴーグル- JAGOVISORの設計と実装
3ボタン入力対応! 簡易VRゴーグル-  JAGOVISORの設計と実装3ボタン入力対応! 簡易VRゴーグル-  JAGOVISORの設計と実装
3ボタン入力対応! 簡易VRゴーグル- JAGOVISORの設計と実装
 
"Androidを利用した VRゴーグルとその応用"
"Androidを利用した VRゴーグルとその応用""Androidを利用した VRゴーグルとその応用"
"Androidを利用した VRゴーグルとその応用"
 
スマホでできるVR @上モノラボ
スマホでできるVR @上モノラボ スマホでできるVR @上モノラボ
スマホでできるVR @上モノラボ
 
Unityを使ったVRアプリ作成入門 ABCD2015金沢編
Unityを使ったVRアプリ作成入門 ABCD2015金沢編Unityを使ったVRアプリ作成入門 ABCD2015金沢編
Unityを使ったVRアプリ作成入門 ABCD2015金沢編
 
スマートフォン・タブレットを利用した3DVRシステム
スマートフォン・タブレットを利用した3DVRシステムスマートフォン・タブレットを利用した3DVRシステム
スマートフォン・タブレットを利用した3DVRシステム
 
Part3 unityを使ったvrアプリ作成入門
Part3 unityを使ったvrアプリ作成入門Part3 unityを使ったvrアプリ作成入門
Part3 unityを使ったvrアプリ作成入門
 
FakeRiftとtaovisorをやってみてわかったこと ABC2014w版
FakeRiftとtaovisorをやってみてわかったこと   ABC2014w版FakeRiftとtaovisorをやってみてわかったこと   ABC2014w版
FakeRiftとtaovisorをやってみてわかったこと ABC2014w版
 
CEDEC2014 自作3D VRゴーグル"FakeRift"ではじめるアプリケーション開発
CEDEC2014 自作3D VRゴーグル"FakeRift"ではじめるアプリケーション開発CEDEC2014 自作3D VRゴーグル"FakeRift"ではじめるアプリケーション開発
CEDEC2014 自作3D VRゴーグル"FakeRift"ではじめるアプリケーション開発
 
ねえ、“えぬふぃ〜”で占いしない?
ねえ、“えぬふぃ〜”で占いしない?ねえ、“えぬふぃ〜”で占いしない?
ねえ、“えぬふぃ〜”で占いしない?
 
中華チップ全盛時代のARM SoCの選び方_公開版
中華チップ全盛時代のARM SoCの選び方_公開版中華チップ全盛時代のARM SoCの選び方_公開版
中華チップ全盛時代のARM SoCの選び方_公開版
 
X86アーキテクチャ 対応の現状と将来
X86アーキテクチャ 対応の現状と将来X86アーキテクチャ 対応の現状と将来
X86アーキテクチャ 対応の現状と将来
 
Android x86プロジェクトの最近の状況 pf20111218
Android x86プロジェクトの最近の状況 pf20111218Android x86プロジェクトの最近の状況 pf20111218
Android x86プロジェクトの最近の状況 pf20111218
 
“夏前にすぐに痩せるRam diet!” もしくは 「老頭児組込みエンジニアの苦悩」 (中継無し) パート1 公開版
“夏前にすぐに痩せるRam diet!” もしくは 「老頭児組込みエンジニアの苦悩」 (中継無し) パート1 公開版“夏前にすぐに痩せるRam diet!” もしくは 「老頭児組込みエンジニアの苦悩」 (中継無し) パート1 公開版
“夏前にすぐに痩せるRam diet!” もしくは 「老頭児組込みエンジニアの苦悩」 (中継無し) パート1 公開版
 
Pandaboardで ubuntu tvしてみる?
Pandaboardで ubuntu tvしてみる?Pandaboardで ubuntu tvしてみる?
Pandaboardで ubuntu tvしてみる?
 
AOSPをミラーしてみた
AOSPをミラーしてみたAOSPをミラーしてみた
AOSPをミラーしてみた
 
ICSをビルドしてみた
ICSをビルドしてみたICSをビルドしてみた
ICSをビルドしてみた
 

Kürzlich hochgeladen

Kürzlich hochgeladen (11)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 

BeagleBone BlackでAndroidの下回りを学ぼう (公開版)