各位:
目前在ICE V2板子上进行EtherCAT从站开发。平台环境:CCS6.1.0,sysbios 6.41,XDC 3.30,在定时器初始化的时候,出现问题,下面是我定时器部分初始化的代码:
Task_Handle task;
Error_Block eb;
Timer_Params timerParams;
Timer_Handle myTimer;
System_printf("enter main() \n");
MMUInit(applMmuEntries);
boardType = UTILsDetectBoardType();
Error_init(&eb);
Timer_Params_init(&timerParams);
timerParams.period = 2000;
timerParams.periodType = Timer_PeriodType_MICROSECS;
timerParams.runMode = Timer_RunMode_CONTINUOUS; //one shot timer
timerParams.startMode = Timer_StartMode_USER; //user started ..!
myTimer = Timer_create(1, (Timer_FuncPtr)myHandler1, &timerParams, &eb);
if (myTimer == NULL) {
System_abort("Timer create failed");
}
编译正常,下载之后,单步执行,发现程序在运行到myTimer = Timer_create(1, (Timer_FuncPtr)myHandler1, &timerParams, &eb);时,进入load_exit()函数,弹出错误如下:
[CortxA8] 0x6000019f R8 = 0x80017f50
R1 = 0x00000000 R9 = 0x00000000
R2 = 0x00000008 R10 = 0x00000000
R3 = 0x800179b0 R11 = 0x80017f38
R4 = 0x8000d920 R12 = 0x48042000
R5 = 0x6000019f SP(R13) = 0x80009008
R6 = 0x80017b60 LR(R14) = 0x8000d8b4
R7 = 0x80017b60 PC(R15) = 0x80009008
PSR = 0x80017b60
DFSR = 0x00001808 IFSR = 0x00000000
DFAR = 0x48042038 IFAR = 0x00000000
ti.sysbios.family.arm.exc.Exception: line 205: E_dataAbort: pc = 0x80009008, lr = 0x8000d8b4.
xdc.runtime.Error.raise: terminating execution
请问有没有碰到类似问题的,或者TI技术支持帮忙排查一下,问题出在何处?
Yaoming Qin:
付工,
我给您的方法还是搞不定么?
谢谢!
zixin Fu:
回复 Yaoming Qin:
我现在先用clock实现了,timer还是不行。先进行其他的开发了,这个模块,有时间回头再看,谢谢秦工的支持!