您好,我在做仿真实验时,程序运行到IntDefaultHandler (void)函数,搜索是某个注册了中断某个中断没有关联具体事件,我的程序如下:
IntDSPINTCInit(); //cic中断配置,配置GPIO22的中断
IntGlobalEnable();
CICDisableGlobalHostInt(SOC_CIC_0_REGS);
CICEventMap(SOC_CIC_0_REGS,6,0);
CICEnableGlobalHostInt(SOC_CIC_0_REGS);
IntRegister(C66X_MASK_INT7, Pluse1);
IntEventMap(C66X_MASK_INT7, SYS_INT_CIC0_OUT0_20);
// 动态创建硬件中断
Hwi_Handle hwi0;
Hwi_Handle hwi1;
Hwi_Params hwiParams0 , hwiParams1;
Error_Block eb;
// 初始化错误块
Error_init(&eb);
// 使用默认值初始化参数
Hwi_Params_init(&hwiParams0);
Hwi_Params_init(&hwiParams1);
// 中断事件
hwiParams0.eventId = 72; //GPIO2同步信号1
hwiParams1.eventId = 73; //GPIO3同步信号2
// 传递到中断服务函数的参数
hwiParams0.arg = 0;
hwiParams1.arg = 0;
// 不允许该中断自身嵌套
hwiParams0.maskSetting = Hwi_MaskingOption_SELF;
hwiParams1.maskSetting = Hwi_MaskingOption_SELF;
// 使能中断
hwiParams0.enableInt = TRUE;
hwiParams1.enableInt = TRUE;
// 可屏蔽中断 4
hwi0 = Hwi_create(4, Syn0, &hwiParams0, &eb);
hwi1 = Hwi_create(5, USER0KEYIsr1, &hwiParams1, &eb);
if(hwi0 == NULL)
{
System_abort("Hwi1 create failed");
}
if(hwi1 == NULL)
{
System_abort("Hwi1 create failed");
}
参考的程序为的串口中断配置,请问中断配置的问题在哪里,谢谢
Nancy Wang:
具体流程请先参考以下链接看一下。
processors.wiki.ti.com/…/Configuring_Interrupts_on_Keystone_Devices