中断及中断服务程序.PDF

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中断及中断服务程序.PDF

中断及中断服务程序 HAL框架中的中断处理 当中断发生的时候,处理器暂停程序的正常执行并且暂时性地将控制权传递给指 定的中断服务程序 (ISR)。HAL框架使用单一的顶层异常处理程序来监视、协 调所有中断活动。 中断的处理包括三个基本任务: (1) 暂停当前程序的正常执行,保存当前的系统状态。 (2 ) 将控制权传给特定的异常处理程序。 (3 ) 恢复系统的状态,恢复程序的正常运行。 在HAL框架下,中断的处理包括三个组成部分: (1) Nios II处理器。 (2 ) ISR集合,每个ISR处理特定的硬件中断。 (3 ) 顶层异常处理程序,用于保存、恢复系统的状态以及分派适当的ISR。 基于中断的闪烁LED程序 因为顶层的异常处理程序负责了绝大多数的内务管理任务,在HAL框架下开发 ISR包括下面的步骤: (1) 在SOPC Builder中,选择适当的中断特性,并实例化I/O模块。 (2 ) 在SOPC Builder中,在IRQ列中分配IRQ的优先级。注:IRQ为0拥有最高 的优先级。 (3 ) 为设备创建ISR,包括清除中断状态的代码。 (4 ) 在系统初始化中注册ISR。 为了说明中断的使用和ISR的开发,下面将重新编写增强型闪烁LED程序,不同 之处在于这里采用了定制的中断驱动的定时器子程序。 定时器核的中断 定时器内核的中断操作涉及寄存器的两个位: • 控制寄存器的ITO位,这个位指示中断是否使能。 • 状态寄存器的TO位。当内部计数器减到0时,TO位被置为1,TO位保持置位状 态直到被处理器写0清除。TO被用作定时器的中断请求信号。 在LED闪烁系统中实例化了两个定时器模块,sys_timer模块在BSP中被配置成 系统时钟,usr_timer模块被配置成具有中断能力,在IRQ列中分配了IRQ号。 定时器核的驱动 定时器ISR的创建需要两个子程序的协助: • 初始化子程序将定时器配置为在一定的时间间隔产生中断请求。 • 清除当前中断请求的子程序。 前述课程中的timer_wr_prd()函数和timer_clear_tick()宏指令可被用于这个任务。 void timer_wr_prd(alt_u32 timer_base, alt_u32 prd) { alt_u16 high, low; high (alt_u16) (prd16); low (alt_u16) (prd 0x0000ffff); IOWR(timer_base, TIMER_ PRDH_ REG_OFT, high); IOWR(timer_base, TIMER_ PRDL_ REG_OFT, low); IOWR(timer_base, TIMER_CTRL_ REG_OFT, 0x0007); } 最后一行代码通过写1到控制寄存器的CONT,START和ITO位,设定计数器连续运 行模式,启动计数器运行,并使能定时器中断。 #define timer_clear_tick(base) IOWR(base, TIMER_STAT_ REG_OFT, 0) 这个宏指令用于清除状态寄存器的TO位。 中断和调度 嵌入式应用程序包含了众多任务的集合。与桌面应用程序不同之处在于, 嵌入式应用程序是连续运行永不终止的。顶层程序 (即,主程序)安排, 协调并管理这些任务。最简单的控制结构就是一个大的无限循环,在这 个循环中众多任务顺序地执行。这个大循环结构的伪代码为, main(){ sys_init(); 系统首先运行一次sys_init()函数完成初始化 while(1){ 的任务,然后进入无限循环依次地执行各个 task_ 1(); 任务函数。某些任务可能是受时间约束的并 task_2(); 且必须在特定的时间段内被处理。这种结构

文档评论(0)

tangtianxu1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档