目标文件中函数的绝对地址

Absolute address of function in object file

我有 ARM Cortex-M 目标文件 (.o),其中包含以下代码:BL $testFunc。在同一个目标文件中,我还可以找到 testFunc 的实现。我可以获得程序执行期间调用的绝对地址吗?我只有目标文件

$testFunc 是一个未解决的 link。在确定绝对地址之前,您必须 link 包含 C 运行时和 MCU 初始化代码的目标文件以及任何其他依赖项(库单独的目标模块)。

编译器不知道目标的内存环境。 linker 获取单独的目标代码模块和 linker 脚本(定义内存映射)并解析 links 并定位代码和数据。

linker 可以输出一个 MAP 文件,其中将包含所有外部 linker 代码和数据项的绝对地址。