您的位置:首页 > 其它

移植u-boot-2010.09到S3C2440(四)——通过BSS段和_start判断uboot大小

2012-04-16 17:28 302 查看

BSS(百度百科)

  是“Block Started by Symbol”的缩写,意为“以符号开始的块”。

  BSS是Unix链接器产生的未初始化数据段。其他的段分别是包含程序代码的“text”段和包含已初始化数据的“data”段。BSS段的变量只有名称和大小却没有值。此名后来被许多文件格式使用,包括PE。“以符号开始的块”指的是编译器处理未初始化数据的地方。BSS节不包含任何数据,只是简单的维护开始和结束的地址,以便内存区能在运行时被有效地清零。BSS节在应用程序的二进制映象文件中并不存在。

uboot代码块占用存储空间大小

查看u-boot.lds,其将BSS放在所有代码段的最后,又从上述得知BSS不占用存储空间,这样,将BSS段的地址减去_start的地址就是u-boot整个镜像的大小。这里_start按照我的理解是从u-boot.lds中获得的,该标记在整个u-boot代码的最开始。
并且,这两个标记的位置都是静态获得的,就是说,代码编译之后就已经固定了的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: