如题,用仿真器发现进入ISR程序后,CPSR的I位变成1了。
还有个问题,进入中断ISR程序前的压栈动作在哪执行?保存的栈指针在哪里?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
如题,用仿真器发现进入ISR程序后,CPSR的I位变成1了。
还有个问题,进入中断ISR程序前的压栈动作在哪执行?保存的栈指针在哪里?
这个应该是为了防止多次中断重入,看你的需求来设置。
做中断响应的时候应该是有这些步骤,不过我也没仔细翻过是在哪里,建议你查一下system、utils这几个lib库里面是不是有这面的操作执行代码。
是的,我在system中找到了代码,在文件exceptionhandler.asm的IRQHandler()中,正在研究他的汇编程序。有个fpscr没看懂是什么寄存器。有没有AM335x的ARM寄存器的手册呢?
请查阅arm公司的网站,另外,直接baidu/google fpscr寄存器,中文资源很多
一般进入底层中断响应要做短暂的中断关开动作,防止同时响应同一中断源的中断。