我有一个armv7板,但我看到了差异。
在我的板文件中,我定义了:
#define CONFIG_SYS_TEXT_BASE 0x67000004
构建u-boot二进制文件后,我运行
nm u-boot | grep -w _start
它返回以下内容:
67000020 T_start
_start
有谁知道为什么和的值有差异CONFIG_SYS_TEXT_BASE
?我以为他们是一样的,如果有错误请纠正我。
相关来源是start.S和u-boot.lds 链接器脚本。假设它CONFIG_SYS_TEXT_BASE
作为起始地址传递给链接器,那么前面可以有各种段。例如,许多Rom 加载器需要一个标头来描述或验证图像。Ref1 这可能出现在_start
符号之前(或之后)。
我以为他们是一样的,如果有错误请纠正我。
你错了。它们并不总是相同的。给定特定的SOC和u-boot版本,它们可能是相同的。
Ref1:这将是.__image_copy_start
引用的链接描述文件中的部分。