| アンサー # |
21955
|
| パーツ |
SW-Coregen |
| 最終更新日 |
2009-04-13 00:00:00.0 |
| ステータス |
Active |
| キーワード |
JVM, limit, RAM, virtual, メモリ, 仮想, 容量, 制限 |
問題の詳細
キーワード : JVM, limit, RAM, virtual, メモリ, 仮想, 容量, 制限
CORE Generator コアを生成しようとしていると、次のエラー メッセージが表示されます。
"ERROR:coreutil - An error occurred while running Java. This may be due to memory limitations.
You can adjust the memory dedicated to Java by going to the Preferences dialog available from the File menu. Please consult (Xilinx Answer 21955)."
ソリューション
このエラー メッセージは、CORE Generator で Java アプリケーションを実行できない場合に表示されます。CORE Generator の [Console] タブまたは coregen.log ファイルを参照し、最初に発生したエラーを確認してください。より詳細なメッセージを表示するには、CORE Generator をコマンド ラインから次のオプションを使用して実行します。
-d (通常のデバッグ)
-dd (詳細デバッグ)
-ddd (Verbose デバッグ)
-J verbose (JAVA Verbose モード)
このエラー メッセージがその他の追跡しやすいエラー メッセージなしで表示される場合の既知の問題を、いくつか次に示します。
メモリの制限ほかのエラー メッセージが表示されない場合は、Java のエラーはメモリの制限が原因である可能性があります。Java アプリケーションが起動された場合、最大量のメモリが割り当てられる必要があります。デフォルトでは、CORE Generator で Java に最大 1024MB のメモリが割り当てられますが、大型の FIFO やメモリ コアなどの一部のコアを生成するには、これ以上のメモリが必要です。
Java に割り当てられるメモリ量を変更するには、CORE Generator で [File] → [Preferences] をクリックし、[Memory Dedicated to Java] の値を変更します。
Java に割り当てられるメモリをインクリメンタルに制御するには、次のように CORE Generator をコマンド ラインから -J Xmx オプションを使用して起動します。
構文 : coregen -J Xmx<num>m
メモ : コマンド ラインでの -J Xmx オプションを使用した設定は、GUI での設定より優先されます。
たとえば、コマンド ラインに「coregen -J Xmx1732m」と入力すると、JVM を初期化する際に 1732MB のメモリが使用されます。
例 :coregen -J Xmx2500m
coregen -J Xmx256m
一般的に使用される値は次のとおりです (任意の正の整数を指定可能)。
Xmx256m、Xmx384m、Xmx512m、Xmx768m、Xmx2048m、Xmx4096m
システムで使用可能なメモリ量以上のメモリを割り当てると、JVM が初期化できないことを示すエラー メッセージが即座に表示されます。
最大ヒープ サイズは、マシンによって異なります。Window XP では、通常 2GB 程度です。ほとんどの Windows NT システムと一部の Windows XP システムではデフォルトの 1024MB を割り当てることができないため、256MB または 512MB に設定する必要があります。
物理メモリと仮想メモリの合計が、コマンド ラインでの CORE Generator のメモリ設定以上である必要があります。Xmx オプションでメモリ容量を大きな値に設定した場合、このメモリ容量が CORE Generator で使用されます。CORE Generator が終了するまで、ほかのアプリケーションではこのメモリを使用できません。
XST 合成エラー 2005 年以降に作成されたほとんどのコアは C++ ベースであり、Java は一部のインターフェイスおよびペリフェラルの処理のみで必要です。これらのコアでは、コア ネットリストのコンパイルは、XST で実行されます。XST でエラーが発生した場合、このエラーは Java インターフェイスを介して CORE Generator には転送されないので、一時ディレクトリに作成された XST のログ ファイルを確認することをお勧めします。ほとんどの場合、一時ディレクトリには tmp という名前が付けられており、プロジェクト ディレクトリの下にあります。一時ディレクトリの場所と名前は、[Project Options] の [Advanced] タブの [Temporary Directory] で設定できます。
一時ディレクトリの場所が無効 Core Generator プロジェクトが新しい場所にコピーされ、[Project Options] の [Advanced] タブで一時ディレクトリの設定がアップデートされていないと、このエラー メッセージが表示されることがあります。
ディレクトリ パスにスペースが含まれる 現在のプロジェクト、ザイリンクス インストール ディレクトリ、または一時ディレクトリのパスにスペースが含まれていないかどうかを確認してください。
コアのユーザー ガイドが開いているコンピュータによっては、コアのユーザー ガイド (.pdf) が開かなかったりコアを生成できないことがあります。デバッグ モードで CORE Generator を実行すると次のようなメッセージが表示されます :
ERROR:coreutil - FATAL: Associated file <project_directory)\fifo_generator_ug175.pdf (The process cannot access the file because it is being used by another process)> could not be found."
この場合、ユーザー ガイドを閉じてから、コアを生成してください。
LD_LIBRARY_PATH が Linux で間違って設定されるLD_LIBRARY_PATH 環境変数が %Xilinx%bin/lin ディレクトリをポイントしていることを確認してください。
プロジェクト ディレクトリと同位のサブディレクトリから CORE Generator が起動する(Xilinx Answer 25370) を参照してください。
コマンド ラインから CORE Generator を起動する場合は、「coregen」ではなく 「_cg」と入力できます。
また
(Xilinx Answer 23574) も参照してください。