Windows CE应用程序可以用Visual Studio开发两种不同的应用程序。Microsoft Mobile Information工具套件(MMIT)允许开发人员建立thin client应用程序,它可以在其访问设备的基础上用来传送信息。而Windows CE内建浏览器以及使用WAP的移动电话都可以使用已经建立的这种应用程序。 大多数Windows CE设备不需要full-time的互联网连接,而且也没有本地的Web服务器,所以保留主ASP.NET应用程序以及Web服务没有多大意义。当然,这并没有限制设备的Web服务能力,只是限制了它们充当主机的能力。由于EVC和EVB工具套件没有提供表格控件,所以开发者不得不创建自己的控件,因此如果用.NET编程无疑在这个方面简化了不少时间。 CF集成了ADO.NET和SQL Server/CE。只要开发者熟悉如何在完全版.NET框架下用VB.NET或者C#开发数据库应用程序,那么就可以在Windows CE下用同样的技巧来开发应用程序。
IRQHandler中断处理: IRQHandler就是中断处理句柄,IRQ在外部中断源在需要向处理器请求服务时发生,比如:时钟、外围器件FIFO上/下溢出、按键等等。 NESTED_ENTRY IRQHandler | Sub
Lr, Lr, #4 | //保存将要用到的寄存器和Lr压入STACK_IRQ | Stmfd
sp!, {r0-r3, r12, Lr} | PROLOG_END | 将要用到的寄存器压入STACK_IRQ,这样就完成了准备工作。 | //Test interlocked API status. | //INTERLOCKED_START EQU USER_KPAGE+0x380 | //INTERLOCKED_END EQU USER_KPAGE+0x400 | sub
r0, Lr, #INTERLOCKED_START | cmp
r0, #INTERLOCKED_END-INTERLOCKED_START | bllo
CheckInterlockedRestart |
以上内容是关于互锁的检测。如果中断发生在互锁API的执行过程中,需要专门的处理。 这些API都是放在INTERLOCKED_START和INTERLOCKED_END之间的,通过Lr很容易就检查出是否是INTERLOCKEDXXX的过程。 …… | CALL
OEMInterruptHandler | ldmfd
sp!, {r1} | ldmfd
sp!, {lr} | msr
cpsr_c, #IRQ_MODE:OR:0x80 | ldmfd
sp!, {r1} | msr
spsr, r1 | ldr
lr, =KData | //时间片已到,进行调度 | cmp
r0, #SYSINTR_RESCHED | beq
%F10
| //是否设备中断,中断号是否有效 |
|