Hi,
We have a customer who is trying to use CCP and other CAN communication for an application scenario.
His problem is other CAN message which are executed from interrupt context are overwriting the CCP message content in the CAN IFx register.
So going by customer debugging, the CCP data is populated in the CAN IFx register to be transferred to message RAM, but during this time an interrupt in the system executes other CAN transmit blocks which happen to overwrite this CCP data in the IFx register and basically corrupt it.
So my question is: Is this scenario possible? Does TI ship an example which showcases how to setup the code to write to IFx register in case of competing process for the IFx registers.
How can we avoid this overwriting of content in IFx register by a process of higher priority which can preempt a process with lower priority that is still in the process of updating the IFx registers.
One suggestion I plan to give customer is to use CAN-A module for CCP and rest with CAN-B. But I am not sure if customer is Ok with that.
Hence I need to understand more on this topic. Please can anyone help.