• nios pio interrupt 的使能


    关于nios 中的中断,因为要16c550中需要nios的中断环境去测试,所以就用到了中断。

    硬件:在nios中添加硬件PIO,但是要使能中断功能。如下图所示:

    系统列化,PIO的连接就不说了。但是要注意两地方:edge type, IRQ type。

    接下来就是软件设计:

    使能相应的中断,IOWR_ALTERA_AVALON_PIO_IRQ_MASK(INTREP_BASE, 0xff);即相对应的MASK函数每一位1位使能。

    清中断标志位:IOWR_ALTERA_AVALON_PIO_EDGE_CAP(INTREP_BASE, 0xff);

    (注:在此时是0x00 还是 0xff清除中断标志, enable bit-clearing for edge capture register的选项。在此我是使能了,即0xff清除标志位。反则,0x00清除中断标志位)

    中断注册函数:

    alt_ic_isr_register(INTREP_IRQ_INTERRUPT_CONTROLLER_ID, //定义在system.h中
              INTREP_IRQ,    //定义在system.h中
              intrp_isr,    //中断服务子函数
              isr_context,    //空指针   void * isr_context
              0x0   //保留位,但是要写

             );

    对应中断服务子函数:

    void intrp_isr(void) {

    printf("have enter the isr ");
    IOWR_ALTERA_AVALON_PIO_EDGE_CAP(INTREP_BASE, 0xff) ; //清标志位

    (注:在此时是0x00 还是 0xff清除中断标志, enable bit-clearing for edge capture register的选项。在此我是使能了,即0xff清除标志位。反则,0x00清除中断标志位)
    。。。。。。。。。。。。。。

    。。。。。。。。。。。。。。。
    }

    到此软硬件,设计完毕。只要对应的PIO,发生中断的条件,在nios 中就会响应中断,进入中断服务子函数。

  • 相关阅读:
    filer jquery
    通过事件传参数
    spring 自动扫描bean
    springMvc
    jquery 自动完成
    webpack
    给数组对象中每个对象添加一个字段
    js对象的继承
    react项目中,点击跳转到详情页中,url中的地址有变化,但是页面没有进行跳转...
    ElementUI eltree 树形控件给节点添加图标
  • 原文地址:https://www.cnblogs.com/cornhill/p/3720943.html
Copyright © 2020-2023  润新知