- 追加された行はこの色です。
- 削除された行はこの色です。
[[bc10]]
- 目次
#contents
* 概要 [#g44bfd82]
2010/09/06~
bc10向けx-loaderについて、情報をまとめてあります。~
x-loaderはbc10起動時に実行される第一段ブートローダです。~
bc10のブートプロセスやx-loaderの配置方法についての情報は[[bc10/booting]]を参照してください。~
* 開発環境 [#yd0d5ace]
2010/05/07~
bc10向けtoolchainを準備します。~
以下のtoolchainでビルドを確認しています。~
- CodeSourceryのarm GNU/Linux toolchain(arm-none-linux-gnueabi-)
- BeagleBoard向け開発環境として使われているOpenEmbedded Linuxのtoolchain(arm-angstrom-linux-gnueabi-)
ここではOpenEmbedded Linux向けtoolchainを使用した場合について説明します。~
* x-loaderのビルド [#tf443815]
2010/09/06~
** 環境変数の設定 [#ha92cdd3]
OpenEmbeddedのtoolchainを使用するため、環境変数の設定をおこないます。~
export PATH=${WORK_DIR}/OE/angstrom-dev/cross/armv7a/bin:${PATH}
export ARCH=arm
export CROSS_COMPILE=arm-angstrom-linux-gnueabi-
** ソースコードの入手 [#s90b62b5]
OMAP3向けx-loaderのソースコードをgitリポジトリから取得します。~
git clone git://gitorious.org/~bc-dev/x-load-omap3/x-load-bc10.git x-load-bc10
** ブランチの移動 [#q6ecbab1]
bc10用のブランチに移動します。~
cd x-load-bc10/
git checkout -t -b bc10 origin/bc10
** ビルド [#fd8f93ac]
ビルドをおこないます。~
make distclean
make omap3530bc10_config
make
ビルドに成功するとx-load.binが生成されます。~
** バイナリイメージの調整 [#i3db28db]
x-load.binはOMAP BootROMの仕様とフォーマットが合っていないので、このままNAND FlashやSDカードに書きこんでもブートローダとして動作させることができません。~
この問題を解決するために、signGPというツールでx-load.binを加工する必要があります。~
signGPの詳細については[[補足記事>#l88d6ae1]]を参照してください。~
signGPの実行ファイルは以下の場所からダウンロードすることができます。~
- http://beagleboard.googlecode.com/files/signGP
signGPは以下のように使用します。~
./signGP x-load.bin
成功するとx-load.bin.iftが生成されます。~
BootROMの仕様により、x-load.bin.iftをSDカードにコピーするときは、SDカードのルートディレクトリに''MLO''という名前で保存する必要があります。~
NAND FlashやSDカードへの配置には決まりがあるので、[[bc10/booting]]で詳しく説明します。~
* ソースコードリポジトリについて [#ab4a37a1]
2010/12/17~
x-load-bc10のソースコードはGitoriousで管理しています。~
- プロジェクトページ
-- http://gitorious.org/~bc-dev/x-load-omap3/x-load-bc10
- リポジトリ
-- git://gitorious.org/~bc-dev/x-load-omap3/x-load-bc10.git
** ブランチ [#n8db348f]
x-load-bc10リポジトリには、以下の3つのブランチがあります。~
- master
-- 派生元masterブランチのクローン
- bc10
-- bc10向けリリースブランチ
- bc10-develop
-- bc10向け開発ブランチ
bc10で動作するx-load.binをビルドするには、bc10ブランチを使用してください。~
** 派生元 [#x9068f5b]
x-load-bc10のソースコードは、x-load-omap3プロジェクトのリポジトリからcloneし、bc10向けに改造したものです。~
- x-load-omap3プロジェクト
-- http://gitorious.org/x-load-omap3
- リポジトリ
-- git://gitorious.org/x-load-omap3/mainline.git
- ブランチ
-- master
* 補足 [#scbdeb9d]
** signGPについて [#l88d6ae1]
2010/07/05~
signGPはブートローダのイメージファイルに簡単なヘッダを加えるためのツールです。~
signGPのソースファイルは[[BeagleSourceCode:http://code.google.com/p/beagleboard/wiki/BeagleSourceCode]]からダウンロードすることができます。~
OMAP35xのBootROMは、NAND FlashやSDカードからブートローダのイメージファイルを読み込む場合に、その先頭にヘッダがあることを要求します。~
ヘッダの構成は以下のようになっている必要があります。~
+------------------------------------------+
| Length (4byte) |
+------------------------------------------+
| LoadAddr (4byte) |
+------------------------------------------+
| BootLoader image |
| ... |
+------------------------------------------+
- Length
-- イメージファイルのサイズを指定します。
- LoadAddr
-- イメージのロード先アドレスを指定します。
* 参考 [#jac46aaa]
2010/07/05
- [[x-load-omap3 (gitorious.org):http://gitorious.org/x-load-omap3]]
- [[elinux BeagleBoard X-Loader (elinux.org):http://elinux.org/BeagleBoard#X-Loader]]
- [[BeagleSoftCompile (code.google.com):http://code.google.com/p/beagleboard/wiki/BeagleSoftCompile]]
- [[BeagleSourceCode (code.google.com):http://code.google.com/p/beagleboard/wiki/BeagleSourceCode]]