2010/09/06
bc10向けx-loaderについて、情報をまとめてあります。
x-loaderはbc10起動時に実行される第一段ブートローダです。
bc10のブートプロセスやx-loaderの配置方法についての情報はbc10/bootingを参照してください。
2010/05/07
bc10向けtoolchainを準備します。
以下のtoolchainでビルドを確認しています。
ここではOpenEmbedded Linux向けtoolchainを使用した場合について説明します。
2010/09/06
OpenEmbeddedのtoolchainを使用するため、環境変数の設定をおこないます。
export PATH=${WORK_DIR}/OE/angstrom-dev/cross/armv7a/bin:${PATH} export ARCH=arm export CROSS_COMPILE=arm-angstrom-linux-gnueabi-
OMAP3向けx-loaderのソースコードをgitリポジトリから取得します。
git clone git://gitorious.org/~bc-dev/x-load-omap3/x-load-bc10.git x-load-bc10
bc10用のブランチに移動します。
cd x-load-bc10/ git checkout -t -b bc10 origin/bc10
ビルドをおこないます。
make distclean make omap3530bc10_config make
ビルドに成功するとx-load.binが生成されます。
x-load.binはOMAP BootROMの仕様とフォーマットが合っていないので、このままNAND FlashやSDカードに書きこんでもブートローダとして動作させることができません。
この問題を解決するために、signGPというツールでx-load.binを加工する必要があります。
signGPの詳細については補足記事を参照してください。
signGPの実行ファイルは以下の場所からダウンロードすることができます。
signGPは以下のように使用します。
./signGP x-load.bin
成功するとx-load.bin.iftが生成されます。
BootROMの仕様により、x-load.bin.iftをSDカードにコピーするときは、SDカードのルートディレクトリにMLOという名前で保存する必要があります。
NAND FlashやSDカードへの配置には決まりがあるので、bc10/bootingで詳しく説明します。
2010/12/17
x-load-bc10のソースコードはGitoriousで管理しています。
x-load-bc10リポジトリには、以下の3つのブランチがあります。
bc10で動作するx-load.binをビルドするには、bc10ブランチを使用してください。
x-load-bc10のソースコードは、x-load-omap3プロジェクトのリポジトリからcloneし、bc10向けに改造したものです。
2010/07/05
signGPはブートローダのイメージファイルに簡単なヘッダを加えるためのツールです。
signGPのソースファイルはBeagleSourceCodeからダウンロードすることができます。
OMAP35xのBootROMは、NAND FlashやSDカードからブートローダのイメージファイルを読み込む場合に、その先頭にヘッダがあることを要求します。
ヘッダの構成は以下のようになっている必要があります。
+------------------------------------------+ | Length (4byte) | +------------------------------------------+ | LoadAddr (4byte) | +------------------------------------------+ | BootLoader image | | ... | +------------------------------------------+
2010/07/05