ucOS-II基于ARM920T的中断处理过程
2008-11-04 22:05
267 查看
程序清单:ucOS-II基于ARM920T的中断处理过程 |
UCOS_IRQHandler//中断入口地址,在中断向量表初始化时被设置 /* 此时已处于中断模式(在ARM处理器中,当中断发生时,CPU自动保存CPSR到SPSR_irq,并切换到中断模式),因此sp为中断模式下的栈指针(如上所说,ARM具有中断模式栈) */ ;保存现场,先将任务的现场保存到中断栈中 stmfd sp!,{r0-r3,r12,lr} ;调用相关函数 bl OSIntEnter bl C_IRQHandler ;调用OSIntExit函数,该函数判断是否有更高优先级的任务进入就绪 bl OSIntExit ;if(OSIntCtxSwFlag == 1) _IntCtxSw() ldr r0,=OSIntCtxSwFlag ldr r1,[r0] cmp r1,#1 ;有更高优先级的任务进入了就绪状态,则进行中断级的任务切换,返回执行新的任务 beq _IntCtxSw /*不进行任务切换,返回被中断的任务*/ ;恢复现场 ldmfd sp!,{r0-r3,r12,lr} ;下面的指令令pc = lr-4实现中断返回,同时将spsr_irq的值复制到CPSR,实现模式切换(即返回到用户模式) subs pc,lr,#4 |
相关文章推荐
- ucOS-II基于ARM920T的OSCtxSw实现分析
- Linux内核中断处理过程分析-基于arm平台
- ucOS-II基于ARM920T的OSIntCtxSw实现分析
- Linux内核中断处理过程分析-基于arm平台
- ARM 中断处理过程
- Linux kernel的中断子系统之(六):ARM中断处理过程
- Linux中断 - ARM中断处理过程
- ARM中断处理过程
- uCOS2中的中断处理过程
- 一种基于uCos-II操作系统和lwIP协议栈的IEEE-1588主站以及基于该主站的报文处理方法
- ARM中断处理过程
- ARM中断处理过程
- Linux kernel的中断子系统之(六):ARM中断处理过程
- Linux kernel的中断子系统之(六):ARM中断处理过程
- ARM linux的中断处理过程
- ARM的中断处理过程
- 基于S5PV210的中断处理的过程和代码分析
- ARM异常---一个Uart中断的触发处理过程:
- uCOS2中的中断处理过程
- 基于ARM的简单的嵌入式web服务器(ucos-ii)中文