初探WindowsCE异常和中断服务程序
时间:10-31
来源:互联网
点击:
形,就不必调度了,直接就可以返回产生异常的地方继续执行。在这里还要考虑套嵌(这里仅仅是指系统模式和兼管模式的异常套嵌)的情形,也就是中断/异常已经进入调度状态又再次产生中断/异常,这个时候就强行取消上一次调度,进而重新调度。这用于调度过程中遇到异常恢复和剥夺的情况,如果不属于这种情况的话就直接恢复寄存器状态并且返回中断点继续执行。
; Return to a non-preemptible privileged mode.
;
; (r0) = ptr to THREAD structure
; (r2) = target mode
30 msr cpsr,
r2
; switch to target mode
add r0, r0, #TcxR0
ldmia r0,
; reload all registers return
通过HandleException处理以后,已经完成了所有异常的处理,所以这里只是考虑反回的情况,由于这里不包含用户模式下的处理,所以这里处理的都是特权模式,完全可以访问kdata区域,这里就直接利用Kdata区域中的线程备份来完成恢复寄存器和返回。
服务 程序 中断 异常 WindowsCE 初探 相关文章:
- linux客户端访问samba服务器的指令(03-25)
- Linux操作系统下中文字体的安装(04-10)
- 如何优化Linux服务器硬盘性能实用技巧(07-10)
- 基于开源软件的嵌入式网络打印服务器(11-05)
- 大型商用服务器的三大系统架构(03-02)
- 基于SOA的RFID中间件设计(07-16)