• 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 中就会响应中断,进入中断服务子函数。

  • 相关阅读:
    WebFrom与MVC异同
    MVC解决WebFrom的缺点
    转载ORM--EF框架
    转载 HashSet用法 合交并差
    用户管理模块数据库设计
    外键的增删改查练习
    索引:如何让主键不自动创建聚集索引???
    SQL-类型转换函数
    SQL-union
    SQL字符串函数
  • 原文地址:https://www.cnblogs.com/cornhill/p/3720943.html
Copyright © 2020-2023  润新知