当前位置: 代码迷 >> VxWorks >> 求binArrayStart跟binArrayEnd的定义的线索
  详细解决方案

求binArrayStart跟binArrayEnd的定义的线索

热度:154   发布时间:2016-04-28 11:35:14.0
求binArrayStart和binArrayEnd的定义的线索
问题描述:
大家好。我最近在修改Boot程序。在bootinit.c文件中有如下定义:
IMPORT UCHAR binArrayStart []; /* compressed binary image */
IMPORT UCHAR binArrayEnd []; /* end of compressed binary image */
IMPORT char etext []; /* defined by the loader */
IMPORT char end []; /* defined by the loader */
IMPORT UCHAR wrs_kernel_data_start [];   /* defined by the loader */
IMPORT UCHAR wrs_kernel_data_end [];    /* defined by the loader */
关于etext、end、wrs_kernel_data_start、wrs_kernel_data_end,我都能在E:\Tornado2.2\target\h\tool\diab\ldscripts\ link.rom中找到定义。但是唯独找不到binArrayStart和binArrayEnd的定义。我几乎找遍了关于链接器相关的脚本文件,就是找不到关于binArrayStart和binArrayEnd的一点线索。
看到很多资料里关于binArrayEnd和binArrayStart有如下描述:
rom镜像构成:镜像主要由code段,data段组成,bss段不占据空间
     ----------------
|--------------|  0xfffx xxxx = binArrayEnd
   |  subImage  |
   |--------------|  0xfffx xxxx = binArrayStart
   |    data       |
   |--------------|  0xfffx xxxx  = ROM_DATA_ADRS
   |    text        |
   |                  |  0xfff0 0008  = ROM_TEXT_ADRS
   -------------- -  0xfff0 0100  = ROM_BASE_ADRS
说binArrayEnd和binArrayStart之间是内存中vxWorks镜像加载的地方。但是binArrayStart和binArrayEnd的具体值是什么,我希望在我Tornado的项目文件中看到。
请高手指点。

------解决思路----------------------
楼主 可以看看:

http://www.21ic.com/app/embed/200412/2465.htm
------解决思路----------------------
生成压缩镜像的时候binToAsm程序生成的,LZ可以随便找一个文件用binToAsm aaa > aaa.s,打开就可以看到了

:\Tornado22pentium\host\x86-win32\bin\binToAsm tmp.Z > vxWorks.Z.s

  相关解决方案
本站暂不开放注册!
内测阶段只得通过邀请码进行注册!
 
  • 最近登录:Mon Feb 27 07:33:10 CST 2017
  • 最近登录:Mon Feb 27 07:33:10 CST 2017
  • 最近登录:Mon Feb 27 07:33:10 CST 2017
  • 最近登录:Mon Feb 27 07:33:10 CST 2017
  • 最近登录:Mon Feb 27 07:33:10 CST 2017