Big Bug in CAN extended message TX, SRR bit

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Big Bug in CAN extended message TX, SRR bit

1,154 Views
zengxianke
Contributor II

Maybe a Big Bug  in S32SDK_S32K14x_EAR_0.8.[4,5,6] file flexcan_hw_access.c:

THIS LINE for ext message:

/* Clear SRR bit */
flexcan_mb_config &= ~CAN_CS_SRR_MASK;

CHANGE to 

/* Set SRR bit */

flexcan_mb_config |=  CAN_CS_SRR_MASK;

two Days Debug!!!  No sleep.

2 Replies

745 Views
alexandrunan
NXP Employee
NXP Employee

The usage of this bit as set determines the behave of the driver to trigger unwanted arbitration loss in case of miss use.

 

According to RM.

SRR - Substitute Remote Request

Fixed recessive bit, used only in extended format. It must be set to one by the user for

transmission (Tx Buffers) and will be stored with the value received on the CAN bus for

Rx receiving buffers. It can be received as either recessive or dominant. If FlexCAN

receives this bit as dominant, then it is interpreted as an arbitration loss.

1 = Recessive value is compulsory for transmission in extended format frames

0 = Dominant is not a valid value for transmission in extended format frames

0 Kudos

745 Views
PetrS
NXP TechSupport
NXP TechSupport

Hi,

thanks you for pointing this.

I will notify the SDK team.

BR, Petr