U-Boot を設定する - 2023.1 日本語

PetaLinux ツール資料: リファレンス ガイド (UG1144)

Document ID
UG1144
Release Date
2023-05-16
Version
2023.1 日本語
通常、U-Boot (Universal Bootloader) の設定には、C プリプロセッサを使用します。これは次を定義します。
_OPTIONS_
設定オプションを選択できます。オプション名は「CONFIG_」で始まります。
_SETTINGS_
これらはハードウェアおよびその他の要因によって異なります。オプション名は「CONFIG_SYS_」で始まります。
ヒント: CONFIG_ オプション/設定の資料の詳細やU-Boot の README は、Denx の U-Boot ガイド から参照できます。

PetaLinux U-Boot の設定は、<plnx-proj-root>/project-spec/configs/u-boot-xlnx/ にある config.cfg 設定ファイルに関連付けられています。

注記: config.cfg は、petalinux-config > Auto Config Settings > u-boot autoconfig が有効に設定されている場合にのみ生成されます。

PetaLinux では、CONFIG_ オプション/設定に関する U-Boot 設定の自動化はサポートされていません。これらの CONFIG_ オプション/設定は、platform-top.h に追加できます。

重要: petalinux-config > Auto Config Settings > u-boot autoconfig で無効に設定されている場合、platform-top.h の変更は直接反映されません。この問題を解決するには、イメージ サイズの管理手順 を参照してください。

CONFIG_ オプション (CONFIG_CMD_MEMTEST など) を platform-top.h に追加するには、次の手順に従います。

  • PetaLinux プロジェクトのルート ディレクトリに移動します。
    cd <plnx-proj-root>
  • ファイル platform-top.h を開きます。
    vi project-spec/meta-user/recipes-bsp/u-boot/files/platform-top.h
  • CONFIG_CMD_MEMTEST オプションを追加する場合は、このファイルに次の行を追加します。変更を保存します。
    #define CONFIG_CMD_MEMTEST
    ヒント: CONFIG_CMD_MEMTEST を定義すると、簡単な RAM テストに使用するモニター コマンド mtest を使用できるようになります。
  • U-Boot イメージをビルドします。
    petalinux-build -c u-boot
  • 次のコマンドを実行して BOOT.BIN を生成します。
    petalinux-package --boot --fsbl <FSBL image> --fpga <FPGA bitstream> --u-boot
    
  • ハードウェアまたは QEMU でイメージをブートし、U-Boot ステージで停止します。
  • U-Boot コンソールで次のように mtest コマンドを実行します。
    ZynqMP mtest
  • U-Boot コンソールの出力は次のようになります。
    Testing 00000000 ... 00001000:
    						Pattern 00000000 Writing... Reading...Iteration: 20369
    
    重要: CONFIG_CMD_MEMTEST を定義していない場合、U-Boot コンソールの出力は次のようになります。
    U-Boot-PetaLinux> mtest Unknown command ’mtest’ - try ’help’

    U-Boot の詳細は、https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842223/U-boot を参照してください。