Index: App/Services/SystemComm.c =================================================================== diff -u -r7d70e839bc71f6fc37da8cd12eecb374841882df -rd298a85322169dcc173c6197682864c2e9dbcd24 --- App/Services/SystemComm.c (.../SystemComm.c) (revision 7d70e839bc71f6fc37da8cd12eecb374841882df) +++ App/Services/SystemComm.c (.../SystemComm.c) (revision d298a85322169dcc173c6197682864c2e9dbcd24) @@ -86,7 +86,7 @@ // actually transmit any pending messages dataSize = getFromCommBuffer( COMM_BUFFER_CAN_HD_2_UI, data, sizeof(MESSAGE_WRAPPER_T) ); - if ( dataSize <= 8 ) + if ( dataSize > 0 && dataSize <= 8 ) { canTransmit( canREG1, canMESSAGE_BOX1, data ); } Index: HD.dil =================================================================== diff -u -r7d70e839bc71f6fc37da8cd12eecb374841882df -rd298a85322169dcc173c6197682864c2e9dbcd24 --- HD.dil (.../HD.dil) (revision 7d70e839bc71f6fc37da8cd12eecb374841882df) +++ HD.dil (.../HD.dil) (revision d298a85322169dcc173c6197682864c2e9dbcd24) @@ -1,4 +1,4 @@ -# RM46L852PGE 10/08/19 17:59:56 +# RM46L852PGE 10/08/19 19:07:07 # ARCH=RM46L852PGE # @@ -4268,7 +4268,7 @@ DRIVER.CAN.VAR.CAN_1_PORT_TX_DIR.VALUE=1 DRIVER.CAN.VAR.CAN_1_MESSAGE_5_EOB.VALUE=0x00000000 DRIVER.CAN.VAR.CAN_1_MESSAGE_5_DIR.VALUE=0x20000000 -DRIVER.CAN.VAR.CAN_1_MESSAGE_2_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_INT_ENA_REF.VALUE=0x00000000 DRIVER.CAN.VAR.CAN_3_MESSAGE_1_ENA.VALUE=0x00000000 DRIVER.CAN.VAR.CAN_3_RAM_PARITY_ENA.VALUE=0x00000005 DRIVER.CAN.VAR.CAN_3_PHASE_SEG.VALUE=3 @@ -4609,7 +4609,7 @@ DRIVER.CAN.VAR.CAN_1_MESSAGE_35_BOOL_ENA.VALUE=0 DRIVER.CAN.VAR.CAN_1_MESSAGE_27_BOOL_ENA.VALUE=0 DRIVER.CAN.VAR.CAN_1_MESSAGE_19_BOOL_ENA.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_2_INT_ENA.VALUE=0x00000400 +DRIVER.CAN.VAR.CAN_1_MESSAGE_2_INT_ENA.VALUE=0x00000000 DRIVER.CAN.VAR.CAN_2_PORT_TX_DOUT.VALUE=1 DRIVER.CAN.VAR.CAN_2_MESSAGE_31_RTR.VALUE=0x00000000 DRIVER.CAN.VAR.CAN_2_MESSAGE_23_RTR.VALUE=0x00000000 @@ -4988,7 +4988,7 @@ DRIVER.CAN.VAR.CAN_2_MESSAGE_7_MASK.VALUE=0x000007FF DRIVER.CAN.VAR.CAN_1_MESSAGE_59_ENA.VALUE=0x00000000 DRIVER.CAN.VAR.CAN_1_MESSAGE_2_BOOL_ENA.VALUE=1 -DRIVER.CAN.VAR.CAN_1_MESSAGE_1_INT_ENA.VALUE=0x00000800 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_INT_ENA.VALUE=0x00000000 DRIVER.CAN.VAR.CAN_3_MESSAGE_50_ID.VALUE=50 DRIVER.CAN.VAR.CAN_3_MESSAGE_42_ID.VALUE=42 DRIVER.CAN.VAR.CAN_3_MESSAGE_34_ID.VALUE=34 @@ -5119,7 +5119,7 @@ DRIVER.CAN.VAR.CAN_1_SYNC.VALUE=1 DRIVER.CAN.VAR.CAN_3_MESSAGE_11_INT_ENA_REF.VALUE=0x00000000 DRIVER.CAN.VAR.CAN_3_SHIFT.VALUE=0 -DRIVER.CAN.VAR.CAN_1_MESSAGE_1_INT_ENA_REF.VALUE=0x00000001 +DRIVER.CAN.VAR.CAN_1_MESSAGE_1_INT_ENA_REF.VALUE=0x00000000 DRIVER.CAN.VAR.CAN_3_PORT_RX_PULDIS.VALUE=0 DRIVER.CAN.VAR.CAN_3_MESSAGE_60_BOOL_ENA.VALUE=0 DRIVER.CAN.VAR.CAN_3_MESSAGE_52_BOOL_ENA.VALUE=0 Index: source/can.c =================================================================== diff -u -rbbd766eed69a6ae143a42731965848da85fd4500 -rd298a85322169dcc173c6197682864c2e9dbcd24 --- source/can.c (.../can.c) (revision bbd766eed69a6ae143a42731965848da85fd4500) +++ source/can.c (.../can.c) (revision d298a85322169dcc173c6197682864c2e9dbcd24) @@ -198,7 +198,7 @@ canREG1->IF1MSK = 0xC0000000U | (uint32)((uint32)((uint32)0x000007FFU & (uint32)0x000007FFU) << (uint32)18U); canREG1->IF1ARB = (uint32)0x80000000U | (uint32)0x00000000U | (uint32)0x20000000U | (uint32)((uint32)((uint32)1U & (uint32)0x000007FFU) << (uint32)18U); - canREG1->IF1MCTL = 0x00001000U | (uint32)0x00000800U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U; + canREG1->IF1MCTL = 0x00001000U | (uint32)0x00000000U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U; canREG1->IF1CMD = (uint8) 0xF8U; canREG1->IF1NO = 1U; @@ -217,7 +217,7 @@ canREG1->IF2MSK = 0xC0000000U | (uint32)((uint32)((uint32)0x000007FFU & (uint32)0x000007FFU) << (uint32)18U); canREG1->IF2ARB = (uint32)0x80000000U | (uint32)0x00000000U | (uint32)0x00000000U | (uint32)((uint32)((uint32)2U & (uint32)0x000007FFU) << (uint32)18U); - canREG1->IF2MCTL = 0x00001000U | (uint32)0x00000400U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U; + canREG1->IF2MCTL = 0x00001000U | (uint32)0x00000000U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U; canREG1->IF2CMD = (uint8) 0xF8U; canREG1->IF2NO = 2U; Index: source/sys_link.cmd =================================================================== diff -u -r765d2c35118e202444e737c66c77faf9678cc87e -rd298a85322169dcc173c6197682864c2e9dbcd24 --- source/sys_link.cmd (.../sys_link.cmd) (revision 765d2c35118e202444e737c66c77faf9678cc87e) +++ source/sys_link.cmd (.../sys_link.cmd) (revision d298a85322169dcc173c6197682864c2e9dbcd24) @@ -57,7 +57,7 @@ VECTORS (X) : origin=0x00000000 length=0x00000020 FLASH0 (RX) : origin=0x00000020 length=0x0013FFE0 STACKS (RW) : origin=0x08000000 length=0x00001500 - RAM (RW) : origin=0x08001500 length=0x0002EB00 + RAM (RW) : origin=0x08001500 length=0x0002eb00 /* USER CODE BEGIN (2) */ /* USER CODE END */ Index: source/sys_startup.c =================================================================== diff -u -r879f01d26ef663cceccf14963c09f53e72c13cec -rd298a85322169dcc173c6197682864c2e9dbcd24 --- source/sys_startup.c (.../sys_startup.c) (revision 879f01d26ef663cceccf14963c09f53e72c13cec) +++ source/sys_startup.c (.../sys_startup.c) (revision d298a85322169dcc173c6197682864c2e9dbcd24) @@ -119,7 +119,19 @@ * by its ECC logic for accesses to program flash or data RAM. */ _coreEnableEventBusExport_(); +/* USER CODE BEGIN (9) */ +/* USER CODE END */ + /* Enable response to ECC errors indicated by CPU for accesses to flash */ + flashWREG->FEDACCTRL1 = 0x000A060AU; + +/* USER CODE BEGIN (10) */ +/* USER CODE END */ + + /* Enable CPU ECC checking for ATCM (flash accesses) */ + _coreEnableFlashEcc_(); + + /* USER CODE BEGIN (11) */ /* USER CODE END */