CONFIG_SYS_TEXT_BASE和_start之间的区别

时间:2013-10-09 00:55:51

标签: kernel arm u-boot

我有一个 armv7 板,我看到了一个差异。

在我的电路板文件中,我定义了:

#define CONFIG_SYS_TEXT_BASE 0x67000004

在我构建 u-boot 二进制文件之后,我运行了

nm u-boot | grep -w _start

它返回了以下内容:

  

67000020 T _start

有谁知道为什么_start的值存在差异 和CONFIG_SYS_TEXT_BASE?我认为他们是一样的,拜托 如果错了,请纠正我。

1 个答案:

答案 0 :(得分:1)

相关来源是start.Su-boot.lds linker脚本。假设CONFIG_SYS_TEXT_BASE作为起始地址传递给链接器,之前可以有各种段。例如,许多 Rom加载器需要一个标题来描述或验证图像。 Ref1 这可能出现在_start符号之前(或之后)。

  

我认为他们是一样的,请纠正我,如果错的话。

你错了。它们总是相同。鉴于特定的 SOC u-boot 版本,他们可能相同。

Ref1:这将是引用的链接描述文件中的.__image_copy_start部分。