zwgmail 发表于 2015-1-15 22:24:04

u-boot.lds 问题请教

.bss_start __rel_dyn_start (OVERLAY) : {
                KEEP(*(.__bss_start));
                __bss_base = .;
        }
这个是什么意思呢。在system.map文件中,有这么一段内容
00020918 B __bss_base
00020918 B __bss_start
00020918 B monitor_flash_len
00020918 D __image_copy_end
00020918 D __rel_dyn_start
这里他们是怎么对应起来的。谢谢了!

zwgmail 发表于 2015-1-16 09:45:49

不要让帖子沉了,我顶

fengyuganyu 发表于 2015-1-16 13:38:01

lds是分散加载的一个文件,里面的环境变量值是编译时产生的,类似__bss_base

zwgmail 发表于 2015-1-16 14:22:36

fengyuganyu 发表于 2015-1-16 13:38
lds是分散加载的一个文件,里面的环境变量值是编译时产生的,类似__bss_base

你的意思是,上面的两种情况是没联系的吗?

fengyuganyu 发表于 2015-1-16 14:56:43

zwgmail 发表于 2015-1-16 14:22
你的意思是,上面的两种情况是没联系的吗?

.map文件是最终各个section和数据的地址表,两者有关系

zwgmail 发表于 2015-1-16 15:53:36

fengyuganyu 发表于 2015-1-16 14:56
.map文件是最终各个section和数据的地址表,两者有关系

那这里为什么__rel_dyn_start 和 __bss_start相等了。

fengyuganyu 发表于 2015-1-17 11:15:22

zwgmail 发表于 2015-1-16 15:53
那这里为什么__rel_dyn_start 和 __bss_start相等了。

那是这个域的数据是空的,所以地址相同
页: [1]
查看完整版本: u-boot.lds 问题请教