TI中文支持网
TI专业的中文技术问题搜集分享网站

AWR1843 CAN-FD 接收未注册ID 死机

最近调试can-fd ,在canfd回调函数中,如果接收到没有在CANFD_createMsgObject中注册的ID,则会在CANFD_getData中直接死机,如果canfd接收的帧ID是已经注册的就不会死。打印信息如下:

Exception occurred in ThreadType_Hwi.
Hwi handle: 0x0.
Hwi stack base: 0x800d0a0.
Hwi stack size: 0x1000.
R0 = 0xc6bf8eba R8 = 0x00000001
R1 = 0x0800dfbc R9 = 0x00000000
R2 = 0x0800dfc0 R10 = 0x00000005
R3 = 0x0800dfc4 R11 = 0xff500000
R4 = 0x0800dfbc R12 = 0x0800be14
R5 = 0x0800be98 SP(R13) = 0x0800df88
R6 = 0x0800cffc LR(R14) = 0x0000c401
R7 = 0x0800cff4 PC(R15) = 0x00011a3a
PSR = 0x800c019f
DFSR = 0x0000000d IFSR = 0x00000000
DFAR = 0xc6bf8ece IFAR = 0x00000000
ti.sysbios.family.arm.exc.Exception: line 205: E_dataAbort: pc = 0x00011a3a, lr = 0x0000c401.
xdc.runtime.Error.raise: terminating execution

     最后发现是驱动CANFD_getData 函数跑飞,请问这是什么问题造成的,怎么解决?

Chris Meng:

你好,

你能否使用driver下的CANFD测试代码来复现问题?驱动都有源码,你可以使用CCS来调试定位问题。

user1078382:

回复 Chris Meng:

你好! 后来我又测试了1642发现,如果使用sdk3.1或sdk3.3 测试fanfd,芯片接收未注册的ID同样会出现跑飞现象;但是,如果使用sdk2.1,测试1642 canfd功能,芯片接收未注册的ID则不会跑飞。对比几个版本sdk的canfd驱动源码,发现sdk2.1与sdk3.1 差别还是很多的,这是不是说明sdk3.1 以上版本,canfd驱动存在bug?

Chris Meng:

回复 user1078382:

你好,

建议你把该问题在我们的英文论坛上提问一下,相关驱动同事能更好的回答你的这个问题。
e2e.ti.com/…/1023

赞(0)
未经允许不得转载:TI中文支持网 » AWR1843 CAN-FD 接收未注册ID 死机
分享到: 更多 (0)