Index: firmware/DD.dil
===================================================================
diff -u -r8b8fff67b95805272f37855346d600599aaec03d -re14686745aa9e4650a3112d108be02ba89d0dd97
--- firmware/DD.dil (.../DD.dil) (revision 8b8fff67b95805272f37855346d600599aaec03d)
+++ firmware/DD.dil (.../DD.dil) (revision e14686745aa9e4650a3112d108be02ba89d0dd97)
@@ -1,4 +1,4 @@
-# RM46L852PGE 08/02/24 11:29:39
+# RM46L852PGE 08/07/24 14:30:57
#
ARCH=RM46L852PGE
#
@@ -3310,7 +3310,7 @@
DRIVER.CAN.VAR.CAN_1_MESSAGE_45_BOOL_ENA.VALUE=0
DRIVER.CAN.VAR.CAN_1_MESSAGE_37_BOOL_ENA.VALUE=0
DRIVER.CAN.VAR.CAN_1_MESSAGE_29_BOOL_ENA.VALUE=0
-DRIVER.CAN.VAR.CAN_1_MESSAGE_6_INT_ENA.VALUE=0x00000400
+DRIVER.CAN.VAR.CAN_1_MESSAGE_6_INT_ENA.VALUE=0x00000800
DRIVER.CAN.VAR.CAN_1_RAM_PARITY_ENA.VALUE=0x00000005
DRIVER.CAN.VAR.CAN_1_MESSAGE_59_RTR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_3_MESSAGE_64_DLC.VALUE=8
@@ -3397,8 +3397,8 @@
DRIVER.CAN.VAR.CAN_1_MESSAGE_30_ENA.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_22_ENA.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_20_INT_ENA.VALUE=0x00000000
-DRIVER.CAN.VAR.CAN_1_MESSAGE_14_ENA.VALUE=0x00000000
-DRIVER.CAN.VAR.CAN_1_MESSAGE_12_INT_ENA.VALUE=0x00000800
+DRIVER.CAN.VAR.CAN_1_MESSAGE_14_ENA.VALUE=0x80000000
+DRIVER.CAN.VAR.CAN_1_MESSAGE_12_INT_ENA.VALUE=0x00000400
DRIVER.CAN.VAR.CAN_3_MESSAGE_7_RTR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_2_MESSAGE_51_INT_LEVEL.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_2_MESSAGE_43_INT_LEVEL.VALUE=0x00000000
@@ -3415,7 +3415,7 @@
DRIVER.CAN.VAR.CAN_1_MESSAGE_22_DIR.VALUE=0x20000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_21_INT_ENA_REF.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_14_EOB.VALUE=0x00000080
-DRIVER.CAN.VAR.CAN_1_MESSAGE_14_DIR.VALUE=0x00000000
+DRIVER.CAN.VAR.CAN_1_MESSAGE_14_DIR.VALUE=0x20000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_13_INT_ENA_REF.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_AUTO_BUS_ON.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_2_MESSAGE_63_INT_ENA.VALUE=0x00000000
@@ -3430,7 +3430,7 @@
DRIVER.CAN.VAR.CAN_1_PORT_TX_PULDIS.VALUE=0
DRIVER.CAN.VAR.CAN_1_MESSAGE_30_BOOL_ENA.VALUE=0
DRIVER.CAN.VAR.CAN_1_MESSAGE_22_BOOL_ENA.VALUE=0
-DRIVER.CAN.VAR.CAN_1_MESSAGE_14_BOOL_ENA.VALUE=0
+DRIVER.CAN.VAR.CAN_1_MESSAGE_14_BOOL_ENA.VALUE=1
DRIVER.CAN.VAR.CAN_3_MESSAGE_7_INT_LEVEL.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_21_INT_LEVEL.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_13_INT_LEVEL.VALUE=0x00002000
@@ -3610,7 +3610,7 @@
DRIVER.CAN.VAR.CAN_1_MESSAGE_32_ENA.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_24_ENA.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_16_ENA.VALUE=0x00000000
-DRIVER.CAN.VAR.CAN_1_MESSAGE_5_INT_ENA.VALUE=0x00000800
+DRIVER.CAN.VAR.CAN_1_MESSAGE_5_INT_ENA.VALUE=0x00000400
DRIVER.CAN.VAR.CAN_1_MESSAGE_4_BOOL_ENA.VALUE=1
DRIVER.CAN.VAR.CAN_3_MESSAGE_9_RTR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_2_MESSAGE_51_ID.VALUE=51
@@ -3919,7 +3919,7 @@
DRIVER.CAN.VAR.CAN_1_MESSAGE_32_INT_LEVEL.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_24_INT_LEVEL.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_16_INT_LEVEL.VALUE=0x00000000
-DRIVER.CAN.VAR.CAN_1_MESSAGE_10_ID.VALUE=0x200
+DRIVER.CAN.VAR.CAN_1_MESSAGE_10_ID.VALUE=0x101
DRIVER.CAN.VAR.CAN_2_MESSAGE_31_DLC.VALUE=8
DRIVER.CAN.VAR.CAN_2_MESSAGE_23_DLC.VALUE=8
DRIVER.CAN.VAR.CAN_2_MESSAGE_15_DLC.VALUE=8
@@ -3981,7 +3981,7 @@
DRIVER.CAN.VAR.CAN_2_MESSAGE_10_INT_LEVEL.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_2_MESSAGE_5_RTR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_2_MESSAGE_1_INT_LEVEL.VALUE=0x00000000
-DRIVER.CAN.VAR.CAN_1_MESSAGE_11_ID.VALUE=0x402
+DRIVER.CAN.VAR.CAN_1_MESSAGE_11_ID.VALUE=0x102
DRIVER.CAN.VAR.CAN_1_NOMINAL_BIT_TIME.VALUE=16
DRIVER.CAN.VAR.CAN_3_MESSAGE_61_INT_ENA_REF.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_3_MESSAGE_53_INT_ENA_REF.VALUE=0x00000000
@@ -4001,7 +4001,7 @@
DRIVER.CAN.VAR.CAN_3_MESSAGE_8_INT_ENA.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_3_ENABLE.VALUE=1
DRIVER.CAN.VAR.CAN_2_MESSAGE_59_MASK.VALUE=0x000007FF
-DRIVER.CAN.VAR.CAN_1_MESSAGE_10_INT_ENA.VALUE=0x00000400
+DRIVER.CAN.VAR.CAN_1_MESSAGE_10_INT_ENA.VALUE=0x00000800
DRIVER.CAN.VAR.CAN_1_MESSAGE_3_ENA.VALUE=0x80000000
DRIVER.CAN.VAR.CAN_1_PIN_MODE.VALUE=1
DRIVER.CAN.VAR.CAN_2_MESSAGE_58_ID.VALUE=58
@@ -4031,12 +4031,12 @@
DRIVER.CAN.VAR.CAN_1_MESSAGE_46_MASK.VALUE=0x000007FF
DRIVER.CAN.VAR.CAN_1_MESSAGE_38_MASK.VALUE=0x000007FF
DRIVER.CAN.VAR.CAN_1_MESSAGE_21_BOOL_ENA.VALUE=0
-DRIVER.CAN.VAR.CAN_1_MESSAGE_13_BOOL_ENA.VALUE=0
+DRIVER.CAN.VAR.CAN_1_MESSAGE_13_BOOL_ENA.VALUE=1
DRIVER.CAN.VAR.CAN_3_MESSAGE_57_RTR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_3_MESSAGE_49_RTR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_2_MESSAGE_59_INT_LEVEL.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_20_ID.VALUE=20
-DRIVER.CAN.VAR.CAN_1_MESSAGE_12_ID.VALUE=0x403
+DRIVER.CAN.VAR.CAN_1_MESSAGE_12_ID.VALUE=0x103
DRIVER.CAN.VAR.CAN_2_MESSAGE_40_DLC.VALUE=8
DRIVER.CAN.VAR.CAN_2_MESSAGE_32_DLC.VALUE=8
DRIVER.CAN.VAR.CAN_2_MESSAGE_24_DLC.VALUE=8
@@ -4113,7 +4113,7 @@
DRIVER.CAN.VAR.CAN_2_MESSAGE_11_RTR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_2_MESSAGE_6_RTR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_21_ID.VALUE=21
-DRIVER.CAN.VAR.CAN_1_MESSAGE_13_ID.VALUE=13
+DRIVER.CAN.VAR.CAN_1_MESSAGE_13_ID.VALUE=402
DRIVER.CAN.VAR.CAN_1_MESSAGE_9_INT_LEVEL.VALUE=0x00000200
DRIVER.CAN.VAR.CAN_2_MESSAGE_40_EOB.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_2_MESSAGE_40_DIR.VALUE=0x20000000
@@ -4169,7 +4169,7 @@
DRIVER.CAN.VAR.CAN_3_MESSAGE_3_INT_LEVEL.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_30_ID.VALUE=30
DRIVER.CAN.VAR.CAN_1_MESSAGE_22_ID.VALUE=22
-DRIVER.CAN.VAR.CAN_1_MESSAGE_14_ID.VALUE=14
+DRIVER.CAN.VAR.CAN_1_MESSAGE_14_ID.VALUE=403
DRIVER.CAN.VAR.CAN_2_MESSAGE_41_DLC.VALUE=8
DRIVER.CAN.VAR.CAN_2_MESSAGE_33_DLC.VALUE=8
DRIVER.CAN.VAR.CAN_2_MESSAGE_25_DLC.VALUE=8
@@ -4267,7 +4267,7 @@
DRIVER.CAN.VAR.CAN_3_SAMPLE_POINT.VALUE=75.000
DRIVER.CAN.VAR.CAN_1_PORT_TX_DIR.VALUE=1
DRIVER.CAN.VAR.CAN_1_MESSAGE_5_EOB.VALUE=0x00000080
-DRIVER.CAN.VAR.CAN_1_MESSAGE_5_DIR.VALUE=0x20000000
+DRIVER.CAN.VAR.CAN_1_MESSAGE_5_DIR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_2_INT_ENA_REF.VALUE=0x00000001
DRIVER.CAN.VAR.CAN_3_MESSAGE_1_ENA.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_3_RAM_PARITY_ENA.VALUE=0x00000005
@@ -4396,7 +4396,7 @@
DRIVER.CAN.VAR.CAN_3_MESSAGE_14_EOB.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_3_MESSAGE_14_DIR.VALUE=0x20000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_6_EOB.VALUE=0x00000080
-DRIVER.CAN.VAR.CAN_1_MESSAGE_6_DIR.VALUE=0x00000000
+DRIVER.CAN.VAR.CAN_1_MESSAGE_6_DIR.VALUE=0x20000000
DRIVER.CAN.VAR.CAN_3_PORT_TX_PULDIS.VALUE=0
DRIVER.CAN.VAR.CAN_3_MESSAGE_61_BOOL_ENA.VALUE=0
DRIVER.CAN.VAR.CAN_3_MESSAGE_53_BOOL_ENA.VALUE=0
@@ -4669,7 +4669,7 @@
DRIVER.CAN.VAR.CAN_2_MESSAGE_47_INT_ENA_REF.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_2_MESSAGE_39_INT_ENA_REF.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_8_EOB.VALUE=0x00000080
-DRIVER.CAN.VAR.CAN_1_MESSAGE_8_DIR.VALUE=0x20000000
+DRIVER.CAN.VAR.CAN_1_MESSAGE_8_DIR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_3_MESSAGE_40_MASK.VALUE=0x000007FF
DRIVER.CAN.VAR.CAN_3_MESSAGE_32_MASK.VALUE=0x000007FF
DRIVER.CAN.VAR.CAN_3_MESSAGE_24_MASK.VALUE=0x000007FF
@@ -4721,7 +4721,7 @@
DRIVER.CAN.VAR.CAN_1_MESSAGE_44_RTR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_36_RTR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_28_RTR.VALUE=0x00000000
-DRIVER.CAN.VAR.CAN_1_MESSAGE_6_ID.VALUE=0x40
+DRIVER.CAN.VAR.CAN_1_MESSAGE_6_ID.VALUE=0x11
DRIVER.CAN.VAR.CAN_3_MESSAGE_41_DLC.VALUE=8
DRIVER.CAN.VAR.CAN_3_MESSAGE_33_DLC.VALUE=8
DRIVER.CAN.VAR.CAN_3_MESSAGE_25_DLC.VALUE=8
@@ -4791,7 +4791,7 @@
DRIVER.CAN.VAR.CAN_3_MESSAGE_12_RTR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_3_MESSAGE_12_INT_LEVEL.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_PORT_TX_PSL.VALUE=1
-DRIVER.CAN.VAR.CAN_1_MESSAGE_7_ID.VALUE=0x70
+DRIVER.CAN.VAR.CAN_1_MESSAGE_7_ID.VALUE=0x20
DRIVER.CAN.VAR.CAN_1_MESSAGE_4_RTR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_58_DLC.VALUE=8
DRIVER.CAN.VAR.CAN_3_MESSAGE_41_EOB.VALUE=0x00000000
@@ -4853,7 +4853,7 @@
DRIVER.CAN.VAR.CAN_1_MESSAGE_45_RTR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_37_RTR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_29_RTR.VALUE=0x00000000
-DRIVER.CAN.VAR.CAN_1_MESSAGE_8_ID.VALUE=0x80
+DRIVER.CAN.VAR.CAN_1_MESSAGE_8_ID.VALUE=0x21
DRIVER.CAN.VAR.CAN_3_MESSAGE_50_DLC.VALUE=8
DRIVER.CAN.VAR.CAN_3_MESSAGE_42_DLC.VALUE=8
DRIVER.CAN.VAR.CAN_3_MESSAGE_34_DLC.VALUE=8
@@ -4917,7 +4917,7 @@
DRIVER.CAN.VAR.CAN_1_MESSAGE_32_MASK.VALUE=0x000007FF
DRIVER.CAN.VAR.CAN_1_MESSAGE_24_MASK.VALUE=0x000007FF
DRIVER.CAN.VAR.CAN_1_MESSAGE_16_MASK.VALUE=0x000007FF
-DRIVER.CAN.VAR.CAN_1_MESSAGE_8_INT_ENA.VALUE=0x00000800
+DRIVER.CAN.VAR.CAN_1_MESSAGE_8_INT_ENA.VALUE=0x00000400
DRIVER.CAN.VAR.CAN_3_MESSAGE_41_ID.VALUE=41
DRIVER.CAN.VAR.CAN_3_MESSAGE_33_ID.VALUE=33
DRIVER.CAN.VAR.CAN_3_MESSAGE_25_ID.VALUE=25
@@ -4928,7 +4928,7 @@
DRIVER.CAN.VAR.CAN_1_MESSAGE_33_INT_LEVEL.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_25_INT_LEVEL.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_17_INT_LEVEL.VALUE=0x00000000
-DRIVER.CAN.VAR.CAN_1_MESSAGE_9_ID.VALUE=0x110
+DRIVER.CAN.VAR.CAN_1_MESSAGE_9_ID.VALUE=0x100
DRIVER.CAN.VAR.CAN_1_MESSAGE_5_RTR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_59_DLC.VALUE=8
DRIVER.CAN.VAR.CAN_1_SJW.VALUE=4
@@ -5213,7 +5213,7 @@
DRIVER.CAN.VAR.CAN_3_MESSAGE_8_EOB.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_3_MESSAGE_8_DIR.VALUE=0x20000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_10_EOB.VALUE=0x00000080
-DRIVER.CAN.VAR.CAN_1_MESSAGE_10_DIR.VALUE=0x00000000
+DRIVER.CAN.VAR.CAN_1_MESSAGE_10_DIR.VALUE=0x20000000
DRIVER.CAN.VAR.CAN_1_SAMPLE_POINT.VALUE=62.500
DRIVER.CAN.VAR.CAN_2_MESSAGE_51_BOOL_ENA.VALUE=0
DRIVER.CAN.VAR.CAN_2_MESSAGE_43_BOOL_ENA.VALUE=0
@@ -5430,7 +5430,7 @@
DRIVER.CAN.VAR.CAN_1_MESSAGE_20_EOB.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_20_DIR.VALUE=0x20000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_12_EOB.VALUE=0x00000080
-DRIVER.CAN.VAR.CAN_1_MESSAGE_12_DIR.VALUE=0x20000000
+DRIVER.CAN.VAR.CAN_1_MESSAGE_12_DIR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_2_MESSAGE_30_MASK.VALUE=0x000007FF
DRIVER.CAN.VAR.CAN_2_MESSAGE_22_MASK.VALUE=0x000007FF
DRIVER.CAN.VAR.CAN_2_MESSAGE_14_MASK.VALUE=0x000007FF
@@ -5528,7 +5528,7 @@
DRIVER.CAN.VAR.CAN_3_MESSAGE_2_BOOL_ENA.VALUE=0
DRIVER.CAN.VAR.CAN_1_MESSAGE_58_INT_ENA.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_1_MESSAGE_21_ENA.VALUE=0x00000000
-DRIVER.CAN.VAR.CAN_1_MESSAGE_13_ENA.VALUE=0x00000000
+DRIVER.CAN.VAR.CAN_1_MESSAGE_13_ENA.VALUE=0x80000000
DRIVER.CAN.VAR.CAN_3_MESSAGE_6_RTR.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_3_MESSAGE_2_INT_LEVEL.VALUE=0x00000000
DRIVER.CAN.VAR.CAN_2_MESSAGE_21_ID.VALUE=21
Index: firmware/DD.hcg
===================================================================
diff -u -r8b8fff67b95805272f37855346d600599aaec03d -re14686745aa9e4650a3112d108be02ba89d0dd97
--- firmware/DD.hcg (.../DD.hcg) (revision 8b8fff67b95805272f37855346d600599aaec03d)
+++ firmware/DD.hcg (.../DD.hcg) (revision e14686745aa9e4650a3112d108be02ba89d0dd97)
@@ -29,4 +29,849 @@
+
+
+
+ hal_stdtypes.h
+ include\hal_stdtypes.h
+
+
+ sys_common.h
+ include\sys_common.h
+
+
+ reg_system.h
+ include\reg_system.h
+
+
+ reg_flash.h
+ include\reg_flash.h
+
+
+ reg_tcram.h
+ include\reg_tcram.h
+
+
+ reg_vim.h
+ include\reg_vim.h
+
+
+ reg_pbist.h
+ include\reg_pbist.h
+
+
+ reg_stc.h
+ include\reg_stc.h
+
+
+ reg_efc.h
+ include\reg_efc.h
+
+
+ reg_pcr.h
+ include\reg_pcr.h
+
+
+ reg_pmm.h
+ include\reg_pmm.h
+
+
+ reg_dma.h
+ include\reg_dma.h
+
+
+ system.h
+ include\system.h
+
+
+ sys_vim.h
+ include\sys_vim.h
+
+
+ sys_core.h
+ include\sys_core.h
+
+
+ sys_mpu.h
+ include\sys_mpu.h
+
+
+ sys_pmu.h
+ include\sys_pmu.h
+
+
+ sys_pcr.h
+ include\sys_pcr.h
+
+
+ sys_pmm.h
+ include\sys_pmm.h
+
+
+ sys_dma.h
+ include\sys_dma.h
+
+
+ sys_selftest.h
+ include\sys_selftest.h
+
+
+ sys_core.asm
+ source\sys_core.asm
+
+
+ sys_intvecs.asm
+ source\sys_intvecs.asm
+
+
+ sys_mpu.asm
+ source\sys_mpu.asm
+
+
+ sys_pmu.asm
+ source\sys_pmu.asm
+
+
+ dabort.asm
+ source\dabort.asm
+
+
+ sys_pcr.c
+ source\sys_pcr.c
+
+
+ sys_pmm.c
+ source\sys_pmm.c
+
+
+ sys_dma.c
+ source\sys_dma.c
+
+
+ system.c
+ source\system.c
+
+
+ sys_phantom.c
+ source\sys_phantom.c
+
+
+ sys_startup.c
+ source\sys_startup.c
+
+
+ sys_selftest.c
+ source\sys_selftest.c
+
+
+ sys_vim.c
+ source\sys_vim.c
+
+
+ sys_main.c
+ source\sys_main.c
+
+
+ notification.c
+ source\notification.c
+
+
+ sys_link.cmd
+ source\sys_link.cmd
+
+
+ HL_Test.h
+
+
+ errata_SSWF021_45.h
+ include\errata_SSWF021_45.h
+
+
+ errata_SSWF021_45_defs.h
+ include\errata_SSWF021_45_defs.h
+
+
+ errata_SSWF021_45.c
+ source\errata_SSWF021_45.c
+
+
+ reg_pinmux.h
+
+
+ pinmux.h
+
+
+ pinmux.c
+
+
+ reg_rti.h
+
+
+ rti.h
+
+
+ rti.c
+
+
+ reg_gio.h
+
+
+ gio.h
+
+
+ gio.c
+
+
+ reg_sci.h
+
+
+ sci.h
+
+
+ sci.c
+
+
+ reg_lin.h
+
+
+ lin.h
+
+
+
+ reg_mibspi.h
+
+
+ mibspi.h
+
+
+ mibspi.c
+
+
+ reg_spi.h
+
+
+ spi.h
+
+
+
+ reg_can.h
+
+
+ can.h
+
+
+ can.c
+
+
+ reg_adc.h
+
+
+ adc.h
+
+
+ adc.c
+
+
+
+
+
+
+
+
+ std_nhet.h
+
+
+ reg_het.h
+
+
+ het.h
+
+
+ het.c
+
+
+ reg_htu.h
+
+
+ htu.h
+
+
+
+
+
+
+
+
+ reg_esm.h
+
+
+ esm.h
+
+
+ esm.c
+
+
+ reg_i2c.h
+
+
+ i2c.h
+
+
+
+ emac.h
+
+
+ hw_emac.h
+
+
+ hw_emac_ctrl.h
+
+
+ hw_mdio.h
+
+
+ hw_reg_access.h
+
+
+ mdio.h
+
+
+ phy_dp83640.h
+
+
+
+
+
+ reg_dcc.h
+
+
+ dcc.h
+
+
+
+ reg_pom.h
+
+
+ pom.h
+
+
+
+ usbcdc.h
+
+
+ usb_serial_structs.h
+
+
+ usbdcdc.h
+
+
+ usbdevice.h
+
+
+ usbdevicepriv.h
+
+
+ usb-ids.h
+
+
+ usblib.h
+
+
+ usb.h
+
+
+ hw_usb.h
+
+
+
+
+
+
+
+
+
+
+
+ reg_crc.h
+
+
+ crc.h
+
+
+
+ reg_etpwm.h
+
+
+ etpwm.h
+
+
+ etpwm.c
+
+
+ reg_ecap.h
+
+
+ ecap.h
+
+
+
+ reg_eqep.h
+
+
+ eqep.h
+
+
+
+ Device_RM46.h
+
+
+ Device_header.h
+
+
+ Device_types.h
+
+
+ ti_fee_cfg.h
+
+
+ MemMap.h
+
+
+ ti_fee_types.h
+
+
+ ti_fee.h
+
+
+ fee_interface.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ include\reg_pinmux.h
+
+
+ include\pinmux.h
+
+
+ source\pinmux.c
+
+
+
+
+
+
+ include\reg_rti.h
+
+
+ include\rti.h
+
+
+ source\rti.c
+
+
+
+
+
+
+ include\reg_gio.h
+
+
+ include\gio.h
+
+
+ source\gio.c
+
+
+
+
+
+
+ include\reg_sci.h
+
+
+ include\sci.h
+
+
+ source\sci.c
+
+
+
+
+
+
+ include\reg_lin.h
+
+
+ include\lin.h
+
+
+
+
+
+
+
+
+
+ include\reg_mibspi.h
+
+
+ include\mibspi.h
+
+
+ source\mibspi.c
+
+
+
+
+
+
+ include\reg_spi.h
+
+
+ include\spi.h
+
+
+
+
+
+
+
+
+
+ include\reg_can.h
+
+
+ include\can.h
+
+
+ source\can.c
+
+
+
+
+
+
+ include\reg_adc.h
+
+
+ include\adc.h
+
+
+ source\adc.c
+
+
+
+
+
+
+ include\std_nhet.h
+
+
+ include\reg_het.h
+
+
+ include\het.h
+
+
+ source\het.c
+
+
+ include\reg_htu.h
+
+
+ include\htu.h
+
+
+
+
+
+
+ include\reg_esm.h
+
+
+ include\esm.h
+
+
+ source\esm.c
+
+
+
+
+
+
+ include\reg_i2c.h
+
+
+ include\i2c.h
+
+
+
+
+
+
+
+
+
+ include\emac.h
+
+
+ include\hw_emac.h
+
+
+ include\hw_emac_ctrl.h
+
+
+ include\hw_mdio.h
+
+
+ include\hw_reg_access.h
+
+
+ include\mdio.h
+
+
+ include\phy_dp83640.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ include\reg_dcc.h
+
+
+ include\dcc.h
+
+
+
+
+
+
+
+
+
+ include\reg_pom.h
+
+
+ include\pom.h
+
+
+
+
+
+
+
+
+
+ include\usbcdc.h
+
+
+ include\usb_serial_structs.h
+
+
+ include\usbdcdc.h
+
+
+ include\usbdevice.h
+
+
+ include\usbdevicepriv.h
+
+
+ include\usb-ids.h
+
+
+ include\usblib.h
+
+
+ include\usb.h
+
+
+ include\hw_usb.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ include\reg_crc.h
+
+
+ include\crc.h
+
+
+
+
+
+
+
+
+
+ include\reg_etpwm.h
+
+
+ include\etpwm.h
+
+
+ source\etpwm.c
+
+
+
+
+
+
+ include\reg_ecap.h
+
+
+ include\ecap.h
+
+
+
+
+
+
+
+
+
+ include\reg_eqep.h
+
+
+ include\eqep.h
+
+
+
+
+
+
+
+
+
+ include\Device_RM46.h
+
+
+ include\Device_header.h
+
+
+ include\Device_types.h
+
+
+ include\ti_fee_cfg.h
+
+
+ include\MemMap.h
+
+
+ include\ti_fee_types.h
+
+
+ include\ti_fee.h
+
+
+ include\fee_interface.h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: firmware/source/can.c
===================================================================
diff -u -r8b8fff67b95805272f37855346d600599aaec03d -re14686745aa9e4650a3112d108be02ba89d0dd97
--- firmware/source/can.c (.../can.c) (revision 8b8fff67b95805272f37855346d600599aaec03d)
+++ firmware/source/can.c (.../can.c) (revision e14686745aa9e4650a3112d108be02ba89d0dd97)
@@ -273,8 +273,8 @@
} /* Wait */
canREG1->IF1MSK = 0xC0000000U | (uint32)((uint32)((uint32)0x000007FFU & (uint32)0x1FFFFFFFU) << (uint32)0U);
- canREG1->IF1ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x20000000U | (uint32)((uint32)((uint32)0x10U & (uint32)0x1FFFFFFFU) << (uint32)0U);
- canREG1->IF1MCTL = 0x00001000U | (uint32)0x00000800U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U;
+ canREG1->IF1ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x00000000U | (uint32)((uint32)((uint32)0x10U & (uint32)0x1FFFFFFFU) << (uint32)0U);
+ canREG1->IF1MCTL = 0x00001000U | (uint32)0x00000400U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U;
canREG1->IF1CMD = (uint8) 0xF8U;
canREG1->IF1NO = 5U;
@@ -292,8 +292,8 @@
} /* Wait */
canREG1->IF2MSK = 0xC0000000U | (uint32)((uint32)((uint32)0x000007FFU & (uint32)0x1FFFFFFFU) << (uint32)0U);
- canREG1->IF2ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x00000000U | (uint32)((uint32)((uint32)0x40U & (uint32)0x1FFFFFFFU) << (uint32)0U);
- canREG1->IF2MCTL = 0x00001000U | (uint32)0x00000400U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U;
+ canREG1->IF2ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x20000000U | (uint32)((uint32)((uint32)0x11U & (uint32)0x1FFFFFFFU) << (uint32)0U);
+ canREG1->IF2MCTL = 0x00001000U | (uint32)0x00000800U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U;
canREG1->IF2CMD = (uint8) 0xF8U;
canREG1->IF2NO = 6U;
@@ -311,7 +311,7 @@
} /* Wait */
canREG1->IF1MSK = 0xC0000000U | (uint32)((uint32)((uint32)0x000007FFU & (uint32)0x1FFFFFFFU) << (uint32)0U);
- canREG1->IF1ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x20000000U | (uint32)((uint32)((uint32)0x70U & (uint32)0x1FFFFFFFU) << (uint32)0U);
+ canREG1->IF1ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x20000000U | (uint32)((uint32)((uint32)0x20U & (uint32)0x1FFFFFFFU) << (uint32)0U);
canREG1->IF1MCTL = 0x00001000U | (uint32)0x00000800U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U;
canREG1->IF1CMD = (uint8) 0xF8U;
canREG1->IF1NO = 7U;
@@ -330,8 +330,8 @@
} /* Wait */
canREG1->IF2MSK = 0xC0000000U | (uint32)((uint32)((uint32)0x000007FFU & (uint32)0x1FFFFFFFU) << (uint32)0U);
- canREG1->IF2ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x20000000U | (uint32)((uint32)((uint32)0x80U & (uint32)0x1FFFFFFFU) << (uint32)0U);
- canREG1->IF2MCTL = 0x00001000U | (uint32)0x00000800U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U;
+ canREG1->IF2ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x00000000U | (uint32)((uint32)((uint32)0x21U & (uint32)0x1FFFFFFFU) << (uint32)0U);
+ canREG1->IF2MCTL = 0x00001000U | (uint32)0x00000400U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U;
canREG1->IF2CMD = (uint8) 0xF8U;
canREG1->IF2NO = 8U;
@@ -349,7 +349,7 @@
} /* Wait */
canREG1->IF1MSK = 0xC0000000U | (uint32)((uint32)((uint32)0x000007FFU & (uint32)0x1FFFFFFFU) << (uint32)0U);
- canREG1->IF1ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x00000000U | (uint32)((uint32)((uint32)0x110U & (uint32)0x1FFFFFFFU) << (uint32)0U);
+ canREG1->IF1ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x00000000U | (uint32)((uint32)((uint32)0x100U & (uint32)0x1FFFFFFFU) << (uint32)0U);
canREG1->IF1MCTL = 0x00001000U | (uint32)0x00000400U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U;
canREG1->IF1CMD = (uint8) 0xF8U;
canREG1->IF1NO = 9U;
@@ -368,8 +368,8 @@
} /* Wait */
canREG1->IF2MSK = 0xC0000000U | (uint32)((uint32)((uint32)0x000007FFU & (uint32)0x1FFFFFFFU) << (uint32)0U);
- canREG1->IF2ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x00000000U | (uint32)((uint32)((uint32)0x200U & (uint32)0x1FFFFFFFU) << (uint32)0U);
- canREG1->IF2MCTL = 0x00001000U | (uint32)0x00000400U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U;
+ canREG1->IF2ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x20000000U | (uint32)((uint32)((uint32)0x101U & (uint32)0x1FFFFFFFU) << (uint32)0U);
+ canREG1->IF2MCTL = 0x00001000U | (uint32)0x00000800U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U;
canREG1->IF2CMD = (uint8) 0xF8U;
canREG1->IF2NO = 10U;
@@ -387,7 +387,7 @@
} /* Wait */
canREG1->IF1MSK = 0xC0000000U | (uint32)((uint32)((uint32)0x000007FFU & (uint32)0x1FFFFFFFU) << (uint32)0U);
- canREG1->IF1ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x00000000U | (uint32)((uint32)((uint32)0x402U & (uint32)0x1FFFFFFFU) << (uint32)0U);
+ canREG1->IF1ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x00000000U | (uint32)((uint32)((uint32)0x102U & (uint32)0x1FFFFFFFU) << (uint32)0U);
canREG1->IF1MCTL = 0x00001000U | (uint32)0x00000400U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U;
canREG1->IF1CMD = (uint8) 0xF8U;
canREG1->IF1NO = 11U;
@@ -406,11 +406,49 @@
} /* Wait */
canREG1->IF2MSK = 0xC0000000U | (uint32)((uint32)((uint32)0x000007FFU & (uint32)0x1FFFFFFFU) << (uint32)0U);
- canREG1->IF2ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x20000000U | (uint32)((uint32)((uint32)0x403U & (uint32)0x1FFFFFFFU) << (uint32)0U);
- canREG1->IF2MCTL = 0x00001000U | (uint32)0x00000800U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U;
+ canREG1->IF2ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x00000000U | (uint32)((uint32)((uint32)0x103U & (uint32)0x1FFFFFFFU) << (uint32)0U);
+ canREG1->IF2MCTL = 0x00001000U | (uint32)0x00000400U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U;
canREG1->IF2CMD = (uint8) 0xF8U;
canREG1->IF2NO = 12U;
+ /** - Initialize message 13
+ * - Wait until IF1 is ready for use
+ * - Set message mask
+ * - Set message control word
+ * - Set message arbitration
+ * - Set IF1 control byte
+ * - Set IF1 message number
+ */
+ /*SAFETYMCUSW 28 D MR:NA "Potentially infinite loop found - Hardware Status check for execution sequence" */
+ while ((canREG1->IF1STAT & 0x80U) ==0x80U)
+ {
+ } /* Wait */
+
+ canREG1->IF1MSK = 0xC0000000U | (uint32)((uint32)((uint32)0x000007FFU & (uint32)0x1FFFFFFFU) << (uint32)0U);
+ canREG1->IF1ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x00000000U | (uint32)((uint32)((uint32)402U & (uint32)0x1FFFFFFFU) << (uint32)0U);
+ canREG1->IF1MCTL = 0x00001000U | (uint32)0x00000000U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U;
+ canREG1->IF1CMD = (uint8) 0xF8U;
+ canREG1->IF1NO = 13U;
+
+ /** - Initialize message 14
+ * - Wait until IF2 is ready for use
+ * - Set message mask
+ * - Set message control word
+ * - Set message arbitration
+ * - Set IF2 control byte
+ * - Set IF2 message number
+ */
+ /*SAFETYMCUSW 28 D MR:NA "Potentially infinite loop found - Hardware Status check for execution sequence" */
+ while ((canREG1->IF2STAT & 0x80U) ==0x80U)
+ {
+ } /* Wait */
+
+ canREG1->IF2MSK = 0xC0000000U | (uint32)((uint32)((uint32)0x000007FFU & (uint32)0x1FFFFFFFU) << (uint32)0U);
+ canREG1->IF2ARB = (uint32)0x80000000U | (uint32)0x40000000U | (uint32)0x20000000U | (uint32)((uint32)((uint32)403U & (uint32)0x1FFFFFFFU) << (uint32)0U);
+ canREG1->IF2MCTL = 0x00001000U | (uint32)0x00000000U | (uint32)0x00000000U | (uint32)0x00000080U | (uint32)8U;
+ canREG1->IF2CMD = (uint8) 0xF8U;
+ canREG1->IF2NO = 14U;
+
/** - Setup IF1 for data transmission
* - Wait until IF1 is ready for use
* - Set IF1 control byte