- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
个人收集整理 仅供参考学习
个人收集整理 仅供参考学习
PAGE / NUMPAGES
个人收集整理 仅供参考学习
引 言????嵌入式实时系统要求系统有很好地实时性,能够及时处理各种异常事件,因此中断系统是嵌入式实时系统地重要组成部分,其时间和空间性能对嵌入式实时系统性能地影响至关重要.要想缩短嵌入式实时系统地中断响应时间并提高系统中断处理效率,合理地设计中断系统非常关键.S3C44BOX是三星公司基于ARM7TDMI内核地微处理器,支持IRQ和FIQ中断请求,同时还支持向量中断,以缩短中断响应时间.嵌入式实时操作系统μC/OS-II提供了简单地中断管理机制对系统中断进行统一管理,但是对于不同地微处理器没有给出具体地中断处理方法.本文在深入分析S3C448OX中断控制系统和μC/OS-II中断管理机制地基础上,进行中断系统设计,使之能更好地满足实际应用地需求.
1 S3C4480X中断系统????图1所示为S3C44BOX地中断系统结构框图.中断控制器地任务是在片内外围和片外中断源组成地多重中断发生时,经过优先级判断、选择其中一个中断;通过IRQ或FIQ向ARM7内核发出IRQ或FIQ中断请求,ARM7内核从中断控制器中获取中断信息,然后对中断进行处理,控制中断设备地操作过程.
??? 当ARM7内核接收到中断控制器地中断请求时会自动执行以下几步操作,以实现中断环境保护和程序跳转:??? ①将程序状态寄存器CPSR地内容保存到将要执行地中断模式地程序状态保存寄存器SPSR中,以实现对处理器当前状态、中断屏蔽位和各条件标志位地保存.??? ②设置当前CPSR中地相应位,屏蔽相应中断并切换处理器模式.??? ③将引起中断指令地下一条指令地地址(断点地址)保存到中断模式地子程序链接寄存器LR中,使中断服务程序执行完后能正确返回原程序.??? ④给程序计数器PC强制赋值,使程序从相应地向量地址开始执行中断服务程序.??? 当中断服务程序执行完后,需要执行以下几步操作从中断服务程序中返回:??? ①从中断模式堆栈中恢复所有修改过地通用寄存器(RO~R12).??? ②将中断模式SPSR寄存器地内容复制到CPSR中,恢复被中断模式程序地工作状态.??? ③将LR地内容赋给PC,使PC返回到相应地指令处.??? ④清除CPSR中地中断禁止标志位.??? 在中断返回地过程中,②和③需要同时完成.b5E2RGbCAP
2 μC/OS-II中断处理过程????μC/OS-II提供了函数OSIntEnter()和OSIntExit(),用于中断处理.函数OSIntEnter()通知操作系统进入中断服务程序,函数OSIntExit()在中断服务程序返回时进行相应地处理.μC/OS-II地中断响应过程如图2所示.进入中断服务程序时,首先将全部CPU寄存器存入当前任务栈,然后调用函数OSIntEnter(),或者将中断嵌套层数计数器,即全局变量OSIntNesting直接加1,通知μC/OS-II进入中断服务程序,执行用户代码进行中断服务.中断服务完成后调用函数OSIntExit(),将变量OSIntNesting减1.当OSIntNesting减到O时,所有中断执行完毕,此时μC/OS-II要判断是否有优先级较高地任务被中断服务程序唤醒.如果有优先级高地任务进入就绪态,μC/OS-II就返回到优先级高地任务执行;否则,返回到当前任务继续执行.p1EanqFDPw
??? 通过对μC/OS-II中断处理过程地分析可知,μC/OS-II只是提供了简单地中断管理机制,对于中断进入时地中断环境保护、中断退出时地中断环境恢复、中断嵌套处理和堆栈分配等问题没有给出具体地处理方法.另外,对于不同地处理器,其中断处理地方法也不一样,所以在不同地处理器上移植μC/OS-II后,要根据处理器地具体特点,进行中断系统地设计.DXDiTa9E3d
3 中断系统设计????在中断系统设计过程中,所有地IRQ中断纳入操作系统地管理范围,由操作系统统一管理;FIQ中断独立于操作系统之外,不受操作系统管理.因此,中断系统地设计包括两部分:IRQ中断和FIQ中断.3.1 中断系统结构????S3C44BOX提供了IRQ和FIQ两种中断方式.ARM中设计FIQ中断是为了在快速处理地场合使用,但是进入操作系统进行管理地任何中断都需做一些同样地前期准备工作和后期结束工作,包括为被中断地任务保存环境等.如果把FIQ中断纳入操作系统进行管理,则FIQ中断地优势并不明显,因此,在中断系统地设计过程中没有将FIQ中断纳入操作系统地管理范围,而是由用户单独进行FIQ中断服务程序地设计.??? S3C4480X针对IRQ中断方式,提供了向量中断方式,这样在中断发生时可以
原创力文档


文档评论(0)