没有合适的资源?快使用搜索试试~ 我知道了~
arm,s3c2410中文,详细介绍各个模块,ARM,嵌入式系统,中断控制原理
需积分: 9 12 下载量 177 浏览量
2009-07-15
19:30:01
上传
评论 1
收藏 1.83MB DOC 举报
温馨提示
试读
12页
arm,s3c2410中文,详细介绍各个模块,ARM,嵌入式系统,中断控制原理。很难从同学那里弄到。
资源推荐
资源详情
资源评论
第十四章 中断控制器
概述
S3C2410 中断控制器接收 56 个中断源的中断请求。中断源由如 DMA 控制器、
UART、IIC 等内部外设提供。这些中断源中,UARTn 和 EINTn 中断是以或逻辑输
入到中断控制器的。
当从内部外设和外部中断请求引脚接收到多个中断请求时,经过中断仲裁后,
中断控制器向 ARM920T 请求 FIQ 或者 IRQ 中断。
仲裁过程与硬件优先级有关,仲裁结果写入中断请求寄存器。中断请求寄存器
帮助用户确定哪个中断产生。
中断控制器操作
程序状态寄存器 PSR 中的 F 位和 I 位
如果 PSR 中的 F 位被置 1,CPU 不接收 FIQ 快速中断,同样如果 I 位 PSR 被置
1,CPU 不接收 IRQ 中断,因此中断控制器能够通过将 PSR 的 F 和 I 位和相应的
INTMSK 中的位清零来接收中断。
中断模式
ARM920T 有两种中断模式:FIQ 和 IRQ。在中断请求时所有的中断源决定使用
哪个模式。
中断请求寄存器
S3C2410 有两种中断请求寄存器:源请求寄存器(SRCPND)和中断请求寄存器
(INTPND)。这些请求寄存器揭示了一个中断是否正在请求。当中断源请求中断服
务时 SRCPND 寄存器中的相应位肯定被置 1,然而,中断仲裁之后则只有 INTPND
寄存器的某 1 位被自动置 1。即使该中断被屏蔽,SRCPND 寄存器中的相应位也会
被置 1,但是 INTPND 寄存器将不会改变。当 INTPND 寄存器的某位被置 1,且 I
位或者 F 位清零时中断服务即开始。SRCPND 和 INTPND 寄存器能够被读和写,
因此服务函数必须通过向 SRCPND 和 INTPND 中相应位写入“1”来清除中断请求条
件。
中断屏蔽寄存器 INTMSK
通过中断屏蔽寄存器的哪个屏蔽位被置 1 可以知道哪个中断被禁止。如果
INTMSK 的某个屏蔽位为 0,此中断将会被正常服务。如果中断源产生了一个请求,
SRCPND 中的源请求位被置位,即使相应屏蔽位为 1。
中断源
下表列出了中断控制器支持的 56 个中断源
中断优先级产生模块
其中 32 个中断请求的优先级逻辑有由个 rotation based 仲裁位组成:6 个一级仲
裁位和一个二级位,如图 14-2 所示。
中断优先级
每个仲裁器可以处理 6 个中断请求,基于一位仲裁器模式(ARB_MODE)和两位
选择信号(ARB_SEL):
— 如果 ARB_SEL 位为 00B,优先级顺序是:REQ0, REQ1, REQ2, REQ3,
REQ4, and REQ5。
— 如果 ARB_SEL 位为 01B,优先级顺序是:REQ0, REQ2, REQ3, REQ4,
REQ1, and REQ5.
— 如果 ARB_SEL 位为 10B,优先级顺序是:REQ0, REQ3, REQ4, REQ1,
REQ2, and REQ5
— 如果 ARB_SEL 位为 11B,优先级顺序是:is REQ0, REQ4, REQ1, REQ2,
REQ3, and REQ5.
剩余11页未读,继续阅读
资源评论
xieren58
- 粉丝: 1
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功