使用microblaze时在SDK中遇到如下报错
"ERROR:EDK - intc () - Internal error: Num intr inputs 1 not the same as lengthof xget_interrupt_sources 0"
"ERROR:EDK:3416 - Error(s) while running TCL procedure generate()."
先说一下我的情况,我用的是ISE14.4套件,在XPS中构建microblaze,然后导出到SDK中进行软件开发。在XPS中添加了AXI Interrupt Controller中断控制器后,在SDK中编译bsp板级支持包出现了上述错误。
google了一下,http://forums.xilinx.com/t5/Embedded-Development-Tools/Xilkernel/td-p/420151中回答的比较靠谱,但是说的不清楚,只说需要更改端口没说怎么改,修改对应端口可以通过mhs文件也可以在XPS中的图形化窗口中修改。(不像连接中说的不能在图形界面中改)。
关于修改连接端口,http://www.xilinx.com/support/documentation/application_notes/xapp778.pdf中说的很清楚。
说一说我是怎么做的,如下图中所示,我需要将uart的中断口接到intc上,以为XPS会帮我做好,所以出错了。在下图的红框中选中你要连接的中断控制器上的中断信号,如果是多个信号的话照着上面的pdf中说的在mhs文件中改一下。