• ADS中Image$$RO$$Limit之类的数是怎么算的?


    最近在看优龙270的bootloader——boot270,这个bootloader只能既能boot wince也能boot linux,是英特尔自己写的,优龙修改的。

    boot270里面跟uboot一样也要进行内存搬移,搬移的时候就需要用到Image$$RO$$Limit之类的数据。

    带$$的变量是ADS的保留变量,在ADS link guide中能够看到,在源文件中是没有的,好像在link的时候产生的。
    看了网上讲的关于Image$$RO$$Limit怎么算的文章:

    http://z86k.blog.163.com/blog/static/90796156201002511040829/

    网上大部分是这个版本

     

    说是:

    |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,这与上面计算的结果不符合,不知道到底哪个正确?

     

  • 相关阅读:
    OAF_文件系列8_实现OAF处理Excel的JXL包详解
    OAF_文件系列7_实现OAF处理Excel的JXL包介绍(概念)
    OAF_文件系列6_实现OAF导出XML文件javax.xml.parsers/transformer(案例)
    Kafka SSL安装与配置
    如何构建推荐系统
    Flink消费Kafka到HDFS实现及详解
    Kafka网络模型和通信流程剖析
    Kafka日志压缩剖析
    Kafka Eagle安装详情及问题解答
    Kafka幂等性原理及实现剖析
  • 原文地址:https://www.cnblogs.com/yanhc/p/2175244.html
Copyright © 2020-2023  润新知