Hello,
I am developing the CAN node on AM3359 Sitara ICEv2 board. I have merged the starterware DCAN Rx Tx example with the SYS/BIOS and the example works properly to send the CAN messages.
The CAN reception also works fine but I can receive only 3 CAN messages after that the CAN messages are not getting received. This I suppose because I configured 3 message objects. I want to understand how the CAN communication works in AM335x.
I referred the TRM of AM335x but it is still not clear for me. Can someone share a good document to explain what all things need to be configured for CAN communication and how these message objects are used?
From my understanding, we need to do the following:
1. Place DCAN in Initialization mode
2. Set the bit time
3. Configure the message object
4. Place DCAN in Normal mode.
Now my question is once the message object is configured to receive the message and the ISR is called in normal mode to indicate message is received then do we invalidate that particular message object in ISR? If the message object is invalidated then will it receive the next CAN message? Do we have to configure everytime for a new CAN message to receive?
For every CAN write/Tx, do we have to configure the message object?
Working with the version: processor_sdk_rtos_am335x_4_00_00_04 and pdk_am335x_1_0_7
regards
Mohit