UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 22857

9.1i EDK/SimGen - 「WARNING:MDT - ....\executable.elf does not reside completely within BRAM memory of processor ppc405_0.」 という警告メッセージが表示される

説明

キーワード : 7.1i sp2, BMM, opb_bram, DSOCM, controller, block RAM, コントローラ, ブロック RAM

Power PC システムで、ISOCM と DSOCM にブロック RAM があり、DSOCM-BRAM のセカンド ポートを opb_if_cntrl に接続した状態で、 SimGen または BRAM_INIT を実行すると、ELF ファイルがブロック RAM メモリ内に完全に存在しないという警告メッセージが表示されます。

"WARNING:MDT - Elf file C:\........\executable.elf does not reside
completely within BRAM memory of processor ppc405_0.
WARNING:MDT - The sections of ELF residing outside BRAMs must be initialized
separately using a debugger, a bootloader, or an ACE file"

ソリューション

通常、この問題は、OPB_BRAM コントローラと DSOCM-BRAM コントローラが同じブロック RAM に接続設定されている場合に発生します(OPB が Port A に、DSOCM が Port B に)。

メモリが初期化されないため、BMM ファイル生成時のデザイン ルールに基づいて、ツールが警告メッセージを発します。

ブロック RAM のポートを両方使用する場合には、BMM ファイルには、Port A のアドレス範囲が反映されます。

Port A を OPB_BRAM コントローラに接続すると、0x10000000 が OPB_BRAM コントローラのベース アドレスの場合、BMM ファイルのブロック RAM のアドレス範囲は次のようになります。

ADDRESS_BLOCK exchange_memory RAMB16 [0x10000000:0x10003fff]
BUS_BLOCK
exchange_memory/exchange_memory/ramb16_0 [31:28] ;
exchange_memory/exchange_memory/ramb16_1 [27:24] ;
exchange_memory/exchange_memory/ramb16_2 [23:20] ;
exchange_memory/exchange_memory/ramb16_3 [19:16] ;
exchange_memory/exchange_memory/ramb16_4 [15:12] ;
exchange_memory/exchange_memory/ramb16_5 [11:8] ;
exchange_memory/exchange_memory/ramb16_6 [7:4] ;
exchange_memory/exchange_memory/ramb16_7 [3:0] ;
END_BUS_BLOCK;
END_ADDRESS_BLOCK;

この場合、ELF ファイルのヘッダは次のようになり、コンパイル済みのデータをブロック RAM に追加する際に問題が発生します。

Sections:
Idx Name Size VMA LMA File off Algn
0 .vectors 00000000 ffffc000 ffffc000 000005e0 2**0
CONTENTS
1 .text 000001e8 ffffc000 ffffc000 000003e4 2**2
CONTENTS, ALLOC, LOAD, CODE
2 .rodata 00000002 f0000000 f0000000 000000b4 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
3 .fixup 00000014 f0000004 f0000004 000000bc 2**2
CONTENTS, ALLOC, LOAD, DATA
4 .got1 00000000 f0000018 f0000018 000005e0 2**0
CONTENTS
5 .got2 00000020 f0000018 f0000018 000000d0 2**2
CONTENTS, ALLOC, LOAD, DATA
6 .sdata2 00000000 f0000038 f0000038 000000f0 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
7 .sbss2 00000000 f0000038 f0000038 000005e0 2**0
CONTENTS
8 .data 000002f0 f0000038 f0000038 000000f0 2**3
CONTENTS, ALLOC, LOAD, DATA
9 .sdata 00000004 f0000328 f0000328 000003e0 2**2
CONTENTS, ALLOC, LOAD, DATA
10 .sbss 00000000 f000032c f000032c 000005e0 2**0

11 .bss 00000000 f000032c f000032c 000003e4 2**0
ALLOC
12 .boot0 00000010 ffffc1e8 ffffc1e8 000005cc 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
13 .boot 00000004 fffffffc fffffffc 000005dc 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
14 .eh_frame 00000000 f000032c f000032c 000005e0 2**0
CONTENTS
15 bss_stack 00000404 f000032c f000032c 000003e4 2**0
ALLOC
16 bss_heap 00000400 f0000730 f0000730 000003e4 2**0
ALLOC
17 .stab 00000f60 00000000 00000000 000005e0 2**2
CONTENTS, READONLY, DEBUGGING
18 .stabstr 000027dd 00000000 00000000 00001540 2**0
CONTENTS, READONLY, DEBUGGING
19 .comment 000000a2 00000000 00000000 00003d1d 2**0
CONTENTS, READONLY

MHS ファイルでは、DSOCM が 0xF0000000 となり、ELF ファイルには、このデータ エリアが含まれてしまいます。

この問題を回避するには、ブロック RAM インスタンスで Port A と Port B を交換し、DSOCM コントローラを Port A に接続します。この修正により、BMM ファイルのブロック RAM アドレスが 0xF0000000 になります。 修正後には、次のような BMM ファイルが生成されます。

ADDRESS_BLOCK exchange_memory RAMB16 [0xf0000000:0xf0003fff]
BUS_BLOCK
exchange_memory/exchange_memory/ramb16_0 [31:28] ;
exchange_memory/exchange_memory/ramb16_1 [27:24] ;
exchange_memory/exchange_memory/ramb16_2 [23:20] ;
exchange_memory/exchange_memory/ramb16_3 [19:16] ;
exchange_memory/exchange_memory/ramb16_4 [15:12] ;
exchange_memory/exchange_memory/ramb16_5 [11:8] ;
exchange_memory/exchange_memory/ramb16_6 [7:4] ;
exchange_memory/exchange_memory/ramb16_7 [3:0] ;
END_BUS_BLOCK;
END_ADDRESS_BLOCK;
AR# 22857
日付 12/15/2012
ステータス アクティブ
種類 一般
このページをブックマークに追加