什么" ENTRY"是什么意思在链接器脚本?

时间:2016-11-15 09:50:33

标签: linker microcontroller elf entry-point

我开始学习为微控制器编写一些低级软件,并且我已经开始研究链接器脚本。

在这种情况下,我并没有真正理解ENTRY命令的含义。由于大多数微控制器在预定地址开始执行,它在链接器脚本中选择哪个入口点有什么区别?

2 个答案:

答案 0 :(得分:1)

入口点定义程序的起点。这当然是非常好的信息。通过这种方式,Flash工具可以知道 flash 代码的位置,还有调试工具知道符号所在的位置。

答案 1 :(得分:1)

C是一个ELF功能,基本上只是在可执行文件的ELF头中设置程序入口地址。此地址可能与二进制文件的第一个可执行段的起始地址不同(如果未定义ENTRY(),则该地址将是默认执行地址。)

是否使用此信息(即,是否在第一个代码段地址或ENTRY()处发生执行)是链接器无法控制的,因为它完全取决于ELF加载程序的可用性和功能。

由于你通常在微控制器上没有这样的东西,ENTRY()在那里几乎没用,你也可以省略这个陈述。