ti专家你好:
我用的sysbios下,初始化了qmss cppi PA这三个函数没有任何修改就是ti源码直接调用过来,srio和ndk也是源码,目前状态是正常的,只用到一个task,可以正常接收到门铃 srio发数也是好的,但是一旦在代码里面加载一个定时器,模式是Timer_StartMode_USER,我这边打印就提示:
Error opening PA Tx queue
Tx setup failed
Error:Unable to register the EMAC
直接就卡死在ndk初始中的Nc_start中!
麻烦ti专家能给点思路如何解决这个问题!
JohnieSi1:
DSP6678mcsdk2.1.2.6ndk2.21.2.43 bios6.35.4.50
只要不加定时器 都是正常的 我的定时器这样Timer_Params timerParams;Timer_Handle Timer2;
Error_init(&eb);Timer_Params_init(&timerParams);
// 配置周期timerParams.period = 5000000;// 5 秒5000000timerParams.periodType = Timer_PeriodType_MICROSECS;timerParams.startMode =Timer_StartMode_USER;timerParams.intNum = 5;
// 实例化定时器Timer2 = Timer_create(15 , (Timer_FuncPtr)TimerIsr, &timerParams, &eb);if(Timer2 == NULL){System_abort("Timer create failed");}
我看到PA里面确实用到定时器 但是我这个定时器并没有在工程里面start啊怎么还报错?如果换成另外一种模式 还是同样的报错!
Shine:
回复 JohnieSi1:
timerParams.intNum = 5;请换一个中断号试试,是不是中断号冲突了?
JohnieSi1:
回复 Shine:
我都试过了 还是不行!!!!!!
Shine:
回复 JohnieSi1:
试过除了5,15号的中断吗?
JohnieSi1:
回复 Shine:
绑定其他中断的话,无法正常初始化完定时器!
ti.sysbios.family.c64p.Hwi: line 188: E_alreadyDefined: Hwi already defined: intr# 8
ti.sysbios.family.c64p.Hwi: line 263: E_handleNotFound: Hwi handle not found: 0x8001b358
xdc.runtime.Error.raise: terminating execution
Shine:
回复 JohnieSi1:
如果只使用timer中断,SRIO, NDK都关掉,timer能正常吗? 如果可以的话,说明timer的基本配置没问题,那就要逐步检查timer和NDK, SRIO中断是否有冲突。