Chinaunix首页 | 论坛 | 博客
  • 博客访问: 42824
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 330
  • 用 户 组: 普通用户
  • 注册时间: 2015-07-28 17:39
文章分类
文章存档

2015年(31)

我的朋友

分类: 嵌入式

2015-10-30 10:54:04

一.处理器对中断的管理及对栈的管理的重要性
1.1.中断是操作系统的入口,用户访问操作系统的途径是中断
1.2.实时系统对异步事件的处理依靠中断
1.3.任务调度依靠中断
1.4.系统调用的实现依靠中断
1.5.mmu中虚存的管理靠中断

二.
硬件中断:硬件引起,
软件中断:执行了中断指令,比如swi
异常:cpu内部运行引起的事件,由操作系统接管
2.1执行过程
硬件:CPSR-->SPSR, PC--->LR, 进入arm状态,设置正确的CPSR,切换到异常模式,禁止中断
软件:SPSR和LR入栈,保存中断中使用到的寄存器到堆栈中,允许中断嵌套时打开中断,中断服务程序执行完后恢复寄存器,弹出SPSR和LR.如果是汇编,需计算调整pc,参考中断地址返回计算

2.2 C中断处理

形式:返回和参数都是void
原则:快速和保护,不进行长时间的操作如浮点计算,不调用延时函数如printf,不使用阻塞的函数以及可能引起阻塞的函数,不调用不可重入函数,最好就是不调用函数(入出栈需要时间),将一些可以再中断外执行的代码放到中断程序外执行。
阅读(642) | 评论(0) | 转发(0) |
0

上一篇:协处理器cp15

下一篇:模块

给主人留下些什么吧!~~