链接2个目标文件?

时间:2019-02-28 04:54:07

标签: assembly arm

我最近开始使用ARM汇编语言,并且已经将两个源文件model.s和v_bin.s分别汇编为model.o和v_bin.o。 v_bin.s包含一个子例程,而model.s包含调用代码。我希望将两个目标文件链接到一个可执行文件。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您需要使用.globl my_func导出符号my_func,以便其他文件可以调用您的my_func

然后,您可以通过将多个.o文件传递到通常用于将一个文件链接为二进制文件的文件,来进行正常链接。 (例如gcc或ld

答案 1 :(得分:0)

如果要链接这两个文件,则可以运行以下命令来完成此操作。假设您使用的是arm-none-eabi工具链,并且没有库依赖性。

arm-none-eabi-ld -T your-linker-script.ld -o "app.elf" v_bin.o model.o

http://www.martinhubacek.cz/arm/arm-cortex-bare-metal-assembly/stm32f0-cortex-m0-bare-metal-assembly是一个很好的资源,看看他创建的make文件

相关问题