今回は、
”Zynq-7000 EPP Concepts, Tools, and Techniques A Hands-On Guide to Effective Embedded System Design UG873 (v14.1) May 31, 2012”の34ページ、”Linux Booting and Application Debugging Using SDK”を見ていくことにする。
これは覚書です。上記のマニュアルを参照させていただきました。ありがとうございます。
・ Zynq™-7000 EPPのボードでLinux OSをブートする方法がこの章に書いてあるそうだ。
・最初にJTAGインタフェースを使ってメモリにLinuxのイメージををダウンロードする方法をやる。
・次に非揮発メモリにLinuxのイメージを入れておいて、ボードのスイッチを切り替えることで、ブートさせてみる。
・非揮発メモリの種類はオンボードのQSPI Flash とSDカード。
・この章では、ターゲットボード上で動作するLinuxアプリケーションをデバッグするためのSDKのリモートデバッグ機能の使用方法について説明するそうだ。
・SDKツールのソフトウェアは、Windowsホストマシン上で実行される。
・アプリケーションのデバッグについては、SDKは既にLinux OSを実行しているターゲットボードへのイーサネット接続を確立する。
使用ファイル必要なファイルは、デザインファイル
ug873_design_files.zip からダウンロードする事ができる。
・BOOT.bin :bootgenで作られたU-BootイメージとFSBL(first stage boot loader)を含むブートイメージ
・Boot.bif :BOOT.BINの作成時にbootgenを制御するためのファイル
・Devicetree.dtb :Linuxで使用されるDevice tree binary large object (blob)。U-Bootによってメモリにロードされる。
・ramdisk8M.image.gz :Linuxで使用されるRamdiskイメージ。U-Bootによってメモリにロードされる。
・README.txt :(これは言うまでもない)
・U-boot.elf :U-BootファイルはBOOT.BINイメージを作るのに使用される。
・zImage :Linuxカーネル・イメージ。U-bootでメモリにロードされる。
・zynq_fsbl_0.elf :FSBLイメージはBOOT.BINイメージを作るのに使用される。
ブート方法Linuxをブートする方法は2つあるようだ。
マスタ・ブート・メソッドとスレーブ・ブート・メソッド
マスタ・ブート・メソッド・マスタ・ブート・メソッドは QSPI、NAND、NOR flash、SDカードなどの非揮発メモリにLinuxのブート・イメージを入れておいて、そこからブートする方法。
・ブート・プロセスはPS中のARMプロセッサを初期化して非揮発メモリのコードを実行する。
・非揮発メモリのコードはFSBLを実行する。
FSBLの実行手順
・もしあれば、FPGAのビットファイルをコンフィグ。
・MIOインタフェースをコンフィグ。
・DDRコントローラを初期化。
・PLLクロックを初期化。
・非揮発メモリからDDRにロードしてU-Bootを実行。
・U-BootはLinuxカーネル・イメージ、ファイル・システム、デバイス・ツリーの非揮発メモリからDDRへのロードと実行を行う。
スレーブ・ブート・メソッド・スレーブ・ブート・メソッドはJTAGだけを使って、ホストPCからDDRへブート・イメージをロードして、Linuxをブートする。
JTAGからのLinuxブート方法は下の図の通り。(
チュートリアル36ページの Figure 5-1: Linux Boot Process on the Target Platform を引用させていただきました)
- 2012年07月09日 05:48 |
- Zynq
-
| トラックバック:0
-
| コメント:0