ALIGN
AREA RamData, DATA, READWRITE
^ _ISR_STARTADDRESS
HandleReset # 4
HandleUndef # 4
HandleSWI # 4
HandlePabort # 4
HandleDabort # 4
1).这个^起什么作用的呢?
另外,
2). bootloader设定的中断向量表在启动win ce系统之后是不是就没用了?应该不会传给ce吧?
3). 那么是win ce在启动之后, 自己又重新设定了中断向量表?在哪个文件中设定的呢?又把向量表保存在哪了?
谢谢大家了……
1就是获得ISR_STARTADDRESS的地址。在ARM官文上有讲只是很细,比较难找
2 没有用了,进入CE后会重新初始化中断向量的。
3. 你看startup.s看他跳到哪里了就找到了。
我有翻ARM Architecture Reference Manual和ARM Developer Suite Assembler Guide,都没找到这个“^”是个啥作用……
HandleReset # 4
HandleUndef # 4
HandleSWI # 4
HandlePabort # 4
HandleDabort # 4
这几句是给每个标号分配四个字节的空间么
我在我这份2410bootloader中没找到有startup.s,在微软提供的eboot例子里面倒是有一个startup.s,最后跳到KernelStart了。
这个KernelStart是Nk.exe的入口?
不过还是没发现进入系统之后中断向量表保存字哪…… @_@
能不能明示一下下...
startup.s指的是OAL下的。
都说 1问难找了。我也是后来看到的。
1).这个^起什么作用的呢?
2). bootloader设定的中断向量表在启动win ce系统之后是不是就没用了?应该不会传给ce吧?
3). 那么是win ce在启动之后, 自己又重新设定了中断向量表?在哪个文件中设定的呢?又把向量表保存在哪了?
1.
^,是ARM汇编中的一个伪操作,和MAP是同义词,用来定义一个结构化的内存表的首地址。
#,也是一个伪操作,和FIELD是同义词,用来定义结构化的内存表中的一个数据域。
2.
CE会再初始化中断向量表。
3.
OAL的startup.s中会调用KernelStart,里面会设置向量表。可以参考%_WINCEROOT%\PRIVATE\WINCEOS\COREOS\NK\KERNEL\ARM\armtrap.s。