Chinaunix首页 | 论坛 | 博客
  • 博客访问: 148184
  • 博文数量: 43
  • 博客积分: 3000
  • 博客等级: 中校
  • 技术积分: 601
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-22 17:24
文章分类
文章存档

2010年(43)

我的朋友

分类: LINUX

2010-12-13 14:13:34

(纯是笔记,这个我想除了我,大家都看不明白的,所以别花时间点了)


一、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 优先级,配置普通中断的优先级

优先级:嵌套的优先级和同时执行先执行那个的优先级


阅读(907) | 评论(0) | 转发(0) |
0

上一篇:嵌入式

下一篇:经典的动漫歌曲

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