根据vxworks开发手册以及相关文档的说明,bootrom应该加载到0x8000处,然后跳入入口点romInit处执行,而且romInit应该是bootrom代码段的第一条指令,那么romInit的入口地址应该也应该是0x8000。但是,用tornado2.0生成bootrom(压缩的)时,执行脚本显示:...........
..............
ld386 -o tmp.o -X -N -e _usrInit \
-Ttext 00008000 bootConfig.o version.o sysALib.o sysLib.o G:\tornado2\target\lib\l ibI80386gnuvx.a
...................................
ld386 -X -N -e _romInit -Ttext 00108000 \
-o bootrom romInit.o bootInit.o version.o \
G:\tornado2\target\lib\libI80386gnuvx.a bootrom.Z.o
G:\tornado2\host\x86-win32\bin\romsize 386 -b 00090000 bootrom
在上面的脚本中ld386 -X -N -e _romInit -Ttext 00108000 显示bootrom的入口点是_romInit,代码段起始地址时00108000,那岂不是指romInit的地址是0010800?好像有出入呀?不应该是8000么? 我很难理解到底是什么意思,还是我其他什么地方搞错了?
另外,在bootInit里面用到的宏BOOTCODE_IN_RAM是什么意思呀?
请高手指点呀,感激不尽!!