当前位置:  技术问答>linux和unix

中断服务程序不能写HPIC

    来源: 互联网  发布时间:2016-04-07

    本文导语:  void  DSPClearHInt(unsigned int DSPx)   //写HPIC清除中断 {  char Status;  char lowbyte;  Status=DSPHostRead(DSPx,HPIC,FIRST);  lowbyte=DSPHostRead(DSPx,HPIC,SECOND);  printk (KERN_ALERT "high byte is %02x low byte is %02xn",Status,lowbyte );  DSPHostWrite(DSPx,(Status...

void  DSPClearHInt(unsigned int DSPx)   //写HPIC清除中断
{
 char Status;
 char lowbyte;
 Status=DSPHostRead(DSPx,HPIC,FIRST);
 lowbyte=DSPHostRead(DSPx,HPIC,SECOND);
 printk (KERN_ALERT "high byte is %02x low byte is %02xn",Status,lowbyte );
 DSPHostWrite(DSPx,(Status|CLEAR_HINT),HPIC,FIRST);
 DSPHostWrite(DSPx,(Status|CLEAR_HINT),HPIC,SECOND);
}

static irqreturn_t dsp5416_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
 unsigned long flag=0;
 int i;
 local_irq_save(flag);                                                
 DSPClearHInt(dev->dspx);                 //写HPIC清除中断
 printk( "interrupt number is %dn",irq);
 local_irq_restore(flag);
 return IRQ_HANDLED;
}

我是arm9200,linux2.6.13,与dsp5416连接的是外部中断IRQ3,中断号28
问题1:我在中断服务函数中清HPIC,也就是dsp的中断标志,清除不掉,但是我在write方法中调用DSPClearHInt(dev->dspx);就可以清除中断,为什么?
问题2:我在open中request_irq,在release中free_irq。为什么每次open会有一次中断?即使dsp不产生中断

|
关于问题2: 你的dsp中断 没有一个中断控制寄存器来控制是不是要触发中断--也就是中断使能?

    
 
 

您可能感兴趣的文章:

  • 问专家们 一个问题,为什么在中断嵌套过程中或者中断处理过程中不能发生进程的调度?
  • LINUX下系统调用是不能中断的,要怎么改造成可以中断系统调用?
  • 书上说,中断用自旋锁,进程,用信号量,但是,为什么中断不能用信号量?
  • 一个LINUX的驱动程序中,能不能注册多个中断?
  • 为什么中断不能用信号量?
  • 为什麽我的程序不能用 ^C 来中断?????????
  • 关于数的问题,数中的节点不能有中断吗,一定要连续吗?急。。
  • 中断不能响应
  • 在linux上怎么编写一个模块来提供某个中断的中断处理程序呢?而且有哪些中断可以自己添加中断处理程序呢?
  • 傻傻得问,如果两个设备共享一个中断线,中断响应程序怎么区分?
  • 求教:一进程执行过程中被同一外部中断程序大量反复中断会不会引起内核栈溢出?
  • 检测不到中断,无法进入中断处理程序。
  • 含中断的驱动程序唤醒进程的问题?
  • 数据库 iis7站长之家
  • cpu是怎么找到中断程序的堆栈的?
  • s3c2410中断模块跟应用程序之间通信问题
  • 求一linux下串口中断的程序
  • 关于《LINUX设备驱动程序 第三版》里面的中断部分的问题
  • 在Linux应用程序模式下如何设置中断!!!
  • 在中断服务程序里可以进行文件的读写操作么?
  • 如何才能中断程序的执行?
  • 求一个软中断程序
  • 求高手指点,中断服务子程序到底是个什么啊?
  • 请问在JSP中如何中断程序的执行,类似asp的response.end
  • 在程序中如何设定可用^C或^D中断进程 ??????
  • 怎样中断程序?
  • linux在setup.s里将system代码从10000处移到地址0后,原来驻留在地址0的BIOS中断程序去哪了?
  • 关于中断处理程序的一点疑惑?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux 系统中的中断是不是没有中断优先级
  • 请问软件中断的中断号与端口号是什么关系?
  • 中断上下文,进程上下文 ,内核抢占,用户抢占,中断
  • 求助,ADS调试中断2440无法进入中断服务。。。
  • 除零中断那些中断是怎么工作的?
  • kernel 什么时候可以中断 什么时候不可以中断
  • 在Linux驱动中如何开中断和关中断?
  • 中断延迟和中断响应、调度延迟的关系?谁来讲讲?
  • linux内核中的中断向量号是如何与硬件的中断Pin关联的?
  • ucosII 移植到arm 用ads,关于关中断、开中断
  • linux中断处理 如何调用内核的中断操作
  • 关于中断共享的问题:ADC 与触摸屏的中断共享
  • Linux驱动中注册的中断号与实际的硬件中断号的关系
  • 中断函数用法的问题
  • 内核会丢中断吗?
  • 为什么这个中断会一直响应呢????
  • 中断的问题???
  • 中断是怎么调度的?
  • 关于linux内核中中断处理的问题
  • 提问:PCI中断是如何映射的?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3