AR# 54896

PetaLinux 2012.12 - auto-config.h がないため MicroBlaze に対し FS-Boot をコンパイルできない

説明

MicroBlaze ベースの PetaLinux プロジェクトに対し FS-Boot をコンパイルしようとすると、次のようなエラー メッセージが表示されコンパイル エラーが発生します。

../src/fs-boot.h:23:25: fatal error: auto-config.h: No such file or directory
compilation terminated
make: *** [src/fs-boot.o] Error 1

ソリューション

PetaLinux ベースの BSP を使用するようアプリケーションが SDK により自動的にコンフィギュレーションされないため、このエラーが発生しています。PetaLinux ベースの BSP はシステムの PetaLinux 情報をアプリケーションに提供します。

この状況を修正するのに一番簡単な方法は、まだコンパイルされていないので FS-Boot の既存インスタンス (および既存 BSP) を削除することです。ディスク上のファイルを削除するためボックスをチェックするようにしてください。

次に、アプリケーションを新しく作成する通常のフローどおりに、[File] → [New] → [Application Project] をクリックします。Application Project ウィザードの最初の画面で、FS-Boot の OS を [petalinux] に変更します。デフォルトではスタンドアロンになっています。これで auto-config.h などのリソースが実行されるようになります。


アプリケーションを作成しても、基本ハードウェアに BSP オプションが正しくマップされていないというエラーがいくつか表示される可能性があります。たとえば、「ERROR:EDK petalinux No timer is specified」というメッセージが表示される場合があります。表示されるメッセージはシステムにどのペリフェラルが組み合わされているかによって異なりますが、解決方法は同じです。BSP アプリケーションを右クリックし、[Board Support Package Settings] を選択して BSP 設定画面を開き、[Overview] のセクションで [petalinux] をクリックします。

値の列には、名前の列で選択したオプションに該当するペリフェラルを選択してください。stdout、stdin、main_memory、flash_memory、timer のオプションに対し、ハードウェアが記述されていることを確認します。イーサネットがシステムで使用されている場合は、そのハードウェアも指定します。


注記 : このスクリーンショットは参考用です。ハードウェアは使用のシステムによって異なる場合があります。

BSP がアップデートされた後、指定領域にデザインの一部がフィットしないというメッセージが表示される場合もあります (「section .stack will not fit in region」など)。FS-Boot アプリケーションを右クリックし、[Generate Linker Script] を選択すると、この問題は修正できます。

リンカー スクリプトの GUI の右上を確認し、適切なストレージにコード、データ、ヒープ、スタックがあることを確認します。ストレージにブロック RAM が使用されている場合、問題となっているセクションのサイズを変更するため、XPS ハードウェア定義を変更してブロック RAM のサイズを増やす必要があることがあります。

AR# 54896
日付 01/30/2014
ステータス アクティブ
種類 一般
デバイス
ツール 詳細 概略