This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/TMS570LS1227: canIsRxMessageArrived not working

Part Number: TMS570LS1227
Other Parts Discussed in Thread: HALCOGEN

Tool/software: Code Composer Studio

I am working on the CAN communication for TMS570LS1227 launchpad on CCS8. When implementing a simple CAN RX program following the CAN communication training. The program stuck at canIsRxMessageArrived() function because the returning flag is always 0. The CAN signal is emulated using CAN shield Arduino. Transmitting CAN messages from the launchpad to Arduino works.

#include <stdio.h>
#include "sys_common.h"
#include "can.h"
#include "gio.h"
#include "sci.h"

/* USER CODE END */

/* Include Files */

#include <stdio.h>
#include "sys_common.h"

/* USER CODE BEGIN (1) */
/* USER CODE END */

/** @fn void main(void)
*   @brief Application main function
*   @note This function is empty by default.
*
*   This function is called after startup.
*   The user can use this function to implement the application.
*/

/* USER CODE BEGIN (2) */
#define size 8

uint8_t txt[size] = {0};
uint32 error = 0;

uint32 checkPackets(uint8 *src_packet,uint8 *dst_packet,uint32 psize);
/* USER CODE END */

int main(void)
{
/* USER CODE BEGIN (3) */
    gioInit();
    canInit();
    sciInit();
    while(!canIsRxMessageArrived(canREG1, canMESSAGE_BOX1));
    canGetData(canREG1, canMESSAGE_BOX1, txt);

    sciSend(scilinREG,size,txt);
//    error = checkPackets(&tx_data[0],&txt[0],size);

    while(1);
/* USER CODE END */

}


/* USER CODE BEGIN (4) */

void canErrorNotification(canBASE_t *node, uint32 notification)
{

}


void canStatusChangeNotification(canBASE_t *node, uint32 notification)
{

}


void canMessageNotification(canBASE_t *node, uint32 messageBox)
{

}
void esmGroup1Notification(unsigned channel1){

}
void esmGroup2Notification(unsigned channel1){

}
void sciNotification(sciBASE_t *sci, unsigned flags){

}

The RX port from the CAN transceiver works, verified by probing using an oscilloscope. 

My HalcoGen driver generation follows the CAN communication training exactly. When I create the new CAN_RX project in CCS8 I selected TMS570LS1227 as my device instead of the RM4X.

Any advice would be helpful. Thanks