Mini2440にU-bootを移植マニュアル(5)

Mini2440/Mcro2440等開発ボード関連のフォラーム

Mini2440にU-bootを移植マニュアル(5)

投稿記事by dwtechadm » 木 9 26, 2013 3:36 pm

4.2.9 SD カード(MMC)コマンド
画像

SD カードのコマンドは初期化とデバイス情報表示、読み取り/書き込み、ファイルシステムコマンドで実現できる。
使い方はUSBと類似で、全てのコマンドを使用する前、 SDカードを挿し込み、mmc init、MMC コントローラー初期化、デバイス情報取得。
mini2440に1GB SD カードを挿し込み:
画像


4.2.10 FAT ファイルシステムコマンド

fatinfo:ファイルシステムの関連情報表示
フォーマット:fatinfo <interface> <dev[:part]>
Interface:インタフェース、例 usb、mmc;
dev:デバイスコードナンバー、例 0、1……;
part:ストレージデバイス中のパーティション、例 1、2……。


fatload: FAT32 ファイルシステムからバイナリファイルを SDRAMに読み取る。
フォーマット:fatload <interface> <dev[:part]> <addr> <filename> [bytes]
Interface、dev と part 上記と同じ;
addr: SDRAMに書き込む アドレス;
filename:ストレージデバイス中のファイル名;
bytes:ストレージデバイスから読み取ったファイルのサイズ設定、指定しなくても良い;
fatls: FAT32 ファイルシステム中ディレクトリ内のファイルをプリントアウト。
フォーマット:fatls <interface> <dev[:part]> [directory]
Interface、dev と part 上記と同じ;
directoryr:検索するディレクトリ、指定しなくても良い、デフォルトは/。

上記のコマンドは USBメモリまたはSD カードと同時に使用する。モバイルメモリのFAT32 パーティションを読み取る。

使用例:
画像
画像

4.2.11 システムブートコマンド

bootと bootdは ENV゛bootcmd゛で指定されるコマンドを実行する。
bootm コマンドはSDRAM 中、U-bootのmkimage ツールで処理されたカーネルイメージを起動する。
フォーマット:bootm [addr [arg ...]]
addr :カーネルイメージのある SDRAM 中のアドレス
Linux カーネルを起動する時、'arg' の initrd のアドレス。
例:
画像
画像
画像
画像


4.2.13 他のコマンド
run - ENV 定義のコマンドスクリプトを実行する。
使用例:
画像



reset - CPU再起動
他のコマンド、゛help゛説明を検索出来る。

4.3 ダウンロードとプログラミング
U-boot でイメージファイルをボードの Flashにプログラミング手順は下記の通り:
(1)ネットワーク、シリアル、USBメモリ、SD カード等を通じて、ファイルをSDRAMに伝送する;
(2)Nand Flash または Nor Flash 関連の読み取り/書き込みコマンドを使用し、 SDRAM 中のデータを Flashにプログラミングする。


SD カードと USBメモリから U-bootを更新するには、SD カードと USBメモリ中のFAT32 ファイルシステムと u-boot.bin ファイルが必要とされる。

4.3.1 SD カードでNand Flashプログラミング:
画像


4.3.2 USBメモリでNor Flashプログラミング:
画像


4.3.3 TFTP サービスで Nand Flashプログラミング:
画像

4.3.4 NFS サービスでNand Flashプログラミング:
画像



4.4 カーネルブート
カーネルのブート手順:
(1) U-boot の mkimage ツールでカーネルイメージ zImageを作成する。
(2)ネットワーク、シリアル、USBメモリ、SD カード等でカーネルイメージをSDRAM の指定位置に伝送( 0x30008000)
(3)゛bootm゛等カーネルブートコマンドでカーネル起動。
画像
画像


4.4.1 SD カードでカーネルブート:

SD カード中 FAT32 ファイルシステム、作成済みのカーネルイメージファイル。
画像


4.4.2 TFTP サービスでカーネルブート
画像


4.4.3 NFS サービスでカーネルブート:
画像


4.4.4 Nand Flashで カーネルブート:

作成済みのカーネルイメージファイルをNand Flash の指定位置にプログラミング(カーネルパーティションテーブルで決められる)。その後、起動時 Nand Flash の読み取りコマンドでカーネルイメージファイルをメモリーの指定位置に読み取り(カーネルイメージ作成時の-a パラメータで決められる)、次は bootm コマンドでカーネルブートする。
カーネルイメージファイルのプログラミング:
画像

カーネルブート:
画像


第5章 U-boot ソースコード分析

今回移植に使用する U-boot-2009.11。
ソースコードディレクトリ構造、とコードの実行順番でソースコードを分析する。

5.1 U-boot ソースコード全体フレーム枠
ソースコード解凍後、ファイルとフォルダは下記の通り:
画像
画像
画像

赤字は移植する時の重要ファイル/フォルダである。

5.2 U­boot コード実行プロセス( S3C24x0 例)

リンクスクリプトファイル u-boot.lds でコードの開始アドレス:

画像

プログラムの入口ポイントは_start、ロケーションは cpu/arm920t/start.S(即 u-boot 起動の第一段階)。
start.Sを分析する。(データマニュアルのソースコードを参照)

画像
画像
画像
画像
画像
画像


----------続く
dwtechadm
 
記事: 60
登録日時: 月 2 25, 2013 1:35 pm

Return to ARM9ボード関連

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[0人]

cron