We have a project is going to use CAN bus to communicate with some handheld device. We currently working on DM814x-EVM with ezsdk 5.04.00.11 in Linux environment. I have libsocketcan and canutils as test program. I have seen the d-can drive and can protocol were up during boot time.
CAN device driver interface
CAN bus driver for Bosch D_CAN controller 1.0
d_can d_can.0: pdev c052bec0 pdev->dev c052bec8 offset 0 clk dcan0_fck
d_can d_can.0: mem 0x481cc000
d_can d_can.0: d_can device registered (ndev= cc98b000, irq=52, irq_obj=53) base=0xfa1cc000
The steps that I run my test on the target were:
- ip link set can0 type can bitrate 50000
- ip link set can0 up
- candump can0 &
- cansend can0 -i 0x01 0xaa 0xbb
- Is this the right way to test can bus?
- Base on the DM814x TRM I've read ID_CAN_IF_MCTL_INTPND bit will be set when data frame is transferred, why do I need to set it in order to get tx interrupts?
- How do I get rx interrupts to work?