次の手順で、ELF ファイルをデザイン内の
MicroBlaze™
プロセッサに関連付けることができます。ELF ファイルを関連付けることで、BRAM セットなどのメモリ ターゲットが設定されます。ELF ファイルの関連付けに必要な情報は、次のとおりです。
- 読み込む ELF ファイルのディレクトリ
- ELF ファイルが格納されるメモリ位置へのマスター インターフェイスからアクセス可能なアドレス空間
- ELF ファイルが格納され、実行時にアクセスされるメモリを表すアドレス空間内のマッピングされたペリフェラル。
重要: このフローでは、MicroBlaze プロセッサを含むデザイン階層へのアクセス権、および既存の ELF ファイルが必要です。
このプロセスでは、ELF ファイル データの実際のターゲットである BRAM に対してではなく、MicroBlaze プロセッサ自体の SCOPED_TO_REF および SCOPED_TO_CELLS プロパティを使用します。
--advanced オプション で説明するように、v++
--link
プロセス中に --advanced.param
<param_name>=<param_value>
コマンドを使用すると、ELF ファイルを MicroBlaze プロセッサに関連付けることができます。次に、コンフィギュレーション ファイルの例を示します。
[advanced]
param=hw_emu.post_sim_settings=<file_path>/link.tcl
link.tcl では、次の例のように、ELF ファイルを Vivado Design Suite プロジェクトに追加し、シミュレーションで使用するために除外し、MicroBlaze プロセッサに関連付ける必要があります。
add_files <file_path>/executable.elf
set_property used_in_simulation 0 [get_files <file_path>/executable.elf]
set_property SCOPED_TO_REF base_microblaze_design [get_files -all \
-of_objects [get_fileset sources_1] {<file_path>/executable.elf}]
set_property SCOPED_TO_CELLS { microblaze_0 } \
[get_files -all -of_objects [get_fileset sources_1] {<file_path>/executable.elf}]
この情報を基に BMM ファイルが生成され、data2mem
などのプログラムが .mem ファイルを生成して、block_memory_generator
から生成される BRAM にデータを入力します。