altera alt_ic_isr_register没有返回

时间:2018-06-10 10:06:58

标签: intel-fpga irq

我使用DE2-115 fpga并使用qsys创建了一个硬件设计。 如果我在主板上运行c代码它工作正常。但是如果我调用alt_ic_isr_register 注册一个isr函数不返回。我使用正确的irq号码 如在qsys中定义并在system.h中生成为常量,我可以跟踪调试器中的失败。该函数调用实习生

static ALT_INLINE void ALT_ALWAYS_INLINE 
       alt_irq_enable_all (alt_irq_context context)
{
#if (NIOS2_NUM_OF_SHADOW_REG_SETS > 0) || (defined NIOS2_EIC_PRESENT) || \
    (defined NIOS2_MMU_PRESENT) || (defined NIOS2_MPU_PRESENT)
  alt_irq_context status;

  NIOS2_READ_STATUS (status);

  status &= ~NIOS2_STATUS_PIE_MSK;
  status |= (context & NIOS2_STATUS_PIE_MSK);

  NIOS2_WRITE_STATUS (status);
#else
  NIOS2_WRITE_STATUS (context);
#endif
}

它跳转到#else分支并调用NIOS2_WRITE_STATUS(context); 永远不会返回,我没有得到任何错误消息或任何东西。 有人有建议,我可以搜索问题或可能是什么问题?

尝试注册的irq来自USB cy7c67200控制器。如果我为uart注册irq,则不会发生问题。 我的硬件设计: enter image description here

0 个答案:

没有答案