(纯是笔记,这个我想除了我,大家都看不明白的,所以别花时间点了)
一、DMA方式的执行过程不需要经过CPU,但是申请和完成以后是需要CPU进行处理的
1.硬件裁决
CPU去决定去执行哪一个中断
2.中断向量表
二、中断的结构
1.寄存器
模式:表示想让中断工作在什么状态下(快速,慢速等)
屏蔽:
优先级:对于普通中断的优先级设置
挂起标志:哪个中断被触发
2.
带子中断
带子中断的中断被触发,挂起寄存器置位,还需要看是否被屏蔽
不带子中断
(ppt上的图分析明白,随后补充)
子中断:
快速中断和普通中可以嵌套,普通之间不存在嵌套
2440只支持两个两级嵌套
中断嵌套:只能再普通的时候嵌套快速中断
父子中断
3.中断向量表
异常这是4个字节为一个,就只能存一个跳转指令
七个异常表示的是cpu的工作模式,比如未定义就是协处理的模式(重点掌握)
start.s是用来干什么的?告诉cpu出现异常了怎么办?
一级向量表&二级向量表的地址是连续的
二级向量表只有32个入口地址,但中断却有60个,这就是父子中断的引入
在AXD工程的start.s中可以看到中断的表
基准加便宜来判断中断,硬件裁决机制来响应偏移寄存器,去判断到底是哪一个中断,而不是用switch去判断
中断源理解为只能是irq或者是fiq
srcpnd 同一时间可以被多个中断置位,可读可配置,读史用户读,配置是cpu进行配置,用户无法操作
intpnd 同一时间只能被一个中断置位
intofset 是中断号的存储
intmask 配置32个是否被屏蔽,默认是关闭的
intmod 表示中断工作在什么模式下
propity 优先级,配置普通中断的优先级
优先级:嵌套的优先级和同时执行先执行那个的优先级
阅读(938) | 评论(0) | 转发(0) |