BeagleBone Black
http://beagleboard.org/Products/BeagleBone%20Black
TIのOSHWなマイコンボード
320px
ハードウェア
AM335x Coretex-A8 (ARM) 1GHz CPU
メインメモリ 512MB DDR3
3Dグラフィックアクセラレータ
オンボード eMMCフラッシュメモリ 2GB
と、結構豪華なワンボードコンピュータ。
I/O類
micro SDスロット×1
LAN ×1
HDMI(micro) ×1
USB(ホスト) ×1
USB(デバイス) ×1
DC(5V)入力(電源はDCからでもUSBデバイスコネクタからでも供給可能)
これら以外にも2×64ピンヘッダ、FTDIブレイクアウト用ヘッダが用意されている
OS
デフォルトではCloud9 IDEを含むÅngström Linux。しかしながら、ARMアーキテクチャのCPUのため、ARMをサポートするLinux系は動作するので用途は広い。メモリが少ないことと、ストレージがフラッシュなので、組み込み系に最適化されたLinuxを使うのがベター。
(普通の)使い方
"普通に"使ったりLEDをパカパカさせる使い方は、あちこちに情報があるので参考にしてください。うちのWikiではそもそも、普通に使いませんので。
シリアルコンソール
ボード上のJ1がFTDIブレイクアウト用のコネクタになっています。ピンの1番(●マーキングのある側)が、GNDになります。
ただし、BBBは3.3V I/Oのため3.3V用FTDIブレイクアウトを使用してください。スイッチサイエンスのこれ
http://www.switch-science.com/catalog/1032/
は、5V/3.3V切り替え式なので便利です。とはいえ他で使う用途がなければ3.3V専用品を買っておいてもかまいません。
デフォルトではシリアルは115,200bpsです。
シリアルコンソールを使わない場合どうするか
HDMIとUSBが付いているので、HDMI入力可能なディスプレイがあれば使えます。ただし、BBBのHDMIはmicroタイプなので変換アダプタか、microHDMI-HDMIのケーブルが必要になります。
なお、デフォルトのÅngström Linuxでもsshdは動いているのでDHCP環境があればネットワークに接続すればログインできるため、サーバとして使うのであればコンソール環境は無くてもかまいません。まかり間違えて起動しなくなってもコンソールは要らないかも。
ブートシーケンス
これ結構ハマりますので注意。
BBBは基本、以下のシーケンスでブートします。
電源投入->オンボードeMMCのブートパーティション
つまり、普通は電源が投入されるとオンボードのeMMCの1パーティション目を見に行き、そこからブートします。通常このパーティションはFAT32の64MBパーティションです。
Disk /dev/mmcblk0: 1920 MB, 1920991232 bytes, 3751936 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 label type: dos Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/mmcblk0p1 * 63 144584 72261 c W95 FAT32 (LBA) <-これ /dev/mmcblk0p2 144585 3743144 1799280 83 Linux
micro SDからブートしたい場合には、S2のスイッチ(micro SDスロットに近いところにあるやつ)を押しながら電源を投入します。この場合には、以下のシーケンスになります。
電源投入->micro SDのブートパーティション
なので、一般的にはmicro SDに64MBのFAT32パーティションをまず作り、そこを/bootにすればmicor SDから起動します。
ただし、micro SDから起動しようと思うと、S2スイッチを押していないとmicro SDからはブートしないという問題があります。このため、必ずmicro SDから起動させたい場合にはS2のところをハンダしてしまうのが良さそうです(eepromなどで変更できる方法見つけた人は教えてください)。
オンボードのeMMCを温存しつつ、micro SDからブートさせる場合には、eMMCの/boot(1パーティション目)を書き換えてしまいます。そうすると、次の順序でブートすることになります。
電源投入->オンボードeMMCのブートパーティション->micro SDのファイルシステム(/とか)
と、なるので"スイッチを押さずに"起動した場合には、必ずオンボードeMMCのブートパーティションを通らなくてはなりません。
なのでオンボードeMMCの中身を飛ばしてしまうと、S2スイッチを押さないと起動できないBBBになってしまいます。
本体アップデート&リカバリ
本体のオンボードeMMCを消してしまったなどという場合には以下の手順でeMMCをリカバリできます。アップデートも同じ方法です。
まず以下からイメージを落とします。
http://beagleboard.org/latest-images
BeagleBone Black (eMMC flasher)を落とします。これが本体のeMMC用のリカバリイメージになりますが、一旦これを適当なmicro SDに書き込みます。xz圧縮されたイメージなので展開してからdd等で書き込みます。4GBもあれば足りるので、そのへんで余っているmicro SDで。ブート情報込みなのでof=/dev/sdbのように頭から書き込んでください。書き込んだら以下の手順でリカバリします。
1)電源を切ってmicro SDを入れます
2)S2スイッチを押しながら電源を入れます
3)USER LED(LANコネクタ側のLED) 4つが点滅します
4)USER LEDの点滅が終わって4つとも常時点灯になるのを待ちます
これでオンボードeMMCが書き込まれます。