在中断API调用上构建错误-Altera-Intel社区-FPGA CPLD-ChipDebug

在中断API调用上构建错误

如果应用程序项目安装了调用alt_irq_register()函数的ISR,则可能会发现构建错误。

Nios II EDS 9.1版支持Nios II处理器上的可选外部中断控制器(EIC)接口。为了支持EIC接口,HAL包括增强的中断API。

创建BSP时,SBT会确定系统中的器件驱动程序支持哪些中断API。如果BSP中的所有已注册驱动程序都将自己标识为支持增强型API,则SBT会实施增强型API。版本9.1及更高版本中的所有Altera器件驱动程序都支持增强的API。

实施增强型API后,旧版中断API(包括alt_irq_register()不可用。因此,如果应用程序代码包含对遗留API函数的调用,则会发生链接器错误。

此问题可能会影响直接调用alt_irq_register()或其他传统中断API函数的应用程序项目,而不是依赖于BSP中的驱动程序以获得中断支持。

如果您的Nios II应用程序项目的源代码使用alt_irq_register()注册ISR,或者包含ISR,则由于对alt_irq_register()未定义引用,或者更改了对应用程序,您的应用程序可能无法在Nios II EDS版本9.1中编译。 ISR功能原型。

解决/修复方法

修改应用程序代码以使用新的增强中断API。要使用增强型API,必须修改多个函数调用和所有ISR函数原型。

有关支持增强型中断API的信息,请参阅Nios II软件开发人员手册异常处理章节,或AN 595:向量中断控制器的使用和应用

如果您希望在硬件设计中使用EIC来加速中断响应时间,则必须升级到增强型API。增强型API也适用于Nios II处理器的内部中断控制器。

请登录后发表评论

    没有回复内容