lastnight 发表于 2012-6-11 17:45:36

请教下外部中断函数中EnterCritical(&r) ExitCritical(&r)的含义

   在学习外部中断函数时,这两个看不懂,源程序为:
EnterCritical   
        mrs        r1, cpsr
        str        r1,
        orr        r1, r1, #NOINT
        msr        cpsr_cxsf, r1               
        MOV_PC_LR
;restore cpsr, r0 = address to restore cpsr       
        EXPORT        ExitCritical
ExitCritical
        ldr        r1,
        msr        cpsr_cxsf, r1       
        MOV_PC_LR       
能不能帮忙分析下,将这两行删除掉不影响中断,那么他们的作用是什么,谢谢!

TQ-lkp 发表于 2012-6-12 12:07:51

那两句是临界保护的,是为了保护共享资料的,你当前的程序没问题,一旦出现并发就会出现问题了

lastnight 发表于 2012-6-13 15:44:54

谢谢,暂时理解不了,做个标记,查下资料。
页: [1]
查看完整版本: 请教下外部中断函数中EnterCritical(&r) ExitCritical(&r)的含义