请问wince下的段地址如何查看
请教wince下的段地址怎么查看data.load.exe $REL\eboot.exe /nocode /reloc .text at 0x80039000 /reloc .
请教wince下的段地址怎么查看
data.load.exe $REL\eboot.exe /nocode /reloc .text at 0x80039000 /reloc .data at 0x80021000
这里0x80039000表示eboot在运行时代码段的地址;0x80021000表示eboot运行时数据段的起始地址。
这两个地址从哪里来的呢?
通过什么工具或者什么文件可以看到这个地址?谢谢
[解决办法]
不懂,up
[解决办法]
不懂,up
[解决办法]
WINCE自身规定的,微软已经划分好相应的空间了。编译过程中固定好的。
[解决办法]
可能在config.bib中设置的吧? (请高手指正)
[解决办法]
关注一下
[解决办法]
[解决办法][解决办法]1,是
2,是
3,pdata是存储程序的异常信息的(exception table)。这些信息程序发生异常或者调试时会用到。不过X86架构是没有的这些信息的。kdata是自定义段,由D:\WINCE500\PRIVATE\WINCEOS\COREOS\NK\KERNEL\ARM\armtrap.s中这句话定义:
AREA |.KDATA|,DATA,NOINIT
data段是放数据的,你设的不对不影响调试器解析代码,代码段设不对就不行了。
4,这个问题比较复杂,三两句话说不清楚。offset一般是指文件头到这段数据的偏移,或者record header到这段数据的偏移,应该是这两者中的一个,我没有仔细研究过是哪种。rsrc是资源数据段,比如说你用资源编辑器做了一个对话框,或者你有一个string table,这些都是资源,放在rsrc段里。
[解决办法]楼上说的太棒了。
在armtrap.s中定义了好多东西。以前我看都不知道干什么用的。
[解决办法]singlerace 说的很好
kdata是个数据段 存放的好像是KernelData
Module coredll.dll at offset 01ffe000 data, 03f71000 code
表示的两个地址是coredll.dll的VA,01ffe000是数据段的VA在Slot0,03f71000是代码段的VA在Slot1
dll对应不同的进程有相同的地址空间,代码段在RAM里是唯一的,数据段对不同进程都会有一个拷贝,所以分开加载
[解决办法]
singlerace 前辈 请指教
——————————————————————————————
看了makeimg.out,发现这个打包过程中写入的是虚拟地址信息
按照道理应该是物理信息才对啊。
以前我曾经也有这个疑惑,ADS写入的是物理地址的。
同样是开了MMU,差距挺大的。
并且,这个虚拟地址是直接和CPU联系在一起的。
CPU是通过地址重定位器和页表来完成访问外存的数据的,
这个bin文件是在内存运行的,它里面的地址信息是物理地址才对啊,
怎么搞的呢?弄成虚拟地址,大家来发发言啊。
请指教。
[解决办法]
[解决办法]mark
[解决办法]对于,程序来讲,使用虚拟地址还是物理地址是无所谓的,它也不关心。由于CE下的普通应用程序基本都工作在虚拟空间,所以这里涉及到的地址基本上都是虚拟地址。WinCE的设计决定了,没有MMU的CPU是不可能支持CE的。
[解决办法]不是很明白..
[解决办法]不懂
[解决办法] 一起学习》。
寒冰