SSブログ
- | 次の10件

beagleboard を触ろう - angstrom ブート [組み込みソフト]

まずは、バイナリを入手してブートさせる方法を試してみましょう。
入手するバイナリは、ブートローダーと Linux カーネルと、Linux ファイルシステムです。

http://www.ibm.com/developerworks/jp/linux/library/l-beagle-board/

を全面的に参照して、手順通りやってみましょう。
↑でブートさせる Linux は、Angstrom というディストリビューションです。

google で angstrom beagleboard で検索すると、Angstrom Distribution のバイナリが置いてあるページが見つかります↓

http://www.angstrom-distribution.org/beagleboard-demo-image-available

ここから、uImage, MLO, u-boot.bin, rootfs をダウンロード。
おっと、rootfs はリンク先が無効になっていてダウンロードできなかったので、

http://www.angstrom-distribution.org/demo/beagleboard

から Angstrom-Beagleboard-demo-image-glibc-ipk-2011.1-beagleboard.rootfs.tar.bz2 を取得。

uImage, MLO, u-boot.bin, Angstrom-Beagleboard-demo-image-glibc-ipk-2011.1-beagleboard.rootfs.tar.bz2 で、Linux ブートに必要なものが揃いました。

uImage:
Linux カーネルイメージ (u-boot からのブート用イメージ)

MLO:
第1段ブートローダー(正確には第2段)

u-boot.bin:
第2段ブートローダー(正確には第3段)

Angstrom-Beagleboard-demo-image-glibc-ipk-2011.1-beagleboard.rootfs.tar.bz2:
Linux ファイルシステム

これらを SD カードにコピーします。
SD カードは、1回だけ fdisk を使った初期化が必要です。
fdisk を使うので、Linux マシンが必要です。

SD カードの初期化により、先頭 64MB を FAT32 に、残りの領域を ext3 にします。
細かな手順は、↓を全面的に参照させていただきました。

http://www.xstech.co.jp/Beagle_1/SD_1.htm

fdisk が終わった後、MLO, u-boot.bin, uImage を FAT32 領域にコピーし、ext3 領域に rootfs を展開します。
root 権限でないとダメかもしれません。

# cp MLO u-boot.bin uImage /media/Begl_Boot
# cd /media/Begl_Root
# tar jxvf ~/Angstrom-Beagleboard-demo-image-glibc-ipk-2011.1-beagleboard.rootfs.tar.bz2
# cd
# umount /media/Begl_Boot
# umount /media/Begl_Root

みたいな感じです。
MLO は一番先にコピーせよ、と色んなところに書かれていますんで、それに倣っています。

これでブート準備完了です。
シリアルケーブルで beagleboard とノート PC を、HDMI-DVI 変換ケーブルで beagleboard と液晶ディスプレイを繋ぎ、SD カードを入れ、5V 電源を繋いでブートします。

おお!
u-boot が起動する段階で液晶ディスプレイがオレンジ色になりますね。

u-boot_LCD.png

Linux もちゃんとブートします。

angstrom_LCD.png

