MicroBlaze 连接器选项 - 2023.2 简体中文

Vitis 统一软件平台文档 嵌入式软件开发 (UG1400)

Document ID
UG1400
Release Date
2023-12-13
Version
2023.2 简体中文

适用于 MicroBlaze 软核处理器的 mb-ld 连接器可以在 GNU 编译器工具支持的选项的基础上提供额外选项。在本章中将对这些选项进行详细总结。

-defsym _TEXT_START_ADDR=value
默认情况下,输出代码的文本部分以基址 0x28 开头。使用 -defsym _TEXT_START_ADDR 选项可覆盖此设置。如果将该选项提供给 mb-gcc 编译器,那么输出代码的文本部分将从给定的值开始。

如果您想要使用编译器设置的默认起始地址,则不必使用 -defsym _TEXT_START_ADDR

这是连接器选项,应在单独调用连接器时使用。如果在 mb-gcc 流程中调用连接器,则必须使用以下选项:

-Wl,-defsym -Wl,_TEXT_START_ADDR=value
-relax
这是连接器选项,用于移除由汇编程序生成的所有不需要的 imm 指令。如果汇编程序阶段中无法计算指令所包含的中间值,汇编程序会为每条此类指令生成 1 个 imm 指令。其中大部分指令并不需要 imm 指令。提供 -relax 命令行选项时,连接器即可移除这些指令。

仅当连接器自行调用时,才需要该选项。通过 mb-gcc 编译器调用连接器时,将向连接器自动提供该选项。

-N
该选项用于将文本和数据部分设置为可读和可写。它不会对数据段执行页面对齐。仅限 MicroBlaze 程序才需要使用该选项。顶层 GCC 编译器调用连接器时会自动包含该选项,但如果想要在不使用 GCC 的情况下调用连接器,也可使用该选项。

MicroBlaze 连接器使用连接器脚本来向存储器分配各个部分。欲知详情,请参阅下一节。