BeagleBoard Rev.Cの動作確認をしてみる
Beagleboard動作確認のため以下のサイトを参考に進めました.
Validating Beagle Board (Rev C and Rev B) with Tests / Diagnostics
基本的には
- SDのフォーマット
- SDへブートローダ,カーネルイメージをコピー
- SDをBeagleBoardへ差し込んで起動
この3ステップで動作確認用のLinuxが起動します.
そしてLinuxが起動したら
- キーボードからコマンド入力
- 動画ファイル(AVI)を再生
- 自分の声を録音・再生
なんてことができました.
ただUSB-LANなどを所持していないため,参考元サイトの一部の動作確認しかできませんでした.
ともあれ,動作確認手順を以下に記していきます.
SDのフォーマット
HP USB Disk Storage Format Tool
をダウンロードしてインストールします.
そして,それを起動してSDをFAT32でフォーマットします.
SDへブートローダ,カーネルイメージをコピー
次に上記サイトValidating Beagle Board (Rev C and Rev B) with Tests / Diagnosticsの
上部にある
MLO as MLO u-boot as u-boot.bin u-boot for flash as u-boot-f.bin ramdisk image as ramdisk.gz Kernel (uImage) as uImage.bin reset.scr as boot.scr x-loader image as x-load.bin.ift Regular script file as normal.scr
のリンクされたファイルを,新しく作成したフォルダへすべてダウンロードしてリネームしておきます.
(例えばu-bootをクリックするとu-boot_revc_v3.binファイルがダウンロードされるため,u-boot.binへリネームする)
そしてさきほどフォーマットしたSDへ上から順にコピーします(特にMLOは最初のセクタへ書き込む必要があるため)
以上で動作確認用のLinux環境の構築は完了です.
SDをBeagleBoardへ差し込んで起動
Linux環境をコピーしたSDをBeagleBoardのSDスロットへ差し込みます.
そして電源を入れるわけですが,その前に準備が必要です.
まず,BeagleBoardのメッセージを確認するために端末が必要になります.
WindowsであればTeraTermをインストールするとよいと思います.
そして以下のような設定にします.
COMポート番号はデバイスドライバで確認してください.
端末の設定は以上です.
次にBeagleBoardの周辺回路のチェックです.
- SDカード挿入
- シリアルポートの接続
- HDMI-DVIコネクタでディスプレイと接続
- Audio-Inへマイク,Audio-Outへイヤホンを接続
- USB-HUBを接続
- USB-HUBにキーボードを接続
そしていよいよ電源投入です.
最初は必ずUSERボタンを押しながら電源を入れます.
そうすることでSDからブートします.
電源を入れてすぐにメッセージが流れ始めます.
Texas Instruments X-Loader 1.41 Starting on with MMC Reading boot sector 197528 Bytes Read from MMC Starting OS Bootloader from MMC...
MMCと文字が見えればSDからのブートに成功です.
U-Boot 2009.01 (May 28 2009 - 09:59:16) I2C: ready OMAP3530-GP rev 2, CPU-OPP2 L3-165MHz OMAP3 Beagle board + LPDDR/NAND DRAM: 256 MB NAND: 256 MiB *** Warning - bad CRC or NAND, using default environment MUSB: using high speed mtdparts variable doesn't start with 'mtdparts=' mtdparts variable doesn't start with 'mtdparts=' mtdparts variable doesn't start with 'mtdparts=' mtdparts variable doesn't start with 'mtdparts=' mtdparts variable doesn't start with 'mtdparts=' In: serial usbtty Out: serial usbtty Err: serial usbtty Board revision C
revision Cとでました.
〜 略 〜 .-------. | | .-. | | |-----.-----.-----.| | .----..-----.-----. | | | __ | ---'| '--.| .-'| | | | | | | | |--- || --'| | | ' | | | | '---'---'--'--'--. |-----''----''--' '-----'-'-'-' -' | '---' The Angstrom Distribution beagleboard ttyS2 Angstrom 2009.X-test-20090305 beagleboard ttyS2 beagleboard login:
ここまでくればあとはrootと入力すればログインできます.
以下,TeraTermの端末上から操作できるようになります.
キーボードを使ってみる
ディスプレイを接続していればLinuxのログイン画面がディスプレイに表示されるのでTeraterm端末からだけでなくキーボードから直接コマンド入力ができます.
※私のUSBキーボードでは,Linux起動後にUSBに差し込んでも認識されなかったので起動前からUSBキーボードを差し込むと認識されました.
動画ファイルを再生してみる
あらかじめAVIファイルが入っているのでそれを再生します.
[root@beagleboard mmc]# svideo [root@beagleboard mmc]# mplayer /sample_video.avi
するとディスプレイに海外のアニメが流れ始めます.
音も流れるのでスピーカーチェックもできます.
自分の声を録音してみる
まずマイク入力から録音ファイルを作ります.
ただし,動作確認用のLinuxはファイルシステムがROM上に展開されるようになっているためファイルの保存ができません.
なのでSDをマウントしてそこに録音ファイルを作ります.
[root@beagleboard /]# mount -t vfat /dev/mmcblk0p1 /mnt [root@beagleboard /]# cd /mnt
そして以下のコマンドでk.wavファイルを作ります.
コマンドを打ち込んでからマイクに声を入れて終了するときはCtrl+Cします.
[root@beagleboard mmc]# arecord -t wav -c 2 -r 44100 -f S16_LE -v k.wav
k.wavファイルを再生すると自分の生ぬるい声が聞こえてきます.
[root@beagleboard mmc]# aplay -t wav -c 2 -r 44100 -f S16_LE -v k.wav
以上で簡単な動作確認は終了です.
上にも書きましたが今回USB-LANなど手元になかったものはテストを見送りました.
参考元サイトではさらにS-VideoやUSBマウスのテストなどの方法が解説されています.
最後に補足として
reset.scr を boot.scr へリネームしたスクリプトファイルは毎回NANDをフラッシュするのでNANDの書き換え回数を気にする人は2度目以降の起動時には normal.scr を boot.scr へリネームして使用するといいかもしれません.
-
- -
ここから余談・・・というか失敗談?
はじめ上記サイトを参考に進めていたんですが,間違えて別のページのブートファイルをDLしてしまい
(レイアウトが似ているから間違えた(汗))
そのファイルをNANDに書き込んで,気づかずにブートさせると,なぜかメッセージで
DRAM: 256 MB
となるはずの部分が
DRAM: 128 MB
と表示されていました(!?)
しかも起動しない・・・
DRAMがはやくも逝ってしまったか,とかなりあせりました.
ホンキで初期不良でDigi-Keyに問い合わせようとしましたが,自分が間違えていることに気づき
参考元にあるブートファイル一式とreset.scrをboot.scrにリネーム,SDへコピーし,USERボタンを押した状態でbeagleboardを起動すると無事直りました.
このreset.scrをboot.scrとして使用するとNANDから古いx-loadとu-bootの情報を消し,SD上のx-loadとu-boot-f.binをNANDへコピーしているようです.
ようやくDRAMの表記は256MBに戻り,カーネルブートできました.
128MBと表記された原因はおそらく,間違えてrev.B仕様(DRAM:128MB)のブートローダを使用したためだと思います.
ともあれ動作確認はできました.
次はXが搭載されたLinuxをブートさせてみたいと思います.