你好,我目前打算把一个不跑BIOS的SRIO中断程序移植到一个BIOS的程序中。硬件中断使用的不是在SYSBIOS中配置的方式,目前遇到的问题是进入不了中断。
我的操作是在主函数初始化化中断,在asm文件中定义了中断函数 VEC_ENTRY SRIO_Doorbell_ISR ;interrupt 4
由于cmd文件和目标程序的cfg冲突(都存在会报错),因此在cfg文件中添加了: Program.sectMap[".vecs"] = "L2SRAM";
做完这些操作后,发现进入不了中断,FPGA能够接收到DSP发门铃,DSP远端地址能读到FPGA发来的数据。
Shine:
“在asm文件中定义了中断函数 VEC_ENTRY SRIO_Doorbell_ISR;interrupt 4”请问这是您自己写的中断向量表,sys/bios自带中断向量表,不需要再写,在HWI配置好中断函数就可以了。
user4645493:
回复 Shine:
这是我自己写的中断向量表。您说如果跑SYS/BIOS的情况下不需要自己写。由于我只是UDP用了BIOS,SRIO中断是自己写的,没有在cfg里面配,因此我之前的理解是中断不使用BIOS的情况下是需要自己写中断向量表的。根据您的回答,我是否可以这么理解:虽然在带BIOS的程序中可以不用HWI的方式配置硬件中断,但是必须在cfg里面配置。我看了这个帖子 e2echina.ti.com/…/45577其中回答 二 a和我目前的理解很相似。但是我想知道,在进行了帖子中的操作后,是否还需要像没有BIOS那样在主函数里面初始化硬件中断呢(包括中断映射、使能全局中断、使能硬件中断)。
Shine:
回复 user4645493:
BIOS HWI的配置请参考下面的wiki网站。
processors.wiki.ti.com/…/Configuring_Interrupts_on_Keystone_Devices