1 / 9
文档名称:

ARM 向量中断机制在uClinux 下的设计与实现.docx

格式:docx   页数:9
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

ARM 向量中断机制在uClinux 下的设计与实现.docx

上传人:799474576 2013/7/30 文件大小:0 KB

下载得到文件列表

ARM 向量中断机制在uClinux 下的设计与实现.docx

文档介绍

文档介绍:puter Applications Vol. 22 , No. 3 ,2006 开发应用微型电脑应用 2006 年第 22 卷第 3 期
文章编号:1007 - 757X(2006) 03 - 0018 - 04
ARM 向量中断机制在 uClinux 下的设计与实现
吴炜荣, 梁阿磊,王刚
摘要:在 ARM 体系结构中,硬件产生的外部中断( IRQ) 具有单一的程序入口。为了识别中籽源,进而运行对应的中断服务
例程( ISR) ,程序需读取中断悬挂寄存器,获得中断号。在这种方式中,程序必须通过软件方法对中断悬挂寄存器的每一位进行
比较,直到找到中断源为止,效率较低。本文移植了基于 2. 6. 11 内核的 uClinux[1 ] ,在此基础上设计了一套向量中断机制,并基于
ARM7TDMI 架构的 S3C44BOX 处理器,实现了这套向量中断机制。结果表明,这套机制可以大规模地减少外部中断的响应时间。
关键词:ARM ;uClinux ;向量中断;S3C44BOX
中图分类号:TP316 文献标识码:A
1 简介
近年来,基于 ARM 架构的处理器凭借其强大的处理能
力,较低的功耗以及低廉的价格在嵌入式领域得到广泛应用。
Linux 由于其免费, 开源的特点, 受到越来越多用户的欢迎。
在基于 ARM 体系结构的 Linux 版本中, 有两个分支,ARM -
Linex 及 uClinux ,目前两者都已并入 Linux 主流开发树。ARM

个过程可以由图 1 表示。
2 向量中断机制
向量中断并不是一个新的概念,是指在中断产生同时,处
理器已经获知产生中断的原因[3 ] 。它与非向量中断主要区别
在于:是否需要查询中断号。在 Intel 的 IA - 32 架构中,在实模
式下,最低端的 1K 内存存入的就是中断向量表,它是由 BIOS
ux 完全一样的功能。而 uClinux 是针对没有内存管理单元进行初始化的。在保护模式下,中断向量表被称为中断描述符
(MMU) 的处理器而设计的。由于没有 MMU 的保护等。但是表( Interrupt Description Table —IDT) , IDT 的首地址存储在 IDTR
汽硬件寄存器中[4 ] 。两种模式都采用向量中断机制。
用,这些处理器没有 MMU 的支持。在这些领域,使用 uClinux 在 ARM 中实现向量中断,第一种方式是设置一个专用的
能充分享有 Linux 的几乎所有的优点, 同时能降代系统的成可编程的硬件寄存器,由系统软件负责填充中断向量表,并把
本。该硬件寄存器的内容设置成中断向量表的首地址。第二种方
在 ARM 体系中,通常有 3 种方法控制指令的流程。程序式无需专用的硬件寄存器,外部中断产生后处理器根据中断
顺序执行,程序跳转和出现异常。异常有复位( Reset) 、定义源产生一个固定的偏移,在特定的地址写入特定的处理代码,
指令(Undefined Instruction) 、软件中断( Software Interrupt SWI) 、不如第一种方式灵活但设计简单。在第二种方式下,每当外
部中断产生时,处理流程如图 2 所示。
[2 ]
时间。
的外部中断请求 IRQ 。
———
AR