USB キーボードとか USB マウスとかを繋いでおくと Linux 上でちゃんと使えるみたいですが、とりあえずブートしただけで良しとします (^^;

beagleboard を触ろう - セットアップ [組み込みソフト]

それでは beagleboard を起動させてみましょう。
まずはシリアルケーブルの接続。
千石電商オンラインショップで買った IDC-BB、ヨドバシで買ったシリアルクロスケーブルと USB-シリアルケーブルを接続します。

beagleboard <-> IDC-BB <-> シリアルクロスケーブル <-> USB-シリアルケーブル <-> ノート PC のように繋ぎます。
ノート PC のシリアルコンソールは、普通に teraterm を使用。
ボーレートは 115200 bps にします。
フレームデータフォーマットは 8N1、フロー制御はなしで。
teraterm だったらボーレート以外はデフォルト値がこの値になっていると思います。

次に、デジタル RGB の接続。
HDMI-DVI ケーブルを beagleboard の HDMI のコネクタと液晶ディスプレイの DVI-D コネクタにそれぞれ繋げます。
beagleboard 本体は小さいんですが、ケーブルがごつくて大変になっちゃいますね。

cord3.png

さあ、それでは 5V 電源を繋げてスタートアップ。
teraterm の出力を見てみましょう。


Texas Instruments X-Loader 1.4.2 (Feb 19 2009 - 12:01:24)
Loading u-boot.bin from nand


U-Boot 2009.11-rc1-00601-g3aa4b51 (Jan 05 2010 - 20:56:38)

OMAP3530-GP ES3.1, CPU-OPP2 L3-165MHz
OMAP3 Beagle board + LPDDR/NAND
I2C: ready
DRAM: 256 MB
NAND: 256 MiB
*** Warning - bad CRC or NAND, using default environment

In: serial
Out: serial
Err: serial
Board revision C4
Die ID #0bea0004000000000403a38103023017
Hit any key to stop autoboot: 0
No MMC card found
Booting from nand ...

NAND read: device 0 offset 0x280000, size 0x400000
4194304 bytes read: OK
Wrong Image Format for bootm command
ERROR: can't get kernel image!
OMAP3 beagleboard.org #


おっとと。
Linux がプリインストールされているのかと思っていましたが、u-boot までなんですね・・・。

ここから先は、先達者が作ってくれたバイナリを入手するか、同じくソースコードを入手して自分でビルドするかですね。

beagleboard を触ろう - 購入 [組み込みソフト]

beagleboard を買うか買うまいか、悩むこと数か月、この間やっと買ったので、それに合わせてブログも書くことにしました。
beagleboard は、Texas Instruments が出しているボードで、ARM Cortex-A8 をコアとする OMAP3530 なる SoC を搭載しています。
価格も1万円ちょいで手が出しやすく、組み込み業界を席巻している Cortex-A8 を触るには最適なボードなんじゃないかと思います。

世の中には、beagleboard で android を動かすというような記事は沢山ありますが、OMAP3530 搭載の周辺デバイスの制御等について書かれている記事はあまりないと思うので、そういうのを目指したいと思います。

--------

まずは購入について。

beagleboard 本体は、digi-key から購入します。
digi-key から発送されてくるものは本当にボードだけで、電源とかシリアルケーブルは別途そろえる必要があります。
以下を揃えましょう。

1. beagleboard 本体
2. RS232C 関連 (IDC10←→DSub9pin 変換、DSub9pinメス←→DSub9pinメスのクロスケーブル)
3. 5V 電源 (USB A←→miniB ケーブルでも可)
4. HDMI-DVI 変換ケーブル
5. SD カード

IDC10←→DSub9pin 変換は、千石電商オンラインショップで IDC-BB なるものを購入しました。
商品代 273円、送料 420円。
DSub9pinメス←→DSub9pinメスのクロスケーブルは、ヨドバシで購入。
サンワサプライの KR-LK2 なる商品で、819円。
母艦 PC にシリアルポートがついていない場合は (今頃は大抵そうだけど)、USB-シリアル変換ケーブルも買う必要がありますね。
こちらは世田谷電器の玉川田園調布 SD-U1RS2 なるものを買いました。一番安かったもので。

5V 電源は、もともと手元にあったので、それを使用。
5V-1A でも OK みたいなので、5V 電源なら大抵何でも大丈夫?

HDMI-DVI 変換ケーブルは、beagleboard のデジタル RGB 出力を外部液晶ディスプレイに表示させるために必要です。
ついでに DVI インターフェースを持った液晶ディスプレイも必要です。
でも、シリアルコンソールに出るメッセージだけでいいや、と思えるなら、これは別に要らないですね。
自分は、HDMI-DVI 変換ケーブルは amazon で PLANEX の 794円のものを購入。
液晶ディスプレイは、デスクトップパソコン用に使っているものをそのまま使用。

SD カードは、自分でビルドしたソフトを試すのに必要です。
beagleboard は NAND flash を搭載していて、ここにソフトを書き込めばいいのですが、いちいち NAND に書くの面倒だし、やっぱり SD カードはあった方がよいです。
自分は、近所のケーズデンキで 2GB のを買いました。一番安かったもので。
容量は、まあ、2GB あれば十分じゃないでしょうか。


beagleboard を買うには、まず digi-key のホームページ www.digi-key.com/JP から beagleboard で検索。
beagleboard と beagleboard-xm が出てきます。
自分は xm じゃない方の beagleboard を購入。

http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=296-23428-ND

2011/5/28 発注で 11760円。送料無料。
購入にあたり、いくつか記載する事項があります。
自分は、以下のようにしました。

・貴社の事業内容
 個人/個人使用
・これらの部品はどのような機器に使用されますか
 民生用電子機器(オーディオ/ビデオ、ゲーム機)
・これら部品をどのような目的のため、どのような機器に使用されるのかを具体的にご記入ください
 民生用テレビ受像機に映像を表示するための機器の試作、国内利用限定
・これらの部品の最終仕向地をお選びください
 JAPAN
・これらの部品のエンドユーザーをご記入ください
 XXXX (自分の名前)

5/31 に、digi-key から発注しましたとのお知らせあり。
6/3 に商品受け取り。

package4.png

開けてみると、ボードしか入っていない。
それと、Pack List なる納品書みたいな 1枚の紙。
そうか、説明書みたいなのもないのか。
一切自分でやりなさい、ということですね。
- | 次の10件

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。