求助:
我最近在编写TMS320DM8148的DSP代码时遇到了个问题。想通过中断获取EDMA传输结束状态,可是在使用Hwi_create函数后,Hwi_create函数阻塞在哪里不继续运行,代码如下
#define EDMA_COMPLETION_HWI_ID 20
void hwi_init(Error_Block *err)
{
Hwi_Params hwiParams;
DEBUG("---> hwi init !\r\n");
Hwi_Params_init(&hwiParams);
hwiParams.arg = EDMA_COMPLETION_HWI_ID;
hwiParams.eventId = EDMA_COMPLETION_HWI_ID;
hwiParams.enableInt = FALSE;
DEBUG("---> hwi_create ! !\r\n");
hwi0 = Hwi_create(EDMA_COMPLETION_HWI_ID, completion_hwi_handle, &hwiParams, err);
if (hwi0 == NULL) {
DEBUG("Hwi create failed");
}
DEBUG("hwi create ok !\r\n");
}
DEBUG是我通过串口实现的printf功能,在串口中只能看到 ---> hwi init ! 和 ---> hwi_create的打印,然后程序就不继续执行了,在.cfg 文件中使用的xdc.useModule("ti.sysbios.family.c64p.Hwi"); 头文件包含的是#include <ti/sysbios/family/c64p/Hwi.h>。
我使用的EZSDK5.05.2.00,代码是通过修改syslink的example编译和运行的。
因为刚接触TMS320DM8148,所以对这个问题毫无头绪,望大家多多帮忙解决这个问题,谢谢!