[uCOS/uCGUI] UCOSII在ARM移植时的,堆栈设置

gordon_yjh   2012-7-2 18:37 楼主
在初始化时设置堆栈

;设置系统模式堆栈
        MSR     CPSR_c, #0xdf
        LDR     SP, =StackUsr

在IRQ中断时,

        MSR     CPSR_c, #(NoInt | SYS32Mode)    ; 切换到系统模式
        CMP     R1, #1
        LDREQ   SP, =StackUsr
        
        BL      $IRQ_Exception_Function         ; 调用c语言的中断处理程序

这里都使用StackUsr,是不是有冲突啊?


[ 本帖最后由 gordon_yjh 于 2012-7-3 09:45 编辑 ]

回复评论 (2)

求教版主
求教坛子里的各位热心大侠。
点赞  2012-7-3 09:46
应该没有冲突吧。。。当中断发生时,TASK上下文保存在UserSTACK中,所以也不能进行任务切换了。。和LINUX不一样。。。LINUX有专门的中断STACK
点赞  2012-7-20 11:11
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复