您的位置:首页 > 移动开发 > IOS开发

NIOS 的外部中断

2010-12-03 13:44 169 查看
  按照黑金的《NIOS 那些事儿》做到中断实验,编译时显示寄存器配置成功了,开始下到板子上灯是灭的,一阵狂按。。。还是不亮,在while(1)里面把LED->DATA 的赋值颠倒一下,再下载板子上亮的,又是一阵狂按。。。还是不灭,怎么?没进入中断?往后看有将怎么调试的,OK,调试看看,在 void ISR_button(void *context,unsigned long id)处设置断点,全速,按一下,好程序停在那里了,在全速,OK,灭了。反复几次。。。发现灯是一亮一灭的,看来不加按键消抖危害巨大啊。虽然有现象,但这个程序我没看懂,主要是 NIOS 处理中断的过程都没有理清楚。

  NIOS II 体系结构提供一个非常简单的非向量异常控制器来处理所有类型的异常。所有异常包括硬件中断,都引起处理器从异常地址开始执行程序。程序员可以在异常地址处判断异常产生的原因,并分配异常处理任务。异常地址在系统生成时指定。当跳转到异常处理地址后,处理器开始执行一段由 HAL 插入的代码,并判断中断源和中断优先级,然后再跳转到用户的中断服务子程序( ISR )中。即异常发生后,异常处理除 ISR 外的所有工作都由 HAL 系统库代码替用户完成。

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: