AR# 16536

|

8.1i EDK - 「ERROR:Data2MEM:31 - Out of bounds code segment for ram space in 'system_bd.bmm'.」というエラー メッセージが表示される

説明

キーワード : ELF, bit, 128, linker, script, contiguous, memory, BRAM, リンカ, スクリプト, 連続, メモリ

リンカ スクリプトを使用しなくてもすむようにし、BRAM に長いコード セクションを保存できるようにするため、2 つの BRAM メモリ コントローラを連結して使用して、コード スペースを拡張しようとしました。

ビットストリームをアップデートしようとすると、Data2MEM で次のようなエラー メッセージが表示されます。

"ERROR:Data2MEM:31 - Out of bounds code segment for ram space in 'system_bd.bmm'.
Memory space 'plb_bram_if_cntlr_1_bram' occupies [0x00000000:0x0001FFFF]
Code segment #1 occupies [0x00000000:0x00034D73]"

ソリューション

回避法 1

現在のところ、Data2BRAM では EDK で生成された連続メモリはサポートされません。

この問題を回避するには、リンカ スクリプトを使用し、アプリケーション コード セクションを別々のメモリ領域に置いてください。

XPS には Generate Linker Script というツールが含まれており、アプリケーション コードを 2 つのメモリにマップするリンカ スクリプトを作成する場合に使用できます。

XPS でこのツールを起動するには、[Tools] → [Generate Linker Script] をクリックします。

メモ : このツールは、EDK 6.3 以降に含まれます。

回避法 2

デフォルトの EDK リンカ スクリプトでは、プログラム ヘッダが 1 つの ELF ファイルが生成されます。 読み込みプログラム (この場合は Data2BRAM) は、このヘッダを読み込み、ELF をメモリにダウンロードします。 メモリ領域が連続しているため、START_ADDR オプションを設定すれば、リンカでそのアドレスを使用して ELF ファイルが生成されると考えるのは妥当ですが、Data2MEM で連続メモリを区別できないため、エラーが発生します。

この問題を解決するには、リンカ スクリプトを変更して物理メモリごとにプログラム ヘッダを作成します。 プログラム ヘッダの作成には、リンカ スクリプトの PHDRS 構文を使用できます。 この場合、ELF ファイル内の各物理メモリに対して 1 つずつ、2 つのプログラム ヘッダが作成されます。 各物理メモリ領域にそれぞれヘッダが読み込まれるので、ELF ファイルが適切なメモリにダウンロードされます。

ELF プログラム ヘッダの詳細は、次のサイトを参照してください。
http://www.gnu.org/software/binutils/manual/ld-2.9.1/html_mono/ld.html#SEC23

回避法 3

この問題を回避するもう 1 つの方法として、BMM ファイルを編集し、Data2MEM をスタンドアロン モードで実行する方法もあります。

メモ : この方法は、連続したメモリ スペースのサイズが等しい場合にのみ使用できます。

1. XPS で [Tools] -> [Update Bitstream] をクリックするか、または ISE でハードウェア フロー全体を実行し、アノテートされた BMM を生成します。
2. すべての BUS BLOCK が 1 つの ADDRESS BLOCK に入るように BMM ファイルを修正します。 メインのアドレス ブロックのアドレスを、アドレス領域全体を指定できるよう調整します。
3. BMM ファイルを保存し、次のコマンドを使用して Data2MEM をスタンドアロンで実行します。

> data2mem -bm system_bd.bmm -bd executable.elf tag top_level_tag_name
> -bt system.bit -o b down.bit

ここで、top_level_tag_name は最上位のアドレス ブロック インスタンス名です。

生成された BIT ファイルでは、ビットストリーム全体が初期化されるはずです。
AR# 16536
日付 04/25/2007
ステータス アーカイブ
種類 一般
People Also Viewed