bc10

概要

2010/09/06

bc10向けx-loaderについて、情報をまとめてあります。
x-loaderはbc10起動時に実行される第一段ブートローダです。
bc10のブートプロセスやx-loaderの配置方法についての情報はbc10/bootingを参照してください。

x-loaderのビルド

2010/09/06

開発環境

bc10向けtoolchainを準備します。
以下のtoolchainでビルドを確認しています。

  • CodeSourceryのarm GNU/Linux toolchain(arm-none-linux-gnueabi-)
  • BeagleBoard向け開発環境として使われているOpenEmbedded Linuxのtoolchain(arm-angstrom-linux-gnueabi-)

ここではOpenEmbedded Linux向けtoolchainを使用した場合について説明します。

環境変数の設定

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つのブランチがあります。

  • master
    • 派生元masterブランチのクローン
  • bc10
    • bc10向けリリースブランチ
  • bc10-develop
    • bc10向け開発ブランチ

bc10で動作するx-load.binをビルドするには、bc10ブランチを使用してください。

派生元

x-load-bc10のソースコードは、x-load-omap3プロジェクトのリポジトリからcloneし、bc10向けに改造したものです。

補足

signGPについて

2010/07/05

OMAP35xのBootROMコードは、NAND FlashやSDカードからブートローダのイメージファイルを読み込む場合に、その先頭にヘッダがあることを要求します。
ヘッダの構成は以下のようになっている必要があります。

+------------------------------------------+
| Length (4byte)                           |
+------------------------------------------+
| LoadAddr (4byte)                         |
+------------------------------------------+
| BootLoader image                         |
| ...                                      |
+------------------------------------------+
  • Length
    • イメージファイルのサイズを指定します。
  • LoadAddr
    • イメージのロード先アドレスを指定します。

signGPはブートローダのイメージファイルに、上記のヘッダを加えるためのツールです。
signGPのソースファイルはBeagleSourceCodeからダウンロードすることができます。

参考

2010/07/05


BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。
トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS
Last-modified: 2010-12-20 (月) 13:36:02 (2677d)