免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 797 | 回复: 0
打印 上一主题 下一主题

ADS中Image$$RO$$Limit之类的数是怎么算的? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 08:41 |只看该作者 |倒序浏览
最近在看优龙270的bootloader——boot270,这个bootloader只能既能boot wince也能boot linux,是英特尔自己写的,优龙修改的。
boot270里面跟uboot一样也要进行内存搬移,搬移的时候就需要用到Image$$RO$$Limit之类的数据。
带$$的变量是ADS的保留变量,在ADS link guide中能够看到,在源文件中是没有的,好像在link的时候产生的。
看了网上讲的关于Image$$RO$$Limit怎么算的文章:
网上大部分是这个版本
说是:
|Image$$RO$$Base| = Image entry point = 0x0c100000 ;表示程序代码存放的起始地址 |Image$$RO$$Limit|=程序代码起始地址+代码长度+1=0x0c100000+Tatal RO size+1
我的Image entry point = 0xA000 0000
代码编译情况:
      Code    RO Data    RW Data    ZI Data      Debug  
     57960     155433       4722       9699     250684   Grand Totals
======================================================
    Total RO  Size(Code + RO Data)               213393 ( 208.39kB)
    Total RW  Size(RW Data + ZI Data)             14421 (  14.08kB)
    Total ROM Size(Code + RO Data + RW Data)     218115 ( 213.00kB)
======================================================
按上面的方法计算的话应该是(218115d = 0x35403):
0xA000 0000+0x3 5403+1=0x0xA003 5404

但是我在工程的输出Image Symbol Table中看到:
    Global Symbols
    Symbol Name               Value            Ov Type        Size  Object(Section)
    Image$$RO$$Limit        0xa00341b4   Number         0      anon$$obj.o ABSOLUTE
    Image$$RW$$Base       0xa2000000   Number         0       anon$$obj.o ABSOLUTE

说明Image$$RO$$Limit=0xa00341b4,这与上面计算的结果不符合,不知道到底哪个正确?
 
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yanhc519/archive/2011/05/05/6396297.aspx
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP