将 ELF 文件与 MicroBlaze 相关联 - 2023.2 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 简体中文
以下步骤可用于将 ELF 文件与设计中的 MicroBlaze™ 处理器加以关联。关联 ELF 文件会配置存储器目标,例如,一组 BRAM。ELF 文件关联所需的信息包括:
  • ELF 文件的加载位置
  • 将用于存储 ELF 文件的存储器位置,以及此位置可通过主接口来访问的地址空间
  • 地址空间内映射的外设,此地址空间所表示的存储器将用于存储 ELF 文件,并且在运行时可从中访问此文件
重要: 此流程要求您有权访问设计层级中包含 MicroBlaze 处理器和现有 ELF 文件的层次。

此进程使用 MicroBlaze 处理器本身的 SCOPED_TO_REF 和 SCOPED_TO_CELLS 属性,而不使用作为 ELF 文件数据的实际目标的 BRAM。

您可在 v++ --link 进程期间使用 --advanced.param <param_name>=<param_value> 命令将 ELF 文件关联到 MicroBlaze 处理器,如 --advanced 选项 中所述。配置文件示例如下所示。

[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。