-# TMS570LS3137ZWT 08/30/12 15:16:52\r
+# TMS570LS3137ZWT 09/03/12 16:06:41\r
# \r
ARCH=TMS570LS3137ZWT\r
# \r
DRIVER.SYSTEM.VAR.VIM_PARITY_AVAILABLE.VALUE=TRUE\r
DRIVER.SYSTEM.VAR.SAFETY_INIT_CAN3_RAMPARITYCHECK_ENA.VALUE=1\r
DRIVER.SYSTEM.VAR.SAFETY_INIT_RAMECC_SELFCHECK_ENA.VALUE=1\r
-DRIVER.SYSTEM.VAR.ADC2_ENABLE.VALUE=0\r
+DRIVER.SYSTEM.VAR.ADC2_ENABLE.VALUE=1\r
DRIVER.SYSTEM.VAR.CLKT_VCLK2_FREQ.VALUE=80.000\r
DRIVER.SYSTEM.VAR.FLASH_DATA_2_WAIT_STATE_FREQ.VALUE=150.0\r
DRIVER.SYSTEM.VAR.VIM_CHANNEL_5_MAPPING.VALUE=5\r
DRIVER.SYSTEM.VAR.CORE_MPU_REGION_8_TYPE.VALUE=DEVICE_NONSHAREABLE\r
DRIVER.SYSTEM.VAR.CORE_MPU_REGION_2_SUB_5_DISABLE.VALUE=0\r
DRIVER.SYSTEM.VAR.VIM_CHANNEL_100_INT_PRAGMA_ENABLE.VALUE=1\r
-DRIVER.SYSTEM.VAR.VIM_CHANNEL_51_INT_ENABLE.VALUE=0\r
+DRIVER.SYSTEM.VAR.VIM_CHANNEL_51_INT_ENABLE.VALUE=1\r
DRIVER.SYSTEM.VAR.VIM_CHANNEL_43_INT_ENABLE.VALUE=0\r
DRIVER.SYSTEM.VAR.VIM_CHANNEL_35_INT_ENABLE.VALUE=1\r
DRIVER.SYSTEM.VAR.VIM_CHANNEL_27_INT_ENABLE.VALUE=0\r
DRIVER.ADC.VAR.ADC1_GROUP2_DISCHARGE_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP2_SAMPLE_PRESCALER.VALUE=0\r
DRIVER.ADC.VAR.ADC1_GROUP1_LENGTH.VALUE=16\r
-DRIVER.ADC.VAR.ADC2_GROUP1_ID_ENABLE.VALUE=0x00000000\r
+DRIVER.ADC.VAR.ADC2_GROUP1_ID_ENABLE.VALUE=0x00000020\r
DRIVER.ADC.VAR.ADC1_GROUP2_CONVERSION_TIME.VALUE=1.300\r
-DRIVER.ADC.VAR.ADC2_GROUP1_PIN4_ENABLE.VALUE=0x00000000\r
+DRIVER.ADC.VAR.ADC2_GROUP1_PIN4_ENABLE.VALUE=0x00000010\r
DRIVER.ADC.VAR.ADC2_GROUP0_PIN11_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP0_PIN7_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_ALT_TRIG.VALUE=0\r
DRIVER.ADC.VAR.ADC2_GROUP1_SAMPLE_PRESCALER.VALUE=0\r
DRIVER.ADC.VAR.ADC2_GROUP1_PIN9_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC2_GROUP1_SAMPLE_TIME.VALUE=200.00\r
-DRIVER.ADC.VAR.ADC2_GROUP1_PIN2_ENABLE.VALUE=0x00000000\r
+DRIVER.ADC.VAR.ADC2_GROUP1_PIN2_ENABLE.VALUE=0x00000004\r
DRIVER.ADC.VAR.ADC2_GROUP1_TRIGGER_MODE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP0_PIN5_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC2_GROUP2_DISCHARGE_PRESCALER.VALUE=0\r
DRIVER.ADC.VAR.ADC1_GROUP0_PIN19_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP0_DISCHARGE_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_RAM_PARITY_ENA.VALUE=0x00000005\r
-DRIVER.ADC.VAR.ADC2_GROUP1_SCAN_TIME.VALUE=0.000\r
+DRIVER.ADC.VAR.ADC2_GROUP1_SCAN_TIME.VALUE=312.500\r
DRIVER.ADC.VAR.ADC2_GROUP0_CHANNEL_TOTAL_TIME.VALUE=0.000000\r
DRIVER.ADC.VAR.ADC1_GROUP2_SAMPLE_TIME.VALUE=200.00\r
DRIVER.ADC.VAR.ADC2_GROUP0_LENGTH.VALUE=16\r
DRIVER.ADC.VAR.ADC1_GROUP1_ACTUAL_SAMPLE_TIME.VALUE=200.00\r
DRIVER.ADC.VAR.ADC2_GROUP0_PIN6_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP2_TRIGGER_MODE.VALUE=0x00000000\r
-DRIVER.ADC.VAR.ADC1_GROUP2_CHANNEL_TOTAL_TIME.VALUE=0.000000\r
+DRIVER.ADC.VAR.ADC1_GROUP2_CHANNEL_TOTAL_TIME.VALUE=1.500000\r
DRIVER.ADC.VAR.ADC1_GROUP0_DISCHARGE_TIME.VALUE=0.00\r
DRIVER.ADC.VAR.ADC2_LENGTH.VALUE=64\r
DRIVER.ADC.VAR.ADC2_GROUP0_DISCHARGE_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP1_SCAN_TIME.VALUE=687.500\r
DRIVER.ADC.VAR.ADC1_GROUP0_RESOLUTION.VALUE=12_BIT\r
DRIVER.ADC.VAR.ADC2_GROUP2_FIFO_SIZE.VALUE=16\r
-DRIVER.ADC.VAR.ADC2_GROUP1_PIN7_ENABLE.VALUE=0x00000000\r
+DRIVER.ADC.VAR.ADC2_GROUP1_PIN7_ENABLE.VALUE=0x00000080\r
DRIVER.ADC.VAR.ADC2_GROUP0_PIN14_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP2_HW_TRIGGER_SOURCE.VALUE=EVENT\r
DRIVER.ADC.VAR.ADC2_GROUP1_BND.VALUE=8\r
DRIVER.ADC.VAR.ADC1_GROUP2_PIN0_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP2_CONTINUOUS_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP0_PIN10_ENABLE.VALUE=0x00000000\r
-DRIVER.ADC.VAR.ADC2_GROUP1_PINS.VALUE=0\r
+DRIVER.ADC.VAR.ADC2_GROUP1_PINS.VALUE=6\r
DRIVER.ADC.VAR.ADC1_GROUP1_PIN22_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP1_PIN14_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC2_GROUP0_PIN4_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP0_BND.VALUE=8\r
DRIVER.ADC.VAR.ADC2_GROUP2_CHANNEL_TOTAL_TIME.VALUE=0.000000\r
DRIVER.ADC.VAR.ADC2_GROUP2_CONTINUOUS_ENABLE.VALUE=0x00000000\r
-DRIVER.ADC.VAR.ADC2_GROUP1_PIN5_ENABLE.VALUE=0x00000000\r
+DRIVER.ADC.VAR.ADC2_GROUP1_PIN5_ENABLE.VALUE=0x00000020\r
DRIVER.ADC.VAR.ADC2_GROUP0_PIN12_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP0_PIN8_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP0_TRIGGER_EDGE_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC2_GROUP0_RAM_PARITY_ENA.VALUE=0\r
DRIVER.ADC.VAR.ADC1_GROUP2_PIN24_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP2_PIN16_ENABLE.VALUE=0x00000000\r
-DRIVER.ADC.VAR.ADC1_GROUP2_ID_ENABLE.VALUE=0x00000000\r
+DRIVER.ADC.VAR.ADC1_GROUP2_ID_ENABLE.VALUE=0x00000020\r
DRIVER.ADC.VAR.ADC2_GROUP2_PIN6_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP1_PIN9_ENABLE.VALUE=0x00000200\r
DRIVER.ADC.VAR.ADC1_GROUP1_CONTINUOUS_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC2_GROUP1_CONVERSION_TIME.VALUE=1.300\r
DRIVER.ADC.VAR.ADC1_GROUP0_PINS.VALUE=0\r
DRIVER.ADC.VAR.ADC1_GROUP0_ACTUAL_SAMPLE_TIME.VALUE=200.00\r
-DRIVER.ADC.VAR.ADC2_GROUP1_PIN3_ENABLE.VALUE=0x00000000\r
+DRIVER.ADC.VAR.ADC2_GROUP1_PIN3_ENABLE.VALUE=0x00000008\r
DRIVER.ADC.VAR.ADC2_GROUP0_PIN10_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC2_GROUP0_ID_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP0_PIN6_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP2_PIN19_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_PRESCALE.VALUE=7\r
DRIVER.ADC.VAR.ADC2_GROUP0_ACTUAL_SAMPLE_TIME.VALUE=200.00\r
-DRIVER.ADC.VAR.ADC1_GROUP2_PINS.VALUE=0\r
+DRIVER.ADC.VAR.ADC1_GROUP2_PINS.VALUE=1\r
DRIVER.ADC.VAR.ADC1_LENGTH.VALUE=64\r
DRIVER.ADC.VAR.ADC2_GROUP2_PIN9_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP2_PIN20_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP2_PIN12_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC2_GROUP2_SAMPLE_TIME.VALUE=200.00\r
-DRIVER.ADC.VAR.ADC2_GROUP1_CHANNEL_TOTAL_TIME.VALUE=0.000000\r
+DRIVER.ADC.VAR.ADC2_GROUP1_CHANNEL_TOTAL_TIME.VALUE=9.312500\r
DRIVER.ADC.VAR.ADC2_GROUP2_PIN2_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC2_GROUP0_CONTINUOUS_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP1_PIN5_ENABLE.VALUE=0x00000020\r
DRIVER.ADC.VAR.ADC1_GROUP2_ACTUAL_SAMPLE_TIME.VALUE=200.00\r
DRIVER.ADC.VAR.ADC1_GROUP0_SCAN_TIME.VALUE=0.000\r
-DRIVER.ADC.VAR.ADC2_GROUP1_PIN6_ENABLE.VALUE=0x00000000\r
+DRIVER.ADC.VAR.ADC2_GROUP1_PIN6_ENABLE.VALUE=0x00000040\r
DRIVER.ADC.VAR.ADC2_GROUP0_PIN13_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC2_GROUP0_TRIGGER_EDGE_ENABLE.VALUE=0x00000000\r
DRIVER.ADC.VAR.ADC1_GROUP0_PIN9_ENABLE.VALUE=0x00000000\r
DRIVER.HET.VAR.HET2_BIT15_DOUT.VALUE=0\r
DRIVER.HET.VAR.HET2_PWM0_PERIOD_PRESCALER.VALUE=159872\r
DRIVER.HET.VAR.HET1_EDGE4_EVENT.VALUE=1\r
-DRIVER.HET.VAR.HET1_BIT20_DIR.VALUE=0x00000000\r
+DRIVER.HET.VAR.HET1_BIT20_DIR.VALUE=0x00100000\r
DRIVER.HET.VAR.HET1_BIT12_DIR.VALUE=0x00000000\r
DRIVER.HET.VAR.HET2_BIT12_PULDIS.VALUE=0x00000000\r
DRIVER.HET.VAR.HET1_EDGE5_POLARITY.VALUE=0\r
DRIVER.HET.VAR.HET2_PWM7_DUTY_LVL.VALUE=0x00000000\r
DRIVER.HET.VAR.HET1_EDGE0_BOTH.VALUE=0\r
DRIVER.HET.VAR.HET1_BIT30_DIR.VALUE=0x00000000\r
-DRIVER.HET.VAR.HET1_BIT22_DIR.VALUE=0x00000000\r
+DRIVER.HET.VAR.HET1_BIT22_DIR.VALUE=0x00400000\r
DRIVER.HET.VAR.HET1_BIT14_DIR.VALUE=0x00004000\r
DRIVER.HET.VAR.HET1_INT_X0.VALUE=0x00000000\r
DRIVER.HET.VAR.HET2_EDGE2_POLARITY.VALUE=0\r
DRIVER.HET.VAR.HET1_EDGE1_BOTH.VALUE=0\r
DRIVER.HET.VAR.HET1_PWM5_PERIOD_LVL.VALUE=0x00000000\r
DRIVER.HET.VAR.HET1_BIT24_DIR.VALUE=0x00000000\r
-DRIVER.HET.VAR.HET1_BIT16_DIR.VALUE=0x00000000\r
+DRIVER.HET.VAR.HET1_BIT16_DIR.VALUE=0x00010000\r
DRIVER.HET.VAR.HET2_PWM1_POLARITY.VALUE=3\r
DRIVER.HET.VAR.HET2_BIT18_ANDSHARE.VALUE=0x00000000\r
DRIVER.HET.VAR.HET1_EDGE0_INTENA.VALUE=0x00000000\r
DRIVER.HET.VAR.HET1_LR_TIME.VALUE=800.000\r
DRIVER.HET.VAR.HET2_EDGE0_LVL.VALUE=0x00000000\r
DRIVER.HET.VAR.HET1_PWM3_ACTION.VALUE=3\r
-DRIVER.HET.VAR.HET1_BIT25_DIR.VALUE=0x00000000\r
+DRIVER.HET.VAR.HET1_BIT25_DIR.VALUE=0x02000000\r
DRIVER.HET.VAR.HET1_BIT21_PULL.VALUE=1\r
DRIVER.HET.VAR.HET1_BIT17_DIR.VALUE=0x00000000\r
DRIVER.HET.VAR.HET1_BIT13_PULL.VALUE=1\r
DRIVER.HET.VAR.HET2_PWM7_PERIOD_LVL.VALUE=0x00000000\r
DRIVER.HET.VAR.HET1_EDGE2_BOTH.VALUE=0\r
DRIVER.HET.VAR.HET1_BIT26_DIR.VALUE=0x00000000\r
-DRIVER.HET.VAR.HET1_BIT18_DIR.VALUE=0x00000000\r
+DRIVER.HET.VAR.HET1_BIT18_DIR.VALUE=0x00040000\r
DRIVER.HET.VAR.HET2_PWM1_DUTY_INTENA.VALUE=0x00000000\r
DRIVER.HET.VAR.HET2_BIT16_XORSHARE.VALUE=0x00000000\r
DRIVER.HET.VAR.HET2_BIT5_PULDIS.VALUE=0x00000000\r
DRIVER.HET.VAR.HET1_BIT17_PSL.VALUE=0x00020000\r
DRIVER.HET.VAR.HET2_EDGE4_LVL.VALUE=0x00000000\r
DRIVER.HET.VAR.HET1_BIT31_PULL.VALUE=1\r
-DRIVER.HET.VAR.HET1_BIT29_DIR.VALUE=0x00000000\r
+DRIVER.HET.VAR.HET1_BIT29_DIR.VALUE=0x20000000\r
DRIVER.HET.VAR.HET1_BIT23_PULL.VALUE=1\r
DRIVER.HET.VAR.HET1_BIT15_PULL.VALUE=1\r
DRIVER.HET.VAR.HET1_BIT0_DIR.VALUE=0x00000000\r
<HDRMIBSPI>\r
<NAME>mibspi.h</NAME>\r
</HDRMIBSPI>\r
- <SRCMIBSPI/>\r
+ <SRCMIBSPI>\r
+ <NAME>mibspi.c</NAME>\r
+ </SRCMIBSPI>\r
<HDRSPI>\r
<NAME>spi.h</NAME>\r
</HDRSPI>\r
<NAME>dmm.h</NAME>\r
</HDRDMM>\r
<SRCDMM>\r
- <NAME>dmm.c</NAME>\r
- </SRCDMM>\r
+ </SRCDMM>\r
<HDREMIF>\r
<NAME>emif.h</NAME>\r
</HDREMIF>\r
<PATH>include\mibspi.h</PATH>\r
</HDRMIBSPI>\r
<SRCMIBSPI>\r
- <PATH/>\r
+ <PATH>source\mibspi.c</PATH>\r
</SRCMIBSPI>\r
</FILENAMES>\r
</MIBSPI>\r
<PATH>include\dmm.h</PATH>\r
</HDRDMM>\r
<SRCDMM>\r
- <PATH>source\dmm.c</PATH>\r
+ <PATH></PATH>\r
</SRCDMM>\r
</FILENAMES>\r
</DMM>\r
******************************************************************************
TMS470 Linker Unix v4.9.1
******************************************************************************
->> Linked Thu Aug 30 15:34:53 2012
+>> Linked Tue Sep 4 19:06:02 2012
OUTPUT FILE NAME: <CmdProcTISCI.out>
-ENTRY POINT SYMBOL: "_c_int00" address: 0000a460
+ENTRY POINT SYMBOL: "_c_int00" address: 0000ad38
MEMORY CONFIGURATION
name origin length used unused attr fill
---------------------- -------- --------- -------- -------- ---- --------
VECTORS 00000000 00000020 00000020 00000000 X
- FLASH0 00000020 0017ffe0 00010715 0016f8cb R X
+ FLASH0 00000020 0017ffe0 00010ead 0016f133 R X
FLASH1 00180000 00180000 00000000 00180000 R X
STACKS 08000000 00001500 00000000 00001500 RW
- RAM 08001500 00026b00 0000438c 00022774 RW
+ RAM 08001500 00026b00 000043a8 00022758 RW
SEGMENT ALLOCATION MAP
run origin load origin length init length attrs members
---------- ----------- ---------- ----------- ----- -------
-00000000 00000000 00010738 00010738 r-x
+00000000 00000000 00010ed8 00010ed8 r-x
00000000 00000000 00000020 00000020 r-x .intvecs
- 00000020 00000020 0000f638 0000f638 r-x .text
- 0000f658 0000f658 00000f75 00000f75 r-- .const
- 000105d0 000105d0 00000168 00000168 r-- .cinit
-08001500 08001500 0000415c 00000000 rw-
- 08001500 08001500 0000415c 00000000 rw- .bss
-08005660 08005660 00000230 00000230 rw-
- 08005660 08005660 00000230 00000230 rw- .data
+ 00000020 00000020 0000ffc4 0000ffc4 r-x .text
+ 0000ffe8 0000ffe8 00000d59 00000d59 r-- .const
+ 00010d48 00010d48 00000190 00000190 r-- .cinit
+08001500 08001500 00004158 00000000 rw-
+ 08001500 08001500 00004158 00000000 rw- .bss
+08005658 08005658 00000250 00000250 rw-
+ 08005658 08005658 00000250 00000250 rw- .data
SECTION ALLOCATION MAP
.intvecs 0 00000000 00000020
00000000 00000020 sys_intvecs.obj (.intvecs)
-.text 0 00000020 0000f638
+.text 0 00000020 0000ffc4
00000020 00002d4c can.obj (.text)
- 00002d6c 000014c8 sys_selftest.obj (.text)
- 00004234 00001460 os_tasks.obj (.text)
- 00005694 000010b4 commands.obj (.text)
- 00006748 00000b48 os_queue.obj (.text)
- 00007290 00000b18 cmd_proc.obj (.text)
- 00007da8 000009e6 rtsv7R4_T_be_v3D16_eabi.lib : _scanfi.obj (.text)
- 0000878e 00000002 --HOLE-- [fill = 0]
- 00008790 00000878 adc.obj (.text)
- 00009008 0000078c het.obj (.text)
- 00009794 00000694 mibspi.obj (.text)
- 00009e28 00000638 os_port.obj (.text)
- 0000a460 000005ac sys_startup.obj (.text:retain)
- 0000aa0c 00000540 sci.obj (.text)
- 0000af4c 0000043c esm.obj (.text)
- 0000b388 000003cc cmd_io_line.obj (.text)
- 0000b754 000003bc cmdio_tisci.obj (.text)
- 0000bb10 00000384 sci.obj (.text:retain)
- 0000be94 00000384 sys_core.obj (.text)
- 0000c218 0000030c pinmux.obj (.text)
- 0000c524 00000308 system.obj (.text)
- 0000c82c 000002e0 can.obj (.text:retain)
- 0000cb0c 000002b8 i2str.obj (.text)
- 0000cdc4 00000284 gio.obj (.text)
- 0000d048 00000240 os_list.obj (.text)
- 0000d288 00000238 notification.obj (.text)
- 0000d4c0 00000220 esm.obj (.text:retain)
- 0000d6e0 000001f4 rtsv7R4_T_be_v3D16_eabi.lib : ull_div_t2.obj (.text)
- 0000d8d4 000001e4 : strtod.obj (.text)
- 0000dab8 000001e0 : strtold.obj (.text)
- 0000dc98 000001dc : strtoll.obj (.text)
- 0000de74 000001d8 adc.obj (.text:retain)
- 0000e04c 000001d4 cmd_io.obj (.text)
- 0000e220 00000180 cmd_proc_freertos_tms570.obj (.text)
- 0000e3a0 0000017c rtsv7R4_T_be_v3D16_eabi.lib : strtoull.obj (.text)
- 0000e51c 00000178 mibspi.obj (.text:retain)
- 0000e694 0000016c os_portasm.obj (.text)
- 0000e800 0000015c het.obj (.text:retain)
- 0000e95c 00000150 cmd_proc_run.obj (.text)
- 0000eaac 00000130 rtsv7R4_T_be_v3D16_eabi.lib : strtol.obj (.text)
- 0000ebdc 00000110 : strtoul.obj (.text)
- 0000ecec 000000e8 os_heap.obj (.text)
- 0000edd4 000000d8 mout.obj (.text)
- 0000eeac 000000c8 gio.obj (.text:retain)
- 0000ef74 000000c0 dabort.obj (.text)
- 0000f034 000000b8 rtsv7R4_T_be_v3D16_eabi.lib : sscanf.obj (.text)
- 0000f0ec 0000009c : memcpy_t2.obj (.text)
- 0000f188 00000078 : memset_t2.obj (.text)
- 0000f200 00000074 sys_main.obj (.text)
- 0000f274 00000060 rtsv7R4_T_be_v3D16_eabi.lib : copy_decompress_rle.obj (.text)
- 0000f2d4 00000054 : u_div32.obj (.text)
- 0000f328 00000050 : atoi.obj (.text)
- 0000f378 00000050 : atol.obj (.text)
- 0000f3c8 0000004c : cpy_tbl.obj (.text)
- 0000f414 00000044 : exit.obj (.text)
- 0000f458 00000040 : strtok.obj (.text)
- 0000f498 00000030 : strncpy.obj (.text)
- 0000f4c8 0000002c din.obj (.text)
- 0000f4f4 0000002a rtsv7R4_T_be_v3D16_eabi.lib : strspn.obj (.text)
- 0000f51e 00000026 : strncmp.obj (.text)
- 0000f544 00000020 : strcspn.obj (.text)
- 0000f564 00000018 : _lock.obj (.text)
- 0000f57c 00000018 : ll_mul_t2.obj (.text)
- 0000f594 00000018 : strcmp.obj (.text)
- 0000f5ac 00000018 : strrchr.obj (.text)
- 0000f5c4 00000016 : strchr.obj (.text)
- 0000f5da 00000014 : strlen.obj (.text)
- 0000f5ee 00000012 : copy_zero_init.obj (.text:decompress:ZI)
- 0000f600 00000010 : isalnum.obj (.text)
- 0000f610 00000010 : isdigit.obj (.text)
- 0000f620 00000010 : isspace.obj (.text)
- 0000f630 00000010 : strcpy.obj (.text)
- 0000f640 0000000e : copy_decompress_none.obj (.text:decompress:none)
- 0000f64e 00000006 : copy_decompress_rle.obj (.text:decompress:rle24)
- 0000f654 00000004 sys_phantom.obj (.text:retain)
+ 00002d6c 00001828 commands.obj (.text)
+ 00004594 000014c8 sys_selftest.obj (.text)
+ 00005a5c 00001460 os_tasks.obj (.text)
+ 00006ebc 00000b48 os_queue.obj (.text)
+ 00007a04 00000b18 cmd_proc.obj (.text)
+ 0000851c 000009e6 rtsv7R4_T_be_v3D16_eabi.lib : _scanfi.obj (.text)
+ 00008f02 00000002 --HOLE-- [fill = 0]
+ 00008f04 000009d8 adc.obj (.text)
+ 000098dc 00000790 het.obj (.text)
+ 0000a06c 00000694 mibspi.obj (.text)
+ 0000a700 00000638 os_port.obj (.text)
+ 0000ad38 000005b0 sys_startup.obj (.text:retain)
+ 0000b2e8 00000540 sci.obj (.text)
+ 0000b828 0000043c esm.obj (.text)
+ 0000bc64 000003cc cmd_io_line.obj (.text)
+ 0000c030 000003bc cmdio_tisci.obj (.text)
+ 0000c3ec 00000384 sci.obj (.text:retain)
+ 0000c770 00000384 sys_core.obj (.text)
+ 0000caf4 0000030c pinmux.obj (.text)
+ 0000ce00 00000308 system.obj (.text)
+ 0000d108 000002e0 can.obj (.text:retain)
+ 0000d3e8 000002b8 i2str.obj (.text)
+ 0000d6a0 00000284 gio.obj (.text)
+ 0000d924 00000240 os_list.obj (.text)
+ 0000db64 00000238 notification.obj (.text)
+ 0000dd9c 00000220 esm.obj (.text:retain)
+ 0000dfbc 000001f4 rtsv7R4_T_be_v3D16_eabi.lib : ull_div_t2.obj (.text)
+ 0000e1b0 000001e4 : strtod.obj (.text)
+ 0000e394 000001e0 : strtold.obj (.text)
+ 0000e574 000001dc : strtoll.obj (.text)
+ 0000e750 000001d4 cmd_io.obj (.text)
+ 0000e924 000001c8 adc.obj (.text:retain)
+ 0000eaec 00000180 cmd_proc_freertos_tms570.obj (.text)
+ 0000ec6c 0000017c rtsv7R4_T_be_v3D16_eabi.lib : strtoull.obj (.text)
+ 0000ede8 00000178 mibspi.obj (.text:retain)
+ 0000ef60 0000016c os_portasm.obj (.text)
+ 0000f0cc 0000015c het.obj (.text:retain)
+ 0000f228 00000150 cmd_proc_run.obj (.text)
+ 0000f378 00000130 rtsv7R4_T_be_v3D16_eabi.lib : strtol.obj (.text)
+ 0000f4a8 00000110 : strtoul.obj (.text)
+ 0000f5b8 000000e8 os_heap.obj (.text)
+ 0000f6a0 000000d8 hout.obj (.text)
+ 0000f778 000000d8 mout.obj (.text)
+ 0000f850 000000c8 gio.obj (.text:retain)
+ 0000f918 000000c0 dabort.obj (.text)
+ 0000f9d8 000000b8 rtsv7R4_T_be_v3D16_eabi.lib : sscanf.obj (.text)
+ 0000fa90 0000009c : memcpy_t2.obj (.text)
+ 0000fb2c 00000078 : memset_t2.obj (.text)
+ 0000fba4 00000060 : copy_decompress_rle.obj (.text)
+ 0000fc04 0000005c sys_main.obj (.text)
+ 0000fc60 00000054 rtsv7R4_T_be_v3D16_eabi.lib : u_div32.obj (.text)
+ 0000fcb4 00000050 : atoi.obj (.text)
+ 0000fd04 00000050 : atol.obj (.text)
+ 0000fd54 0000004c : cpy_tbl.obj (.text)
+ 0000fda0 00000044 : exit.obj (.text)
+ 0000fde4 00000040 : strtok.obj (.text)
+ 0000fe24 00000030 : strncpy.obj (.text)
+ 0000fe54 0000002c din.obj (.text)
+ 0000fe80 0000002a rtsv7R4_T_be_v3D16_eabi.lib : strspn.obj (.text)
+ 0000feaa 00000026 : strncmp.obj (.text)
+ 0000fed0 00000020 : strcspn.obj (.text)
+ 0000fef0 00000018 : _lock.obj (.text)
+ 0000ff08 00000018 : ll_mul_t2.obj (.text)
+ 0000ff20 00000018 : strcmp.obj (.text)
+ 0000ff38 00000018 : strrchr.obj (.text)
+ 0000ff50 00000016 : strchr.obj (.text)
+ 0000ff66 00000014 : strlen.obj (.text)
+ 0000ff7a 00000012 : copy_zero_init.obj (.text:decompress:ZI)
+ 0000ff8c 00000010 : isalnum.obj (.text)
+ 0000ff9c 00000010 : isdigit.obj (.text)
+ 0000ffac 00000010 : isspace.obj (.text)
+ 0000ffbc 00000010 : strcpy.obj (.text)
+ 0000ffcc 0000000e : copy_decompress_none.obj (.text:decompress:none)
+ 0000ffda 00000006 : copy_decompress_rle.obj (.text:decompress:rle24)
+ 0000ffe0 00000004 sys_phantom.obj (.text:retain)
-.const 0 0000f658 00000f75
- 0000f658 0000048c commands.obj (.const:.string)
- 0000fae4 000003a0 het.obj (.const:het1PROGRAM)
- 0000fe84 00000204 sys_startup.obj (.const:s_vim_init)
- 00010088 000001ef commands.obj (.const)
- 00010277 00000001 --HOLE-- [fill = 0]
- 00010278 00000101 rtsv7R4_T_be_v3D16_eabi.lib : ctype.obj (.const:_ctypes_)
- 00010379 00000007 --HOLE-- [fill = 0]
- 00010380 00000050 : strtod.obj (.const:digits)
- 000103d0 00000050 : strtold.obj (.const:digits)
- 00010420 00000048 : strtod.obj (.const:powerof10)
- 00010468 00000048 : strtold.obj (.const:powerof10)
- 000104b0 00000038 cmd_proc_freertos_tms570.obj (.const:$P$T0$1)
- 000104e8 00000030 adc.obj (.const)
- 00010518 00000026 commands.obj (.const:$P$T1$2)
- 0001053e 00000002 --HOLE-- [fill = 0]
- 00010540 00000023 commands.obj (.const:$P$T2$3)
- 00010563 00000001 --HOLE-- [fill = 0]
- 00010564 00000020 can.obj (.const)
- 00010584 00000020 het.obj (.const)
- 000105a4 0000001c cmdio_std_line.obj (.const)
- 000105c0 0000000d rtsv7R4_T_be_v3D16_eabi.lib : _scanfi.obj (.const)
+.const 0 0000ffe8 00000d59
+ 0000ffe8 000003e4 commands.obj (.const:.string)
+ 000103cc 000003a0 het.obj (.const:het1PROGRAM)
+ 0001076c 00000204 sys_startup.obj (.const:s_vim_init)
+ 00010970 00000101 rtsv7R4_T_be_v3D16_eabi.lib : ctype.obj (.const:_ctypes_)
+ 00010a71 00000003 --HOLE-- [fill = 0]
+ 00010a74 000000c8 commands.obj (.const)
+ 00010b3c 00000004 --HOLE-- [fill = 0]
+ 00010b40 00000050 rtsv7R4_T_be_v3D16_eabi.lib : strtod.obj (.const:digits)
+ 00010b90 00000050 : strtold.obj (.const:digits)
+ 00010be0 00000048 : strtod.obj (.const:powerof10)
+ 00010c28 00000048 : strtold.obj (.const:powerof10)
+ 00010c70 00000038 cmd_proc_freertos_tms570.obj (.const:$P$T0$1)
+ 00010ca8 00000030 adc.obj (.const)
+ 00010cd8 00000020 can.obj (.const)
+ 00010cf8 00000020 het.obj (.const)
+ 00010d18 0000001c cmdio_std_line.obj (.const)
+ 00010d34 0000000d rtsv7R4_T_be_v3D16_eabi.lib : _scanfi.obj (.const)
-.cinit 0 000105d0 00000168
- 000105d0 0000013d (.cinit..data.load) [load image, compression = rle]
- 0001070d 00000003 --HOLE-- [fill = 0]
- 00010710 0000000c (__TI_handler_table)
- 0001071c 00000004 --HOLE-- [fill = 0]
- 00010720 00000008 (.cinit..bss.load) [load image, compression = zero_init]
- 00010728 00000010 (__TI_cinit_table)
+.cinit 0 00010d48 00000190
+ 00010d48 00000165 (.cinit..data.load) [load image, compression = rle]
+ 00010ead 00000003 --HOLE-- [fill = 0]
+ 00010eb0 0000000c (__TI_handler_table)
+ 00010ebc 00000004 --HOLE-- [fill = 0]
+ 00010ec0 00000008 (.cinit..bss.load) [load image, compression = zero_init]
+ 00010ec8 00000010 (__TI_cinit_table)
-.bss 0 08001500 0000415c UNINITIALIZED
+.bss 0 08001500 00004158 UNINITIALIZED
08001500 00003fa0 os_heap.obj (.bss:xHeap)
080054a0 00000064 os_tasks.obj (.bss:pxReadyTasksLists)
08005504 00000058 os_tasks.obj (.bss)
080055b0 00000054 cmdio_std_line.obj (.bss:ed_line_out_std)
08005604 0000001c sci.obj (.bss)
08005620 00000018 cmdio_tisci.obj (.bss)
- 08005638 00000018 commands.obj (.bss)
- 08005650 00000008 cmd_proc_freertos_tms570.obj (.bss)
- 08005658 00000004 rtsv7R4_T_be_v3D16_eabi.lib : strtok.obj (.bss)
+ 08005638 00000014 commands.obj (.bss)
+ 0800564c 00000008 cmd_proc_freertos_tms570.obj (.bss)
+ 08005654 00000004 rtsv7R4_T_be_v3D16_eabi.lib : strtok.obj (.bss)
-.data 0 08005660 00000230
- 08005660 00000080 rtsv7R4_T_be_v3D16_eabi.lib : xvalues.obj (.data)
- 080056e0 00000070 : xlvalues.obj (.data)
- 08005750 0000003c commands.obj (.data)
- 0800578c 00000030 commands.obj (.data:cmd_list_main)
- 080057bc 00000030 cmdio_std_line.obj (.data)
- 080057ec 00000030 mout.obj (.data:moutPorts)
- 0800581c 00000030 os_tasks.obj (.data)
- 0800584c 0000001c cmdio_tisci.obj (.data)
- 08005868 0000000c mout.obj (.data)
- 08005874 00000008 rtsv7R4_T_be_v3D16_eabi.lib : _lock.obj (.data)
- 0800587c 00000008 : exit.obj (.data)
- 08005884 00000004 os_heap.obj (.data)
- 08005888 00000004 os_port.obj (.data)
- 0800588c 00000004 rtsv7R4_T_be_v3D16_eabi.lib : errno.obj (.data)
+.data 0 08005658 00000250
+ 08005658 00000080 rtsv7R4_T_be_v3D16_eabi.lib : xvalues.obj (.data)
+ 080056d8 00000070 : xlvalues.obj (.data)
+ 08005748 00000030 cmdio_std_line.obj (.data)
+ 08005778 00000030 hout.obj (.data:houtPorts)
+ 080057a8 00000030 mout.obj (.data:moutPorts)
+ 080057d8 00000030 os_tasks.obj (.data)
+ 08005808 00000028 din.obj (.data)
+ 08005830 00000024 commands.obj (.data:cmd_list_main)
+ 08005854 0000001c cmdio_tisci.obj (.data)
+ 08005870 0000000c hout.obj (.data)
+ 0800587c 0000000c mout.obj (.data)
+ 08005888 00000008 rtsv7R4_T_be_v3D16_eabi.lib : _lock.obj (.data)
+ 08005890 00000008 : exit.obj (.data)
+ 08005898 00000004 commands.obj (.data)
+ 0800589c 00000004 os_heap.obj (.data)
+ 080058a0 00000004 os_port.obj (.data)
+ 080058a4 00000004 rtsv7R4_T_be_v3D16_eabi.lib : errno.obj (.data)
LINKER GENERATED COPY TABLES
-__TI_cinit_table @ 00010728 records: 2, size/record: 8, table size: 16
- .data: load addr=000105d0, load size=0000013d bytes, run addr=08005660, run size=00000230 bytes, compression=rle
- .bss: load addr=00010720, load size=00000008 bytes, run addr=08001500, run size=0000415c bytes, compression=zero_init
+__TI_cinit_table @ 00010ec8 records: 2, size/record: 8, table size: 16
+ .data: load addr=00010d48, load size=00000165 bytes, run addr=08005658, run size=00000250 bytes, compression=rle
+ .bss: load addr=00010ec0, load size=00000008 bytes, run addr=08001500, run size=00004158 bytes, compression=zero_init
LINKER GENERATED HANDLER TABLE
-__TI_handler_table @ 00010710 records: 3, size/record: 4, table size: 12
+__TI_handler_table @ 00010eb0 records: 3, size/record: 4, table size: 12
index: 0, handler: __TI_zero_init
index: 1, handler: __TI_decompress_rle24
index: 2, handler: __TI_decompress_none
address name
-------- ----
-0000f415 C$$EXIT
-08005660 _Denorm
-08005670 _Eps
-0800588c _Errno
-08005680 _Hugeval
-08005690 _Inf
-080056e0 _LDenorm
-080056f0 _LEps
-08005700 _LInf
-08005710 _LNan
-08005730 _LRteps
-08005720 _LSnan
-08005740 _LXbig
-08005748 _LZero
-080056a0 _Nan
-080056c0 _Rteps
-080056b0 _Snan
-080056d0 _Xbig
-080056d8 _Zero
-00010728 __TI_CINIT_Base
-00010738 __TI_CINIT_Limit
-00010710 __TI_Handler_Table_Base
-0001071c __TI_Handler_Table_Limit
-0000c210 __TI_PINIT_Base
-0000c214 __TI_PINIT_Limit
-0000f641 __TI_decompress_none
-0000f64f __TI_decompress_rle24
+0000fda1 C$$EXIT
+08005658 _Denorm
+08005668 _Eps
+080058a4 _Errno
+08005678 _Hugeval
+08005688 _Inf
+080056d8 _LDenorm
+080056e8 _LEps
+080056f8 _LInf
+08005708 _LNan
+08005728 _LRteps
+08005718 _LSnan
+08005738 _LXbig
+08005740 _LZero
+08005698 _Nan
+080056b8 _Rteps
+080056a8 _Snan
+080056c8 _Xbig
+080056d0 _Zero
+00010ec8 __TI_CINIT_Base
+00010ed8 __TI_CINIT_Limit
+00010eb0 __TI_Handler_Table_Base
+00010ebc __TI_Handler_Table_Limit
+0000caec __TI_PINIT_Base
+0000caf0 __TI_PINIT_Limit
+0000ffcd __TI_decompress_none
+0000ffdb __TI_decompress_rle24
00000000 __TI_static_base__
-0000f5ef __TI_zero_init
-0000f57d __aeabi_lmul
-0000f189 __aeabi_memclr
-0000f189 __aeabi_memclr4
-0000f189 __aeabi_memclr8
-0000f0ed __aeabi_memcpy
-0000f0ed __aeabi_memcpy4
-0000f0ed __aeabi_memcpy8
-0000f18b __aeabi_memset
-0000f18b __aeabi_memset4
-0000f18b __aeabi_memset8
-0000f2d4 __aeabi_uidivmod
-0000d6e1 __aeabi_uldivmod
+0000ff7b __TI_zero_init
+0000ff09 __aeabi_lmul
+0000fb2d __aeabi_memclr
+0000fb2d __aeabi_memclr4
+0000fb2d __aeabi_memclr8
+0000fa91 __aeabi_memcpy
+0000fa91 __aeabi_memcpy4
+0000fa91 __aeabi_memcpy8
+0000fb2f __aeabi_memset
+0000fb2f __aeabi_memset4
+0000fb2f __aeabi_memset8
+0000fc60 __aeabi_uidivmod
+0000dfbd __aeabi_uldivmod
ffffffff __binit__
ffffffff __c_args__
-0000a460 _c_int00
-0800587c _cleanup_ptr
-0000c138 _coreClearAuxiliaryDataFault_
-0000c154 _coreClearAuxiliaryInstructionFault_
-0000c100 _coreClearDataFaultAddress_
-0000c0c8 _coreClearDataFault_
-0000c11c _coreClearInstructionFaultAddress_
-0000c0e4 _coreClearInstructionFault_
-0000c02c _coreDisableEventBusExport_
-0000c090 _coreDisableFlashEcc_
-0000c05c _coreDisableRamEcc_
-0000c014 _coreEnableEventBusExport_
-0000c074 _coreEnableFlashEcc_
-0000c0a8 _coreEnableIrqVicOffset_
-0000c044 _coreEnableRamEcc_
-0000bffc _coreEnableVfp_
-0000c130 _coreGetAuxiliaryDataFault_
-0000c14c _coreGetAuxiliaryInstructionFault_
-0000c0f8 _coreGetDataFaultAddress_
-0000c0c0 _coreGetDataFault_
-0000c114 _coreGetInstructionFaultAddress_
-0000c0dc _coreGetInstructionFault_
-0000be94 _coreInitRegisters_
-0000bf94 _coreInitStackPointer_
-00010278 _ctypes_
-0000ef74 _dabort
-0000c170 _disable_FIQ_interrupt_
-0000c178 _disable_IRQ_interrupt_
-0000c168 _disable_interrupt_
-08005880 _dtors_ptr
-0000c180 _enable_interrupt_
-0000c188 _esmCcmErrorsClear_
-0000bfe0 _getCPSRValue_
-0000bfe8 _gotoCPUIdle_
-08005874 _lock
-00002e84 _memoryInit_
-0000f571 _nop
-0000f56b _register_lock
-0000f565 _register_unlock
-00008475 _scanfi
-08005878 _unlock
-0000f419 abort
-08005640 adc1Data
-0000de74 adc1Group0Interrupt
-0000dec0 adc1Group1Interrupt
-0000df00 adc1Group2Interrupt
-00003b74 adc1ParityCheck
-0000df4c adc2Group0Interrupt
-0000df98 adc2Group1Interrupt
-0000dfe4 adc2Group2Interrupt
-00003be0 adc2ParityCheck
-00008bb8 adcCalibration
+0000ad38 _c_int00
+08005890 _cleanup_ptr
+0000ca14 _coreClearAuxiliaryDataFault_
+0000ca30 _coreClearAuxiliaryInstructionFault_
+0000c9dc _coreClearDataFaultAddress_
+0000c9a4 _coreClearDataFault_
+0000c9f8 _coreClearInstructionFaultAddress_
+0000c9c0 _coreClearInstructionFault_
+0000c908 _coreDisableEventBusExport_
+0000c96c _coreDisableFlashEcc_
+0000c938 _coreDisableRamEcc_
+0000c8f0 _coreEnableEventBusExport_
+0000c950 _coreEnableFlashEcc_
+0000c984 _coreEnableIrqVicOffset_
+0000c920 _coreEnableRamEcc_
+0000c8d8 _coreEnableVfp_
+0000ca0c _coreGetAuxiliaryDataFault_
+0000ca28 _coreGetAuxiliaryInstructionFault_
+0000c9d4 _coreGetDataFaultAddress_
+0000c99c _coreGetDataFault_
+0000c9f0 _coreGetInstructionFaultAddress_
+0000c9b8 _coreGetInstructionFault_
+0000c770 _coreInitRegisters_
+0000c870 _coreInitStackPointer_
+00010970 _ctypes_
+0000f918 _dabort
+0000ca4c _disable_FIQ_interrupt_
+0000ca54 _disable_IRQ_interrupt_
+0000ca44 _disable_interrupt_
+08005894 _dtors_ptr
+0000ca5c _enable_interrupt_
+0000ca64 _esmCcmErrorsClear_
+0000c8bc _getCPSRValue_
+0000c8c4 _gotoCPUIdle_
+08005888 _lock
+000046ac _memoryInit_
+0000fefd _nop
+0000fef7 _register_lock
+0000fef1 _register_unlock
+00008be9 _scanfi
+0800588c _unlock
+0000fda5 abort
+0000e924 adc1Group0Interrupt
+0000e970 adc1Group1Interrupt
+0000e9b0 adc1Group2Interrupt
+0000539c adc1ParityCheck
+0000e9fc adc2Group0Interrupt
+0000ea48 adc2Group1Interrupt
+0000ea88 adc2Group2Interrupt
+00005408 adc2ParityCheck
+00009444 adcCalibration
+08005640 adcData
0800563c adcDataConverted
-00008f84 adcDisableNotification
-00008f34 adcEnableNotification
-00008984 adcGetData
-00008790 adcInit
-00008b88 adcIsConversionComplete
-00008b58 adcIsFifoFull
-00008d94 adcMidPointCalibration
-0000d2d0 adcNotification
-0000895c adcResetFiFo
-000088ac adcStartConversion
-00008934 adcStopConversion
-0000f329 atoi
-0000f379 atol
+00009810 adcDisableNotification
+000097c0 adcEnableNotification
+00009210 adcGetData
+00008f04 adcInit
+00009414 adcIsConversionComplete
+000093e4 adcIsFifoFull
+00009620 adcMidPointCalibration
+0000dbac adcNotification
+000091e8 adcResetFiFo
+00009138 adcStartConversion
+000091c0 adcStopConversion
+0000fcb5 atoi
+0000fd05 atol
ffffffff binit
-0000c82c can1HighLevelInterrupt
-0000c8e8 can1LowLevelInterrupt
-00003c4c can1ParityCheck
-0000c984 can2HighLevelInterrupt
-0000ca40 can2LowLevelInterrupt
-00003ccc can2ParityCheck
-00003d5c can3ParityCheck
+0000d108 can1HighLevelInterrupt
+0000d1c4 can1LowLevelInterrupt
+00005474 can1ParityCheck
+0000d260 can2HighLevelInterrupt
+0000d31c can2LowLevelInterrupt
+000054f4 can2ParityCheck
+00005584 can3ParityCheck
00002c8c canDisableErrorNotification
00002c6c canEnableErrorNotification
-0000d38c canErrorNotification
+0000dc68 canErrorNotification
000029e0 canGetData
00002c48 canGetErrorLevel
00002c24 canGetLastError
00002bc8 canIsMessageBoxValid
00002b6c canIsRxMessageArrived
00002b10 canIsTxMessagePending
-0000d3b0 canMessageNotification
+0000dc8c canMessageNotification
08005638 canMsgReceived
000028fc canTransmit
-00009624 capGetSignal
-00002e50 ccmFail
-00002d6c ccmSelfCheck
-000035a0 checkB0RAMECC
-000036c4 checkB1RAMECC
-000037e4 checkFlashECC
-00003424 checkefcSelfTest
-0000b98c clearBuffer
-0000b96c clearInputBuffer
-0000b97c clearOutputBuffer
-00010208 cmd_des_char
-00010220 cmd_des_charmid
-00010178 cmd_des_error
-000100e8 cmd_des_help
-00010238 cmd_des_hiddedn
-000101f0 cmd_des_num
-00010148 cmd_des_opchar_test
-000101a8 cmd_des_opchar_testro
-00010190 cmd_des_param
-000101d8 cmd_des_prefix
-000100a0 cmd_des_read
-00010088 cmd_des_setPin
-000101c0 cmd_des_test
-000100b8 cmd_des_testadcconnetion
-000100d0 cmd_des_testcanloopback
-00010160 cmd_des_testio
-00010100 cmd_des_val
-00010118 cmd_des_valro
-00010130 cmd_des_valwo
-00007ba0 cmd_do_help
-00005814 cmd_do_readADC1Values
-00005754 cmd_do_readDINValues
-00005694 cmd_do_readMOUTValues
-00005a20 cmd_do_readValues
-000079d8 cmd_do_rw_int
-00007a78 cmd_do_rw_long
-00007938 cmd_do_rw_short
-00005c34 cmd_do_setPin
-000078b4 cmd_do_stamp
-00006530 cmd_do_test
-00005fd0 cmd_do_testADC1Connection
-00006284 cmd_do_testcanloopback
-00006588 cmd_do_testcmdio
-00006514 cmd_do_testerror
-000063cc cmd_do_testopchar
-000064a0 cmd_do_testparam
-0000b3f8 cmd_ed_line_buf
-0800584c cmd_io_buf
-0000b628 cmd_io_line_in
-0000b530 cmd_io_line_out
-0000b510 cmd_io_line_putc
-0000b700 cmd_io_line_rdline
-0000e090 cmd_io_puts
-0000e19c cmd_io_read_bychar
-000105a4 cmd_io_std_line
-0000e124 cmd_io_write_bychar
-08005788 cmd_list
-08005750 cmd_list_1
-08005768 cmd_list_2
-0800578c cmd_list_main
-000077e4 cmd_num_suffix
-00007768 cmd_opchar_check
-00007b18 cmd_opchar_replong
-0000e998 cmd_processor_run
-0000f3c9 copy_in
-00002f70 cpuSelfTest
-000038b4 cpuSelfTestFail
-000038ac custom_dabort
-0000f4e0 dinGetPort
-0000f4c8 dinSetPort
-0000392c dmaParityCheck
-080057bc ed_line_buf_in_std
-080057d4 ed_line_buf_out_std
+00009ef8 capGetSignal
+00004678 ccmFail
+00004594 ccmSelfCheck
+00004dc8 checkB0RAMECC
+00004eec checkB1RAMECC
+0000500c checkFlashECC
+00004c4c checkefcSelfTest
+0000c268 clearBuffer
+0000c248 clearInputBuffer
+0000c258 clearOutputBuffer
+00010a74 cmd_des_getPin
+00010b1c cmd_des_help
+00010aa4 cmd_des_read
+00010a8c cmd_des_setPin
+00010abc cmd_des_testadcconnetion
+00010ad4 cmd_des_testcanloopback
+00010b04 cmd_des_testhoutfail
+00010aec cmd_des_testmoutfail
+00003aa4 cmd_do_getPin
+00008314 cmd_do_help
+00003288 cmd_do_readADC1Values
+00002e44 cmd_do_readDINValues
+00002d6c cmd_do_readMOUTValues
+0000346c cmd_do_readValues
+00002f10 cmd_do_read_HOUT_DIAG_Values
+00003128 cmd_do_read_HOUT_IFBK_Values
+0000814c cmd_do_rw_int
+000081ec cmd_do_rw_long
+000080ac cmd_do_rw_short
+0000367c cmd_do_setPin
+00008028 cmd_do_stamp
+00003f1c cmd_do_testADC1Connection
+00004130 cmd_do_testcanloopback
+000042a8 cmd_do_testhoutfault
+000043a0 cmd_do_testmoutfault
+0000bcd4 cmd_ed_line_buf
+08005854 cmd_io_buf
+0000bf04 cmd_io_line_in
+0000be0c cmd_io_line_out
+0000bdec cmd_io_line_putc
+0000bfdc cmd_io_line_rdline
+0000e794 cmd_io_puts
+0000e8a0 cmd_io_read_bychar
+00010d18 cmd_io_std_line
+0000e828 cmd_io_write_bychar
+08005898 cmd_list
+08005830 cmd_list_main
+00007f58 cmd_num_suffix
+00007edc cmd_opchar_check
+0000828c cmd_opchar_replong
+0000f264 cmd_processor_run
+0000fd55 copy_in
+00004798 cpuSelfTest
+000050dc cpuSelfTestFail
+000050d4 custom_dabort
+08005828 dinBits
+0000fe6c dinGetPort
+08005808 dinPorts
+0000fe54 dinSetPort
+00005154 dmaParityCheck
+08005748 ed_line_buf_in_std
+08005760 ed_line_buf_out_std
0800555c ed_line_in_std
080055b0 ed_line_out_std
-000095e4 edgeDisableNotification
-000095a8 edgeEnableNotification
-0000957c edgeGetCounter
-0000d484 edgeNotification
-00009550 edgeResetCounter
-000032ec efcCheck
-000034bc efcClass1Error
-000034c0 efcClass2Error
-000033fc efcSelfTest
-00003348 efcStuckZeroTest
-0000b0fc esmActivateNormalOperation
-0000b1e8 esmClearStatus
-0000b228 esmClearStatusBuffer
-0000b0c0 esmDisableError
-0000b138 esmDisableInterrupt
-0000b094 esmEnableError
-0000b10c esmEnableInterrupt
-0000b078 esmError
-0000b274 esmGetStatus
-0000b2d8 esmGetStatusBuffer
-0000d288 esmGroup1Notification
-0000d294 esmGroup2Notification
-0000d4c0 esmHighInterrupt
-0000af4c esmInit
-0000d604 esmLowInterrupt
-0000b254 esmSetCounterPreloadValue
-0000b164 esmSetInterruptLevel
-0000b0ec esmTriggerErrorPinReset
-0000f421 exit
-000038a4 flashClass1Error
-000038a8 flashClass2Error
-000034c4 fmcBus2Check
-00003598 fmcClass1Error
-0000359c fmcClass2Error
-00003500 fmcECCcheck
+00009eb8 edgeDisableNotification
+00009e7c edgeEnableNotification
+00009e50 edgeGetCounter
+0000dd60 edgeNotification
+00009e24 edgeResetCounter
+00004b14 efcCheck
+00004ce4 efcClass1Error
+00004ce8 efcClass2Error
+00004c24 efcSelfTest
+00004b70 efcStuckZeroTest
+0000b9d8 esmActivateNormalOperation
+0000bac4 esmClearStatus
+0000bb04 esmClearStatusBuffer
+0000b99c esmDisableError
+0000ba14 esmDisableInterrupt
+0000b970 esmEnableError
+0000b9e8 esmEnableInterrupt
+0000b954 esmError
+0000bb50 esmGetStatus
+0000bbb4 esmGetStatusBuffer
+0000db64 esmGroup1Notification
+0000db70 esmGroup2Notification
+0000dd9c esmHighInterrupt
+0000b828 esmInit
+0000dee0 esmLowInterrupt
+0000bb30 esmSetCounterPreloadValue
+0000ba40 esmSetInterruptLevel
+0000b9c8 esmTriggerErrorPinReset
+0000fdad exit
+000050cc flashClass1Error
+000050d0 flashClass2Error
+00004cec fmcBus2Check
+00004dc0 fmcClass1Error
+00004dc4 fmcClass2Error
+00004d28 fmcECCcheck
08005608 g_sciTransfer
-0000b82c genericPrint
-0000b7e4 genericRead
-0000cfe0 gioDisableNotification
-0000cfbc gioEnableNotification
-0000cf24 gioGetBit
-0000cf4c gioGetPort
-0000eeac gioHighLevelInterrupt
-0000cdc4 gioInit
-0000ef0c gioLowLevelInterrupt
-0000d408 gioNotification
-0000ceb4 gioSetBit
-0000ce94 gioSetDirection
-0000cf04 gioSetPort
-0000cf64 gioToggleBit
-0000e800 het1HighLevelInterrupt
-0000e8a8 het1LowLevelInterrupt
-0000fae4 het1PROGRAM
-000039a0 het1ParityCheck
-00003a7c het2ParityCheck
-00009734 hetGetTimestamp
-00009008 hetInit
-0000d494 hetNotification
-00009718 hetResetTimestamp
-00003a08 htu1ParityCheck
-00003b00 htu2ParityCheck
-0000cb0c i2str
+0000c108 genericPrint
+0000c0c0 genericRead
+0000d8bc gioDisableNotification
+0000d898 gioEnableNotification
+0000d800 gioGetBit
+0000d828 gioGetPort
+0000f850 gioHighLevelInterrupt
+0000d6a0 gioInit
+0000f8b0 gioLowLevelInterrupt
+0000dce4 gioNotification
+0000d790 gioSetBit
+0000d770 gioSetDirection
+0000d7e0 gioSetPort
+0000d840 gioToggleBit
+0000f0cc het1HighLevelInterrupt
+0000f174 het1LowLevelInterrupt
+000103cc het1PROGRAM
+000051c8 het1ParityCheck
+000052a4 het2ParityCheck
+0000a008 hetGetTimestamp
+000098dc hetInit
+0000dd70 hetNotification
+00009fec hetResetTimestamp
+08005870 houtBits
+0000f704 houtGetPort
+08005778 houtPorts
+0000f6a0 houtSetPort
+00005230 htu1ParityCheck
+00005328 htu2ParityCheck
+0000d3e8 i2str
0800562c inBuffer
-0000e220 initCmdProc
-0000b754 initIoBuffer
-0000f601 isalnum
-0000f611 isdigit
-0000f621 isspace
-0000f200 main
-0000c638 mapClocks
-0000f0ed memcpy
-0000d2a0 memoryPort0TestFailNotification
-0000d2b8 memoryPort1TestFailNotification
-0000f191 memset
-00003df0 mibspi1ParityCheck
-00003ed8 mibspi3ParityCheck
-0000e51c mibspi5HighLevelInterrupt
-0000e5cc mibspi5LowLevelInterrupt
-00003fd0 mibspi5ParityCheck
-00009d4c mibspiDisableGroupNotification
-00009ca8 mibspiDisableLoopback
-00009cc4 mibspiEnableGroupNotification
-00009c74 mibspiEnableLoopback
-00009ad8 mibspiGetData
-0000d424 mibspiGroupNotification
-00009794 mibspiInit
-00009c48 mibspiIsTransferComplete
-0000d414 mibspiNotification
-000099d4 mibspiSetData
-000099b4 mibspiSetFunctional
-00009c18 mibspiTransfer
-08005868 moutBits
-0000ee38 moutGetPort
-080057ec moutPorts
-0000edd4 moutSetPort
-0000c218 muxInit
+0000eaec initCmdProc
+0000c030 initIoBuffer
+0000ff8d isalnum
+0000ff9d isdigit
+0000ffad isspace
+0000fc04 main
+0000cf14 mapClocks
+0000fa91 memcpy
+0000db7c memoryPort0TestFailNotification
+0000db94 memoryPort1TestFailNotification
+0000fb35 memset
+00005618 mibspi1ParityCheck
+00005700 mibspi3ParityCheck
+0000ede8 mibspi5HighLevelInterrupt
+0000ee98 mibspi5LowLevelInterrupt
+000057f8 mibspi5ParityCheck
+0000a624 mibspiDisableGroupNotification
+0000a580 mibspiDisableLoopback
+0000a59c mibspiEnableGroupNotification
+0000a54c mibspiEnableLoopback
+0000a3b0 mibspiGetData
+0000dd00 mibspiGroupNotification
+0000a06c mibspiInit
+0000a520 mibspiIsTransferComplete
+0000dcf0 mibspiNotification
+0000a2ac mibspiSetData
+0000a28c mibspiSetFunctional
+0000a4f0 mibspiTransfer
+0800587c moutBits
+0000f7dc moutGetPort
+080057a8 moutPorts
+0000f778 moutSetPort
+0000caf4 muxInit
08005620 outBuffer
-00003238 pbistIsTestCompleted
-00003254 pbistIsTestPassed
-00003290 pbistPortTestStatus
-00003130 pbistRun
-00002ff0 pbistSelfCheck
-0000312c pbistSelfCheckFail
-00003208 pbistStop
-0000c5e0 periphInit
-0000f654 phantomInterrupt
-0000b7b4 print
-00007344 proc_cmd_line
-0000e340 processCmd
-08005650 processCmdHandler
-08005654 prompt
-0000ecec pvPortMalloc
-00009520 pwmDisableNotification
-000094d8 pwmEnableNotification
-000093dc pwmGetSignal
-0000d470 pwmNotification
-00009130 pwmSetDuty
-0000926c pwmSetSignal
-000090c8 pwmStart
-000090fc pwmStop
-0800581c pxCurrentTCB
-00009e28 pxPortInitialiseStack
-0000b7cc read
-0000ae10 sciDisableLoopback
-0000ae94 sciDisableNotification
-0000addc sciEnableLoopback
-0000ae2c sciEnableNotification
-0000bb10 sciHighLevelInterrupt
-0000aa0c sciInit
-0000ace0 sciIsRxReady
-0000ab80 sciIsTxReady
-0000bca8 sciLowLevelInterrupt
-0000d434 sciNotification
-0000ad54 sciReceive
-0000ad2c sciReceiveByte
-0000acfc sciRxError
-0000abcc sciSend
-0000ab9c sciSendByte
-0000ab00 sciSetBaudrate
-0000aae0 sciSetFunctional
-0000c5a0 setupFlash
-0000c524 setupPLL
-00007310 skip_white
-0000f035 sscanf
-00002ec8 stcSelfCheck
-000038b0 stcSelfCheckFail
-0000f5c5 strchr
-0000f595 strcmp
-0000f631 strcpy
-0000f545 strcspn
-0000f5db strlen
-0000f51f strncmp
-0000f499 strncpy
-0000f5ad strrchr
-0000f4f5 strspn
-0000d8d5 strtod
-0000f459 strtok
-0000eaad strtol
-0000dab9 strtold
-0000dc99 strtoll
-0000ebdd strtoul
-0000e3a1 strtoull
-0000c710 systemInit
-0000c79c systemPowerDown
-000037dc tcramClass1Error
-000037e0 tcramClass2Error
-0000ba10 tisci_getc
-0000b9d4 tisci_putc
-0000ba80 tisci_read
-0000ba40 tisci_write
-0000c558 trimLPO
-08005888 ulCriticalNesting
-00006ebc uxQueueMessagesWaiting
-00006ee0 uxQueueMessagesWaitingFromISR
-00004c08 uxTaskGetNumberOfTasks
-000053e8 uxTaskGetStackHighWaterMark
-00004598 uxTaskPriorityGet
-0000d048 vListInitialise
-0000d0a0 vListInitialiseItem
-0000d140 vListInsert
-0000d0bc vListInsertEnd
-0000d204 vListRemove
-0000a31c vPortEndScheduler
-0000a320 vPortEnterCritical
-0000a338 vPortExitCritical
-0000ed94 vPortFree
-0000eda4 vPortInitialiseBlocks
-0000e694 vPortStartFirstTask
-0000e7ec vPortYield
-0000e6c8 vPortYieldProcessor
-0000e750 vPreemptiveTick
-00006f00 vQueueDelete
-00004530 vTaskDelay
-00004434 vTaskDelayUntil
-00004a24 vTaskEndScheduler
-00004c1c vTaskIncrementTick
-00005110 vTaskMissedYield
-00004ebc vTaskPlaceOnEventList
-000055ac vTaskPriorityDisinherit
-000054a8 vTaskPriorityInherit
-000045dc vTaskPrioritySet
-000048e4 vTaskResume
-00005008 vTaskSetTimeOutState
-000049a8 vTaskStartScheduler
-00004778 vTaskSuspend
-00004a40 vTaskSuspendAll
-00004df4 vTaskSwitchContext
-0800564c val
-000038b8 vimParityCheck
-0000edb4 xPortGetFreeHeapSize
-0000a308 xPortStartScheduler
-00006748 xQueueCreate
-00006934 xQueueCreateCountingSemaphore
-00006878 xQueueCreateMutex
-00006bc4 xQueueGenericReceive
-00006970 xQueueGenericSend
-00006af8 xQueueGenericSendFromISR
-000071ec xQueueIsQueueEmptyFromISR
-00007258 xQueueIsQueueFullFromISR
-00006df0 xQueueReceiveFromISR
-00005038 xTaskCheckForTimeOut
-00004234 xTaskGenericCreate
-00005438 xTaskGetCurrentTaskHandle
-00005458 xTaskGetSchedulerState
-00004bc4 xTaskGetTickCount
-00004be4 xTaskGetTickCountFromISR
-00004850 xTaskIsTaskSuspended
-00004f30 xTaskRemoveFromEventList
-00004a54 xTaskResumeAll
+00004a60 pbistIsTestCompleted
+00004a7c pbistIsTestPassed
+00004ab8 pbistPortTestStatus
+00004958 pbistRun
+00004818 pbistSelfCheck
+00004954 pbistSelfCheckFail
+00004a30 pbistStop
+0000cebc periphInit
+0000ffe0 phantomInterrupt
+0000c090 print
+00007ab8 proc_cmd_line
+0000ec0c processCmd
+0800564c processCmdHandler
+08005650 prompt
+0000f5b8 pvPortMalloc
+00009df4 pwmDisableNotification
+00009dac pwmEnableNotification
+00009cb0 pwmGetSignal
+0000dd4c pwmNotification
+00009a04 pwmSetDuty
+00009b40 pwmSetSignal
+0000999c pwmStart
+000099d0 pwmStop
+080057d8 pxCurrentTCB
+0000a700 pxPortInitialiseStack
+0000c0a8 read
+00002fe8 readADC
+0000b6ec sciDisableLoopback
+0000b770 sciDisableNotification
+0000b6b8 sciEnableLoopback
+0000b708 sciEnableNotification
+0000c3ec sciHighLevelInterrupt
+0000b2e8 sciInit
+0000b5bc sciIsRxReady
+0000b45c sciIsTxReady
+0000c584 sciLowLevelInterrupt
+0000dd10 sciNotification
+0000b630 sciReceive
+0000b608 sciReceiveByte
+0000b5d8 sciRxError
+0000b4a8 sciSend
+0000b478 sciSendByte
+0000b3dc sciSetBaudrate
+0000b3bc sciSetFunctional
+0000ce7c setupFlash
+0000ce00 setupPLL
+00007a84 skip_white
+0000f9d9 sscanf
+000046f0 stcSelfCheck
+000050d8 stcSelfCheckFail
+0000ff51 strchr
+0000ff21 strcmp
+0000ffbd strcpy
+0000fed1 strcspn
+0000ff67 strlen
+0000feab strncmp
+0000fe25 strncpy
+0000ff39 strrchr
+0000fe81 strspn
+0000e1b1 strtod
+0000fde5 strtok
+0000f379 strtol
+0000e395 strtold
+0000e575 strtoll
+0000f4a9 strtoul
+0000ec6d strtoull
+0000cfec systemInit
+0000d078 systemPowerDown
+00005004 tcramClass1Error
+00005008 tcramClass2Error
+0000c2ec tisci_getc
+0000c2b0 tisci_putc
+0000c35c tisci_read
+0000c31c tisci_write
+0000ce34 trimLPO
+080058a0 ulCriticalNesting
+00007630 uxQueueMessagesWaiting
+00007654 uxQueueMessagesWaitingFromISR
+00006430 uxTaskGetNumberOfTasks
+00006c10 uxTaskGetStackHighWaterMark
+00005dc0 uxTaskPriorityGet
+0000d924 vListInitialise
+0000d97c vListInitialiseItem
+0000da1c vListInsert
+0000d998 vListInsertEnd
+0000dae0 vListRemove
+0000abf4 vPortEndScheduler
+0000abf8 vPortEnterCritical
+0000ac10 vPortExitCritical
+0000f660 vPortFree
+0000f670 vPortInitialiseBlocks
+0000ef60 vPortStartFirstTask
+0000f0b8 vPortYield
+0000ef94 vPortYieldProcessor
+0000f01c vPreemptiveTick
+00007674 vQueueDelete
+00005d58 vTaskDelay
+00005c5c vTaskDelayUntil
+0000624c vTaskEndScheduler
+00006444 vTaskIncrementTick
+00006938 vTaskMissedYield
+000066e4 vTaskPlaceOnEventList
+00006dd4 vTaskPriorityDisinherit
+00006cd0 vTaskPriorityInherit
+00005e04 vTaskPrioritySet
+0000610c vTaskResume
+00006830 vTaskSetTimeOutState
+000061d0 vTaskStartScheduler
+00005fa0 vTaskSuspend
+00006268 vTaskSuspendAll
+0000661c vTaskSwitchContext
+000050e0 vimParityCheck
+0000f680 xPortGetFreeHeapSize
+0000abe0 xPortStartScheduler
+00006ebc xQueueCreate
+000070a8 xQueueCreateCountingSemaphore
+00006fec xQueueCreateMutex
+00007338 xQueueGenericReceive
+000070e4 xQueueGenericSend
+0000726c xQueueGenericSendFromISR
+00007960 xQueueIsQueueEmptyFromISR
+000079cc xQueueIsQueueFullFromISR
+00007564 xQueueReceiveFromISR
+00006860 xTaskCheckForTimeOut
+00005a5c xTaskGenericCreate
+00006c60 xTaskGetCurrentTaskHandle
+00006c80 xTaskGetSchedulerState
+000063ec xTaskGetTickCount
+0000640c xTaskGetTickCountFromISR
+00006078 xTaskIsTaskSuspended
+00006758 xTaskRemoveFromEventList
+0000627c xTaskResumeAll
GLOBAL SYMBOLS: SORTED BY Symbol Address
00002ce4 canIoSetPort
00002d1c canIoTxGetBit
00002d38 canIoRxGetBit
-00002d6c ccmSelfCheck
-00002e50 ccmFail
-00002e84 _memoryInit_
-00002ec8 stcSelfCheck
-00002f70 cpuSelfTest
-00002ff0 pbistSelfCheck
-0000312c pbistSelfCheckFail
-00003130 pbistRun
-00003208 pbistStop
-00003238 pbistIsTestCompleted
-00003254 pbistIsTestPassed
-00003290 pbistPortTestStatus
-000032ec efcCheck
-00003348 efcStuckZeroTest
-000033fc efcSelfTest
-00003424 checkefcSelfTest
-000034bc efcClass1Error
-000034c0 efcClass2Error
-000034c4 fmcBus2Check
-00003500 fmcECCcheck
-00003598 fmcClass1Error
-0000359c fmcClass2Error
-000035a0 checkB0RAMECC
-000036c4 checkB1RAMECC
-000037dc tcramClass1Error
-000037e0 tcramClass2Error
-000037e4 checkFlashECC
-000038a4 flashClass1Error
-000038a8 flashClass2Error
-000038ac custom_dabort
-000038b0 stcSelfCheckFail
-000038b4 cpuSelfTestFail
-000038b8 vimParityCheck
-0000392c dmaParityCheck
-000039a0 het1ParityCheck
-00003a08 htu1ParityCheck
-00003a7c het2ParityCheck
-00003b00 htu2ParityCheck
-00003b74 adc1ParityCheck
-00003be0 adc2ParityCheck
-00003c4c can1ParityCheck
-00003ccc can2ParityCheck
-00003d5c can3ParityCheck
-00003df0 mibspi1ParityCheck
-00003ed8 mibspi3ParityCheck
-00003fd0 mibspi5ParityCheck
-00004234 xTaskGenericCreate
-00004434 vTaskDelayUntil
-00004530 vTaskDelay
-00004598 uxTaskPriorityGet
-000045dc vTaskPrioritySet
-00004778 vTaskSuspend
-00004850 xTaskIsTaskSuspended
-000048e4 vTaskResume
-000049a8 vTaskStartScheduler
-00004a24 vTaskEndScheduler
-00004a40 vTaskSuspendAll
-00004a54 xTaskResumeAll
-00004bc4 xTaskGetTickCount
-00004be4 xTaskGetTickCountFromISR
-00004c08 uxTaskGetNumberOfTasks
-00004c1c vTaskIncrementTick
-00004df4 vTaskSwitchContext
-00004ebc vTaskPlaceOnEventList
-00004f30 xTaskRemoveFromEventList
-00005008 vTaskSetTimeOutState
-00005038 xTaskCheckForTimeOut
-00005110 vTaskMissedYield
-000053e8 uxTaskGetStackHighWaterMark
-00005438 xTaskGetCurrentTaskHandle
-00005458 xTaskGetSchedulerState
-000054a8 vTaskPriorityInherit
-000055ac vTaskPriorityDisinherit
-00005694 cmd_do_readMOUTValues
-00005754 cmd_do_readDINValues
-00005814 cmd_do_readADC1Values
-00005a20 cmd_do_readValues
-00005c34 cmd_do_setPin
-00005fd0 cmd_do_testADC1Connection
-00006284 cmd_do_testcanloopback
-000063cc cmd_do_testopchar
-000064a0 cmd_do_testparam
-00006514 cmd_do_testerror
-00006530 cmd_do_test
-00006588 cmd_do_testcmdio
-00006748 xQueueCreate
-00006878 xQueueCreateMutex
-00006934 xQueueCreateCountingSemaphore
-00006970 xQueueGenericSend
-00006af8 xQueueGenericSendFromISR
-00006bc4 xQueueGenericReceive
-00006df0 xQueueReceiveFromISR
-00006ebc uxQueueMessagesWaiting
-00006ee0 uxQueueMessagesWaitingFromISR
-00006f00 vQueueDelete
-000071ec xQueueIsQueueEmptyFromISR
-00007258 xQueueIsQueueFullFromISR
-00007310 skip_white
-00007344 proc_cmd_line
-00007768 cmd_opchar_check
-000077e4 cmd_num_suffix
-000078b4 cmd_do_stamp
-00007938 cmd_do_rw_short
-000079d8 cmd_do_rw_int
-00007a78 cmd_do_rw_long
-00007b18 cmd_opchar_replong
-00007ba0 cmd_do_help
-00008475 _scanfi
-00008790 adcInit
-000088ac adcStartConversion
-00008934 adcStopConversion
-0000895c adcResetFiFo
-00008984 adcGetData
-00008b58 adcIsFifoFull
-00008b88 adcIsConversionComplete
-00008bb8 adcCalibration
-00008d94 adcMidPointCalibration
-00008f34 adcEnableNotification
-00008f84 adcDisableNotification
-00009008 hetInit
-000090c8 pwmStart
-000090fc pwmStop
-00009130 pwmSetDuty
-0000926c pwmSetSignal
-000093dc pwmGetSignal
-000094d8 pwmEnableNotification
-00009520 pwmDisableNotification
-00009550 edgeResetCounter
-0000957c edgeGetCounter
-000095a8 edgeEnableNotification
-000095e4 edgeDisableNotification
-00009624 capGetSignal
-00009718 hetResetTimestamp
-00009734 hetGetTimestamp
-00009794 mibspiInit
-000099b4 mibspiSetFunctional
-000099d4 mibspiSetData
-00009ad8 mibspiGetData
-00009c18 mibspiTransfer
-00009c48 mibspiIsTransferComplete
-00009c74 mibspiEnableLoopback
-00009ca8 mibspiDisableLoopback
-00009cc4 mibspiEnableGroupNotification
-00009d4c mibspiDisableGroupNotification
-00009e28 pxPortInitialiseStack
-0000a308 xPortStartScheduler
-0000a31c vPortEndScheduler
-0000a320 vPortEnterCritical
-0000a338 vPortExitCritical
-0000a460 _c_int00
-0000aa0c sciInit
-0000aae0 sciSetFunctional
-0000ab00 sciSetBaudrate
-0000ab80 sciIsTxReady
-0000ab9c sciSendByte
-0000abcc sciSend
-0000ace0 sciIsRxReady
-0000acfc sciRxError
-0000ad2c sciReceiveByte
-0000ad54 sciReceive
-0000addc sciEnableLoopback
-0000ae10 sciDisableLoopback
-0000ae2c sciEnableNotification
-0000ae94 sciDisableNotification
-0000af4c esmInit
-0000b078 esmError
-0000b094 esmEnableError
-0000b0c0 esmDisableError
-0000b0ec esmTriggerErrorPinReset
-0000b0fc esmActivateNormalOperation
-0000b10c esmEnableInterrupt
-0000b138 esmDisableInterrupt
-0000b164 esmSetInterruptLevel
-0000b1e8 esmClearStatus
-0000b228 esmClearStatusBuffer
-0000b254 esmSetCounterPreloadValue
-0000b274 esmGetStatus
-0000b2d8 esmGetStatusBuffer
-0000b3f8 cmd_ed_line_buf
-0000b510 cmd_io_line_putc
-0000b530 cmd_io_line_out
-0000b628 cmd_io_line_in
-0000b700 cmd_io_line_rdline
-0000b754 initIoBuffer
-0000b7b4 print
-0000b7cc read
-0000b7e4 genericRead
-0000b82c genericPrint
-0000b96c clearInputBuffer
-0000b97c clearOutputBuffer
-0000b98c clearBuffer
-0000b9d4 tisci_putc
-0000ba10 tisci_getc
-0000ba40 tisci_write
-0000ba80 tisci_read
-0000bb10 sciHighLevelInterrupt
-0000bca8 sciLowLevelInterrupt
-0000be94 _coreInitRegisters_
-0000bf94 _coreInitStackPointer_
-0000bfe0 _getCPSRValue_
-0000bfe8 _gotoCPUIdle_
-0000bffc _coreEnableVfp_
-0000c014 _coreEnableEventBusExport_
-0000c02c _coreDisableEventBusExport_
-0000c044 _coreEnableRamEcc_
-0000c05c _coreDisableRamEcc_
-0000c074 _coreEnableFlashEcc_
-0000c090 _coreDisableFlashEcc_
-0000c0a8 _coreEnableIrqVicOffset_
-0000c0c0 _coreGetDataFault_
-0000c0c8 _coreClearDataFault_
-0000c0dc _coreGetInstructionFault_
-0000c0e4 _coreClearInstructionFault_
-0000c0f8 _coreGetDataFaultAddress_
-0000c100 _coreClearDataFaultAddress_
-0000c114 _coreGetInstructionFaultAddress_
-0000c11c _coreClearInstructionFaultAddress_
-0000c130 _coreGetAuxiliaryDataFault_
-0000c138 _coreClearAuxiliaryDataFault_
-0000c14c _coreGetAuxiliaryInstructionFault_
-0000c154 _coreClearAuxiliaryInstructionFault_
-0000c168 _disable_interrupt_
-0000c170 _disable_FIQ_interrupt_
-0000c178 _disable_IRQ_interrupt_
-0000c180 _enable_interrupt_
-0000c188 _esmCcmErrorsClear_
-0000c210 __TI_PINIT_Base
-0000c214 __TI_PINIT_Limit
-0000c218 muxInit
-0000c524 setupPLL
-0000c558 trimLPO
-0000c5a0 setupFlash
-0000c5e0 periphInit
-0000c638 mapClocks
-0000c710 systemInit
-0000c79c systemPowerDown
-0000c82c can1HighLevelInterrupt
-0000c8e8 can1LowLevelInterrupt
-0000c984 can2HighLevelInterrupt
-0000ca40 can2LowLevelInterrupt
-0000cb0c i2str
-0000cdc4 gioInit
-0000ce94 gioSetDirection
-0000ceb4 gioSetBit
-0000cf04 gioSetPort
-0000cf24 gioGetBit
-0000cf4c gioGetPort
-0000cf64 gioToggleBit
-0000cfbc gioEnableNotification
-0000cfe0 gioDisableNotification
-0000d048 vListInitialise
-0000d0a0 vListInitialiseItem
-0000d0bc vListInsertEnd
-0000d140 vListInsert
-0000d204 vListRemove
-0000d288 esmGroup1Notification
-0000d294 esmGroup2Notification
-0000d2a0 memoryPort0TestFailNotification
-0000d2b8 memoryPort1TestFailNotification
-0000d2d0 adcNotification
-0000d38c canErrorNotification
-0000d3b0 canMessageNotification
-0000d408 gioNotification
-0000d414 mibspiNotification
-0000d424 mibspiGroupNotification
-0000d434 sciNotification
-0000d470 pwmNotification
-0000d484 edgeNotification
-0000d494 hetNotification
-0000d4c0 esmHighInterrupt
-0000d604 esmLowInterrupt
-0000d6e1 __aeabi_uldivmod
-0000d8d5 strtod
-0000dab9 strtold
-0000dc99 strtoll
-0000de74 adc1Group0Interrupt
-0000dec0 adc1Group1Interrupt
-0000df00 adc1Group2Interrupt
-0000df4c adc2Group0Interrupt
-0000df98 adc2Group1Interrupt
-0000dfe4 adc2Group2Interrupt
-0000e090 cmd_io_puts
-0000e124 cmd_io_write_bychar
-0000e19c cmd_io_read_bychar
-0000e220 initCmdProc
-0000e340 processCmd
-0000e3a1 strtoull
-0000e51c mibspi5HighLevelInterrupt
-0000e5cc mibspi5LowLevelInterrupt
-0000e694 vPortStartFirstTask
-0000e6c8 vPortYieldProcessor
-0000e750 vPreemptiveTick
-0000e7ec vPortYield
-0000e800 het1HighLevelInterrupt
-0000e8a8 het1LowLevelInterrupt
-0000e998 cmd_processor_run
-0000eaad strtol
-0000ebdd strtoul
-0000ecec pvPortMalloc
-0000ed94 vPortFree
-0000eda4 vPortInitialiseBlocks
-0000edb4 xPortGetFreeHeapSize
-0000edd4 moutSetPort
-0000ee38 moutGetPort
-0000eeac gioHighLevelInterrupt
-0000ef0c gioLowLevelInterrupt
-0000ef74 _dabort
-0000f035 sscanf
-0000f0ed __aeabi_memcpy
-0000f0ed __aeabi_memcpy4
-0000f0ed __aeabi_memcpy8
-0000f0ed memcpy
-0000f189 __aeabi_memclr
-0000f189 __aeabi_memclr4
-0000f189 __aeabi_memclr8
-0000f18b __aeabi_memset
-0000f18b __aeabi_memset4
-0000f18b __aeabi_memset8
-0000f191 memset
-0000f200 main
-0000f2d4 __aeabi_uidivmod
-0000f329 atoi
-0000f379 atol
-0000f3c9 copy_in
-0000f415 C$$EXIT
-0000f419 abort
-0000f421 exit
-0000f459 strtok
-0000f499 strncpy
-0000f4c8 dinSetPort
-0000f4e0 dinGetPort
-0000f4f5 strspn
-0000f51f strncmp
-0000f545 strcspn
-0000f565 _register_unlock
-0000f56b _register_lock
-0000f571 _nop
-0000f57d __aeabi_lmul
-0000f595 strcmp
-0000f5ad strrchr
-0000f5c5 strchr
-0000f5db strlen
-0000f5ef __TI_zero_init
-0000f601 isalnum
-0000f611 isdigit
-0000f621 isspace
-0000f631 strcpy
-0000f641 __TI_decompress_none
-0000f64f __TI_decompress_rle24
-0000f654 phantomInterrupt
-0000fae4 het1PROGRAM
-00010088 cmd_des_setPin
-000100a0 cmd_des_read
-000100b8 cmd_des_testadcconnetion
-000100d0 cmd_des_testcanloopback
-000100e8 cmd_des_help
-00010100 cmd_des_val
-00010118 cmd_des_valro
-00010130 cmd_des_valwo
-00010148 cmd_des_opchar_test
-00010160 cmd_des_testio
-00010178 cmd_des_error
-00010190 cmd_des_param
-000101a8 cmd_des_opchar_testro
-000101c0 cmd_des_test
-000101d8 cmd_des_prefix
-000101f0 cmd_des_num
-00010208 cmd_des_char
-00010220 cmd_des_charmid
-00010238 cmd_des_hiddedn
-00010278 _ctypes_
-000105a4 cmd_io_std_line
-00010710 __TI_Handler_Table_Base
-0001071c __TI_Handler_Table_Limit
-00010728 __TI_CINIT_Base
-00010738 __TI_CINIT_Limit
+00002d6c cmd_do_readMOUTValues
+00002e44 cmd_do_readDINValues
+00002f10 cmd_do_read_HOUT_DIAG_Values
+00002fe8 readADC
+00003128 cmd_do_read_HOUT_IFBK_Values
+00003288 cmd_do_readADC1Values
+0000346c cmd_do_readValues
+0000367c cmd_do_setPin
+00003aa4 cmd_do_getPin
+00003f1c cmd_do_testADC1Connection
+00004130 cmd_do_testcanloopback
+000042a8 cmd_do_testhoutfault
+000043a0 cmd_do_testmoutfault
+00004594 ccmSelfCheck
+00004678 ccmFail
+000046ac _memoryInit_
+000046f0 stcSelfCheck
+00004798 cpuSelfTest
+00004818 pbistSelfCheck
+00004954 pbistSelfCheckFail
+00004958 pbistRun
+00004a30 pbistStop
+00004a60 pbistIsTestCompleted
+00004a7c pbistIsTestPassed
+00004ab8 pbistPortTestStatus
+00004b14 efcCheck
+00004b70 efcStuckZeroTest
+00004c24 efcSelfTest
+00004c4c checkefcSelfTest
+00004ce4 efcClass1Error
+00004ce8 efcClass2Error
+00004cec fmcBus2Check
+00004d28 fmcECCcheck
+00004dc0 fmcClass1Error
+00004dc4 fmcClass2Error
+00004dc8 checkB0RAMECC
+00004eec checkB1RAMECC
+00005004 tcramClass1Error
+00005008 tcramClass2Error
+0000500c checkFlashECC
+000050cc flashClass1Error
+000050d0 flashClass2Error
+000050d4 custom_dabort
+000050d8 stcSelfCheckFail
+000050dc cpuSelfTestFail
+000050e0 vimParityCheck
+00005154 dmaParityCheck
+000051c8 het1ParityCheck
+00005230 htu1ParityCheck
+000052a4 het2ParityCheck
+00005328 htu2ParityCheck
+0000539c adc1ParityCheck
+00005408 adc2ParityCheck
+00005474 can1ParityCheck
+000054f4 can2ParityCheck
+00005584 can3ParityCheck
+00005618 mibspi1ParityCheck
+00005700 mibspi3ParityCheck
+000057f8 mibspi5ParityCheck
+00005a5c xTaskGenericCreate
+00005c5c vTaskDelayUntil
+00005d58 vTaskDelay
+00005dc0 uxTaskPriorityGet
+00005e04 vTaskPrioritySet
+00005fa0 vTaskSuspend
+00006078 xTaskIsTaskSuspended
+0000610c vTaskResume
+000061d0 vTaskStartScheduler
+0000624c vTaskEndScheduler
+00006268 vTaskSuspendAll
+0000627c xTaskResumeAll
+000063ec xTaskGetTickCount
+0000640c xTaskGetTickCountFromISR
+00006430 uxTaskGetNumberOfTasks
+00006444 vTaskIncrementTick
+0000661c vTaskSwitchContext
+000066e4 vTaskPlaceOnEventList
+00006758 xTaskRemoveFromEventList
+00006830 vTaskSetTimeOutState
+00006860 xTaskCheckForTimeOut
+00006938 vTaskMissedYield
+00006c10 uxTaskGetStackHighWaterMark
+00006c60 xTaskGetCurrentTaskHandle
+00006c80 xTaskGetSchedulerState
+00006cd0 vTaskPriorityInherit
+00006dd4 vTaskPriorityDisinherit
+00006ebc xQueueCreate
+00006fec xQueueCreateMutex
+000070a8 xQueueCreateCountingSemaphore
+000070e4 xQueueGenericSend
+0000726c xQueueGenericSendFromISR
+00007338 xQueueGenericReceive
+00007564 xQueueReceiveFromISR
+00007630 uxQueueMessagesWaiting
+00007654 uxQueueMessagesWaitingFromISR
+00007674 vQueueDelete
+00007960 xQueueIsQueueEmptyFromISR
+000079cc xQueueIsQueueFullFromISR
+00007a84 skip_white
+00007ab8 proc_cmd_line
+00007edc cmd_opchar_check
+00007f58 cmd_num_suffix
+00008028 cmd_do_stamp
+000080ac cmd_do_rw_short
+0000814c cmd_do_rw_int
+000081ec cmd_do_rw_long
+0000828c cmd_opchar_replong
+00008314 cmd_do_help
+00008be9 _scanfi
+00008f04 adcInit
+00009138 adcStartConversion
+000091c0 adcStopConversion
+000091e8 adcResetFiFo
+00009210 adcGetData
+000093e4 adcIsFifoFull
+00009414 adcIsConversionComplete
+00009444 adcCalibration
+00009620 adcMidPointCalibration
+000097c0 adcEnableNotification
+00009810 adcDisableNotification
+000098dc hetInit
+0000999c pwmStart
+000099d0 pwmStop
+00009a04 pwmSetDuty
+00009b40 pwmSetSignal
+00009cb0 pwmGetSignal
+00009dac pwmEnableNotification
+00009df4 pwmDisableNotification
+00009e24 edgeResetCounter
+00009e50 edgeGetCounter
+00009e7c edgeEnableNotification
+00009eb8 edgeDisableNotification
+00009ef8 capGetSignal
+00009fec hetResetTimestamp
+0000a008 hetGetTimestamp
+0000a06c mibspiInit
+0000a28c mibspiSetFunctional
+0000a2ac mibspiSetData
+0000a3b0 mibspiGetData
+0000a4f0 mibspiTransfer
+0000a520 mibspiIsTransferComplete
+0000a54c mibspiEnableLoopback
+0000a580 mibspiDisableLoopback
+0000a59c mibspiEnableGroupNotification
+0000a624 mibspiDisableGroupNotification
+0000a700 pxPortInitialiseStack
+0000abe0 xPortStartScheduler
+0000abf4 vPortEndScheduler
+0000abf8 vPortEnterCritical
+0000ac10 vPortExitCritical
+0000ad38 _c_int00
+0000b2e8 sciInit
+0000b3bc sciSetFunctional
+0000b3dc sciSetBaudrate
+0000b45c sciIsTxReady
+0000b478 sciSendByte
+0000b4a8 sciSend
+0000b5bc sciIsRxReady
+0000b5d8 sciRxError
+0000b608 sciReceiveByte
+0000b630 sciReceive
+0000b6b8 sciEnableLoopback
+0000b6ec sciDisableLoopback
+0000b708 sciEnableNotification
+0000b770 sciDisableNotification
+0000b828 esmInit
+0000b954 esmError
+0000b970 esmEnableError
+0000b99c esmDisableError
+0000b9c8 esmTriggerErrorPinReset
+0000b9d8 esmActivateNormalOperation
+0000b9e8 esmEnableInterrupt
+0000ba14 esmDisableInterrupt
+0000ba40 esmSetInterruptLevel
+0000bac4 esmClearStatus
+0000bb04 esmClearStatusBuffer
+0000bb30 esmSetCounterPreloadValue
+0000bb50 esmGetStatus
+0000bbb4 esmGetStatusBuffer
+0000bcd4 cmd_ed_line_buf
+0000bdec cmd_io_line_putc
+0000be0c cmd_io_line_out
+0000bf04 cmd_io_line_in
+0000bfdc cmd_io_line_rdline
+0000c030 initIoBuffer
+0000c090 print
+0000c0a8 read
+0000c0c0 genericRead
+0000c108 genericPrint
+0000c248 clearInputBuffer
+0000c258 clearOutputBuffer
+0000c268 clearBuffer
+0000c2b0 tisci_putc
+0000c2ec tisci_getc
+0000c31c tisci_write
+0000c35c tisci_read
+0000c3ec sciHighLevelInterrupt
+0000c584 sciLowLevelInterrupt
+0000c770 _coreInitRegisters_
+0000c870 _coreInitStackPointer_
+0000c8bc _getCPSRValue_
+0000c8c4 _gotoCPUIdle_
+0000c8d8 _coreEnableVfp_
+0000c8f0 _coreEnableEventBusExport_
+0000c908 _coreDisableEventBusExport_
+0000c920 _coreEnableRamEcc_
+0000c938 _coreDisableRamEcc_
+0000c950 _coreEnableFlashEcc_
+0000c96c _coreDisableFlashEcc_
+0000c984 _coreEnableIrqVicOffset_
+0000c99c _coreGetDataFault_
+0000c9a4 _coreClearDataFault_
+0000c9b8 _coreGetInstructionFault_
+0000c9c0 _coreClearInstructionFault_
+0000c9d4 _coreGetDataFaultAddress_
+0000c9dc _coreClearDataFaultAddress_
+0000c9f0 _coreGetInstructionFaultAddress_
+0000c9f8 _coreClearInstructionFaultAddress_
+0000ca0c _coreGetAuxiliaryDataFault_
+0000ca14 _coreClearAuxiliaryDataFault_
+0000ca28 _coreGetAuxiliaryInstructionFault_
+0000ca30 _coreClearAuxiliaryInstructionFault_
+0000ca44 _disable_interrupt_
+0000ca4c _disable_FIQ_interrupt_
+0000ca54 _disable_IRQ_interrupt_
+0000ca5c _enable_interrupt_
+0000ca64 _esmCcmErrorsClear_
+0000caec __TI_PINIT_Base
+0000caf0 __TI_PINIT_Limit
+0000caf4 muxInit
+0000ce00 setupPLL
+0000ce34 trimLPO
+0000ce7c setupFlash
+0000cebc periphInit
+0000cf14 mapClocks
+0000cfec systemInit
+0000d078 systemPowerDown
+0000d108 can1HighLevelInterrupt
+0000d1c4 can1LowLevelInterrupt
+0000d260 can2HighLevelInterrupt
+0000d31c can2LowLevelInterrupt
+0000d3e8 i2str
+0000d6a0 gioInit
+0000d770 gioSetDirection
+0000d790 gioSetBit
+0000d7e0 gioSetPort
+0000d800 gioGetBit
+0000d828 gioGetPort
+0000d840 gioToggleBit
+0000d898 gioEnableNotification
+0000d8bc gioDisableNotification
+0000d924 vListInitialise
+0000d97c vListInitialiseItem
+0000d998 vListInsertEnd
+0000da1c vListInsert
+0000dae0 vListRemove
+0000db64 esmGroup1Notification
+0000db70 esmGroup2Notification
+0000db7c memoryPort0TestFailNotification
+0000db94 memoryPort1TestFailNotification
+0000dbac adcNotification
+0000dc68 canErrorNotification
+0000dc8c canMessageNotification
+0000dce4 gioNotification
+0000dcf0 mibspiNotification
+0000dd00 mibspiGroupNotification
+0000dd10 sciNotification
+0000dd4c pwmNotification
+0000dd60 edgeNotification
+0000dd70 hetNotification
+0000dd9c esmHighInterrupt
+0000dee0 esmLowInterrupt
+0000dfbd __aeabi_uldivmod
+0000e1b1 strtod
+0000e395 strtold
+0000e575 strtoll
+0000e794 cmd_io_puts
+0000e828 cmd_io_write_bychar
+0000e8a0 cmd_io_read_bychar
+0000e924 adc1Group0Interrupt
+0000e970 adc1Group1Interrupt
+0000e9b0 adc1Group2Interrupt
+0000e9fc adc2Group0Interrupt
+0000ea48 adc2Group1Interrupt
+0000ea88 adc2Group2Interrupt
+0000eaec initCmdProc
+0000ec0c processCmd
+0000ec6d strtoull
+0000ede8 mibspi5HighLevelInterrupt
+0000ee98 mibspi5LowLevelInterrupt
+0000ef60 vPortStartFirstTask
+0000ef94 vPortYieldProcessor
+0000f01c vPreemptiveTick
+0000f0b8 vPortYield
+0000f0cc het1HighLevelInterrupt
+0000f174 het1LowLevelInterrupt
+0000f264 cmd_processor_run
+0000f379 strtol
+0000f4a9 strtoul
+0000f5b8 pvPortMalloc
+0000f660 vPortFree
+0000f670 vPortInitialiseBlocks
+0000f680 xPortGetFreeHeapSize
+0000f6a0 houtSetPort
+0000f704 houtGetPort
+0000f778 moutSetPort
+0000f7dc moutGetPort
+0000f850 gioHighLevelInterrupt
+0000f8b0 gioLowLevelInterrupt
+0000f918 _dabort
+0000f9d9 sscanf
+0000fa91 __aeabi_memcpy
+0000fa91 __aeabi_memcpy4
+0000fa91 __aeabi_memcpy8
+0000fa91 memcpy
+0000fb2d __aeabi_memclr
+0000fb2d __aeabi_memclr4
+0000fb2d __aeabi_memclr8
+0000fb2f __aeabi_memset
+0000fb2f __aeabi_memset4
+0000fb2f __aeabi_memset8
+0000fb35 memset
+0000fc04 main
+0000fc60 __aeabi_uidivmod
+0000fcb5 atoi
+0000fd05 atol
+0000fd55 copy_in
+0000fda1 C$$EXIT
+0000fda5 abort
+0000fdad exit
+0000fde5 strtok
+0000fe25 strncpy
+0000fe54 dinSetPort
+0000fe6c dinGetPort
+0000fe81 strspn
+0000feab strncmp
+0000fed1 strcspn
+0000fef1 _register_unlock
+0000fef7 _register_lock
+0000fefd _nop
+0000ff09 __aeabi_lmul
+0000ff21 strcmp
+0000ff39 strrchr
+0000ff51 strchr
+0000ff67 strlen
+0000ff7b __TI_zero_init
+0000ff8d isalnum
+0000ff9d isdigit
+0000ffad isspace
+0000ffbd strcpy
+0000ffcd __TI_decompress_none
+0000ffdb __TI_decompress_rle24
+0000ffe0 phantomInterrupt
+000103cc het1PROGRAM
+00010970 _ctypes_
+00010a74 cmd_des_getPin
+00010a8c cmd_des_setPin
+00010aa4 cmd_des_read
+00010abc cmd_des_testadcconnetion
+00010ad4 cmd_des_testcanloopback
+00010aec cmd_des_testmoutfail
+00010b04 cmd_des_testhoutfail
+00010b1c cmd_des_help
+00010d18 cmd_io_std_line
+00010eb0 __TI_Handler_Table_Base
+00010ebc __TI_Handler_Table_Limit
+00010ec8 __TI_CINIT_Base
+00010ed8 __TI_CINIT_Limit
0800555c ed_line_in_std
080055b0 ed_line_out_std
08005608 g_sciTransfer
0800562c inBuffer
08005638 canMsgReceived
0800563c adcDataConverted
-08005640 adc1Data
-0800564c val
-08005650 processCmdHandler
-08005654 prompt
-08005660 _Denorm
-08005670 _Eps
-08005680 _Hugeval
-08005690 _Inf
-080056a0 _Nan
-080056b0 _Snan
-080056c0 _Rteps
-080056d0 _Xbig
-080056d8 _Zero
-080056e0 _LDenorm
-080056f0 _LEps
-08005700 _LInf
-08005710 _LNan
-08005720 _LSnan
-08005730 _LRteps
-08005740 _LXbig
-08005748 _LZero
-08005750 cmd_list_1
-08005768 cmd_list_2
-08005788 cmd_list
-0800578c cmd_list_main
-080057bc ed_line_buf_in_std
-080057d4 ed_line_buf_out_std
-080057ec moutPorts
-0800581c pxCurrentTCB
-0800584c cmd_io_buf
-08005868 moutBits
-08005874 _lock
-08005878 _unlock
-0800587c _cleanup_ptr
-08005880 _dtors_ptr
-08005888 ulCriticalNesting
-0800588c _Errno
+08005640 adcData
+0800564c processCmdHandler
+08005650 prompt
+08005658 _Denorm
+08005668 _Eps
+08005678 _Hugeval
+08005688 _Inf
+08005698 _Nan
+080056a8 _Snan
+080056b8 _Rteps
+080056c8 _Xbig
+080056d0 _Zero
+080056d8 _LDenorm
+080056e8 _LEps
+080056f8 _LInf
+08005708 _LNan
+08005718 _LSnan
+08005728 _LRteps
+08005738 _LXbig
+08005740 _LZero
+08005748 ed_line_buf_in_std
+08005760 ed_line_buf_out_std
+08005778 houtPorts
+080057a8 moutPorts
+080057d8 pxCurrentTCB
+08005808 dinPorts
+08005828 dinBits
+08005830 cmd_list_main
+08005854 cmd_io_buf
+08005870 houtBits
+0800587c moutBits
+08005888 _lock
+0800588c _unlock
+08005890 _cleanup_ptr
+08005894 _dtors_ptr
+08005898 cmd_list
+080058a0 ulCriticalNesting
+080058a4 _Errno
ffffffff __binit__
ffffffff __c_args__
ffffffff binit
-[438 symbols]
+[431 symbols]
-"./source/system.obj" "./source/sys_startup.obj" "./source/sys_selftest.obj" "./source/sys_pmu.obj" "./source/sys_phantom.obj" "./source/sys_mpu.obj" "./source/sys_main.obj" "./source/sys_intvecs.obj" "./source/sys_core.obj" "./source/sci.obj" "./source/pinmux.obj" "./source/os_timer.obj" "./source/os_tasks.obj" "./source/os_queue.obj" "./source/os_portasm.obj" "./source/os_port.obj" "./source/os_list.obj" "./source/os_heap.obj" "./source/os_croutine.obj" "./source/notification.obj" "./source/mout.obj" "./source/mibspi.obj" "./source/i2str.obj" "./source/het.obj" "./source/gio.obj" "./source/esm.obj" "./source/dma.obj" "./source/din.obj" "./source/dabort.obj" "./source/commands.obj" "./source/cmdio_tisci.obj" "./source/cmdio_std_line.obj" "./source/cmd_proc_run.obj" "./source/cmd_proc_freertos_tms570.obj" "./source/cmd_proc.obj" "./source/cmd_io_line.obj" "./source/cmd_io.obj" "./source/can.obj" "./source/adc.obj" -l"rtsv7R4_T_be_v3D16_eabi.lib" "../source/sys_link.cmd"
\ No newline at end of file
+"./source/system.obj" "./source/sys_startup.obj" "./source/sys_selftest.obj" "./source/sys_pmu.obj" "./source/sys_phantom.obj" "./source/sys_mpu.obj" "./source/sys_main.obj" "./source/sys_intvecs.obj" "./source/sys_core.obj" "./source/sci.obj" "./source/pinmux.obj" "./source/os_timer.obj" "./source/os_tasks.obj" "./source/os_queue.obj" "./source/os_portasm.obj" "./source/os_port.obj" "./source/os_list.obj" "./source/os_heap.obj" "./source/os_croutine.obj" "./source/notification.obj" "./source/mout.obj" "./source/mibspi.obj" "./source/i2str.obj" "./source/hout.obj" "./source/het.obj" "./source/gio.obj" "./source/esm.obj" "./source/dma.obj" "./source/din.obj" "./source/dabort.obj" "./source/commands.obj" "./source/cmdio_tisci.obj" "./source/cmdio_std_line.obj" "./source/cmd_proc_run.obj" "./source/cmd_proc_freertos_tms570.obj" "./source/cmd_proc.obj" "./source/cmd_io_line.obj" "./source/cmd_io.obj" "./source/can.obj" "./source/adc.obj" -l"rtsv7R4_T_be_v3D16_eabi.lib" "../source/sys_link.cmd"
\ No newline at end of file
"./source/mout.obj" \
"./source/mibspi.obj" \
"./source/i2str.obj" \
+"./source/hout.obj" \
"./source/het.obj" \
"./source/gio.obj" \
"./source/esm.obj" \
# Other Targets
clean:
-$(RM) $(TMS470_EXECUTABLE_OUTPUTS__QUOTED) "CmdProcTISCI.out"
- -$(RM) "source/adc.pp" "source/can.pp" "source/cmd_io.pp" "source/cmd_io_line.pp" "source/cmd_proc.pp" "source/cmd_proc_freertos_tms570.pp" "source/cmd_proc_run.pp" "source/cmdio_std_line.pp" "source/cmdio_tisci.pp" "source/commands.pp" "source/din.pp" "source/dma.pp" "source/esm.pp" "source/gio.pp" "source/het.pp" "source/i2str.pp" "source/mibspi.pp" "source/mout.pp" "source/notification.pp" "source/os_croutine.pp" "source/os_heap.pp" "source/os_list.pp" "source/os_port.pp" "source/os_queue.pp" "source/os_tasks.pp" "source/os_timer.pp" "source/pinmux.pp" "source/sci.pp" "source/sys_main.pp" "source/sys_phantom.pp" "source/sys_selftest.pp" "source/sys_startup.pp" "source/system.pp"
- -$(RM) "source/adc.obj" "source/can.obj" "source/cmd_io.obj" "source/cmd_io_line.obj" "source/cmd_proc.obj" "source/cmd_proc_freertos_tms570.obj" "source/cmd_proc_run.obj" "source/cmdio_std_line.obj" "source/cmdio_tisci.obj" "source/commands.obj" "source/dabort.obj" "source/din.obj" "source/dma.obj" "source/esm.obj" "source/gio.obj" "source/het.obj" "source/i2str.obj" "source/mibspi.obj" "source/mout.obj" "source/notification.obj" "source/os_croutine.obj" "source/os_heap.obj" "source/os_list.obj" "source/os_port.obj" "source/os_portasm.obj" "source/os_queue.obj" "source/os_tasks.obj" "source/os_timer.obj" "source/pinmux.obj" "source/sci.obj" "source/sys_core.obj" "source/sys_intvecs.obj" "source/sys_main.obj" "source/sys_mpu.obj" "source/sys_phantom.obj" "source/sys_pmu.obj" "source/sys_selftest.obj" "source/sys_startup.obj" "source/system.obj"
+ -$(RM) "source/adc.pp" "source/can.pp" "source/cmd_io.pp" "source/cmd_io_line.pp" "source/cmd_proc.pp" "source/cmd_proc_freertos_tms570.pp" "source/cmd_proc_run.pp" "source/cmdio_std_line.pp" "source/cmdio_tisci.pp" "source/commands.pp" "source/din.pp" "source/dma.pp" "source/esm.pp" "source/gio.pp" "source/het.pp" "source/hout.pp" "source/i2str.pp" "source/mibspi.pp" "source/mout.pp" "source/notification.pp" "source/os_croutine.pp" "source/os_heap.pp" "source/os_list.pp" "source/os_port.pp" "source/os_queue.pp" "source/os_tasks.pp" "source/os_timer.pp" "source/pinmux.pp" "source/sci.pp" "source/sys_main.pp" "source/sys_phantom.pp" "source/sys_selftest.pp" "source/sys_startup.pp" "source/system.pp"
+ -$(RM) "source/adc.obj" "source/can.obj" "source/cmd_io.obj" "source/cmd_io_line.obj" "source/cmd_proc.obj" "source/cmd_proc_freertos_tms570.obj" "source/cmd_proc_run.obj" "source/cmdio_std_line.obj" "source/cmdio_tisci.obj" "source/commands.obj" "source/dabort.obj" "source/din.obj" "source/dma.obj" "source/esm.obj" "source/gio.obj" "source/het.obj" "source/hout.obj" "source/i2str.obj" "source/mibspi.obj" "source/mout.obj" "source/notification.obj" "source/os_croutine.obj" "source/os_heap.obj" "source/os_list.obj" "source/os_port.obj" "source/os_portasm.obj" "source/os_queue.obj" "source/os_tasks.obj" "source/os_timer.obj" "source/pinmux.obj" "source/sci.obj" "source/sys_core.obj" "source/sys_intvecs.obj" "source/sys_main.obj" "source/sys_mpu.obj" "source/sys_phantom.obj" "source/sys_pmu.obj" "source/sys_selftest.obj" "source/sys_startup.obj" "source/system.obj"
-$(RM) "source/dabort.pp" "source/os_portasm.pp" "source/sys_core.pp" "source/sys_intvecs.pp" "source/sys_mpu.pp" "source/sys_pmu.pp"
-@echo 'Finished clean'
-@echo ' '
-"../source/adc.c" "../source/can.c" "../source/cmd_io.c" "../source/cmd_io_line.c" "../source/cmd_proc.c" "../source/cmd_proc_freertos_tms570.c" "../source/cmd_proc_run.c" "../source/cmdio_std_line.c" "../source/cmdio_tisci.c" "../source/commands.c" "../source/dabort.asm" "../source/din.c" "../source/dma.c" "../source/esm.c" "../source/gio.c" "../source/het.c" "../source/i2str.c" "../source/mibspi.c" "../source/mout.c" "../source/notification.c" "../source/os_croutine.c" "../source/os_heap.c" "../source/os_list.c" "../source/os_port.c" "../source/os_portasm.asm" "../source/os_queue.c" "../source/os_tasks.c" "../source/os_timer.c" "../source/pinmux.c" "../source/sci.c" "../source/sys_core.asm" "../source/sys_intvecs.asm" "../source/sys_main.c" "../source/sys_mpu.asm" "../source/sys_phantom.c" "../source/sys_pmu.asm" "../source/sys_selftest.c" "../source/sys_startup.c" "../source/system.c"
\ No newline at end of file
+"../source/adc.c" "../source/can.c" "../source/cmd_io.c" "../source/cmd_io_line.c" "../source/cmd_proc.c" "../source/cmd_proc_freertos_tms570.c" "../source/cmd_proc_run.c" "../source/cmdio_std_line.c" "../source/cmdio_tisci.c" "../source/commands.c" "../source/dabort.asm" "../source/din.c" "../source/dma.c" "../source/esm.c" "../source/gio.c" "../source/het.c" "../source/hout.c" "../source/i2str.c" "../source/mibspi.c" "../source/mout.c" "../source/notification.c" "../source/os_croutine.c" "../source/os_heap.c" "../source/os_list.c" "../source/os_port.c" "../source/os_portasm.asm" "../source/os_queue.c" "../source/os_tasks.c" "../source/os_timer.c" "../source/pinmux.c" "../source/sci.c" "../source/sys_core.asm" "../source/sys_intvecs.asm" "../source/sys_main.c" "../source/sys_mpu.asm" "../source/sys_phantom.c" "../source/sys_pmu.asm" "../source/sys_selftest.c" "../source/sys_startup.c" "../source/system.c"
\ No newline at end of file
source/commands.obj: /opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/string.h
source/commands.obj: ../include/mibspi.h
source/commands.obj: ../include/gio.h
+source/commands.obj: ../include/hout.h
+source/commands.obj: ../include/gio.h
../source/commands.c:
../include/cmd_proc.h:
/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/string.h:
../include/mibspi.h:
../include/gio.h:
+../include/hout.h:
+../include/gio.h:
--- /dev/null
+# FIXED
+
+source/hout.obj: ../source/hout.c
+source/hout.obj: ../include/hout.h
+source/hout.obj: ../include/gio.h
+source/hout.obj: ../include/sys_common.h
+source/hout.obj: ../include/het.h
+source/hout.obj: ../include/gio.h
+source/hout.obj: /opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/string.h
+source/hout.obj: /opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/linkage.h
+
+../source/hout.c:
+../include/hout.h:
+../include/gio.h:
+../include/sys_common.h:
+../include/het.h:
+../include/gio.h:
+/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/string.h:
+/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include/linkage.h:
@echo 'Finished building: $<'
@echo ' '
+source/hout.obj: ../source/hout.c $(GEN_OPTS) $(GEN_SRCS)
+ @echo 'Building file: $<'
+ @echo 'Invoking: ARM Compiler'
+ "/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/bin/cl470" -mv7R4 --code_state=32 --float_support=VFPv3D16 --abi=eabi -g --include_path="/opt/ti/ccsv5/tools/compiler/tms470_4.9.1/include" --include_path="../include" --diag_warning=225 --display_error_number --enum_type=packed --preproc_with_compile --preproc_dependency="source/hout.pp" --obj_directory="source" $(GEN_OPTS__FLAG) "$(shell echo $<)"
+ @echo 'Finished building: $<'
+ @echo ' '
+
source/i2str.obj: ../source/i2str.c $(GEN_OPTS) $(GEN_SRCS)
@echo 'Building file: $<'
@echo 'Invoking: ARM Compiler'
../source/esm.c \
../source/gio.c \
../source/het.c \
+../source/hout.c \
../source/i2str.c \
../source/mibspi.c \
../source/mout.c \
./source/esm.obj \
./source/gio.obj \
./source/het.obj \
+./source/hout.obj \
./source/i2str.obj \
./source/mibspi.obj \
./source/mout.obj \
./source/esm.pp \
./source/gio.pp \
./source/het.pp \
+./source/hout.pp \
./source/i2str.pp \
./source/mibspi.pp \
./source/mout.pp \
"source/esm.pp" \
"source/gio.pp" \
"source/het.pp" \
+"source/hout.pp" \
"source/i2str.pp" \
"source/mibspi.pp" \
"source/mout.pp" \
"source/esm.obj" \
"source/gio.obj" \
"source/het.obj" \
+"source/hout.obj" \
"source/i2str.obj" \
"source/mibspi.obj" \
"source/mout.obj" \
"../source/esm.c" \
"../source/gio.c" \
"../source/het.c" \
+"../source/hout.c" \
"../source/i2str.c" \
"../source/mibspi.c" \
"../source/mout.c" \
-/*
- * cmd_proc_freertos_tms570.h
- *
- * Created on: 1.8.2012
- * Author: Michal Horn
- *
- * Header file for cmdProc with FreeRTOS procedures included.
- */
+/** @file cmd_proc_freertos_tms570.h
+* @brief Texas Instrument SCI FreeRTOS cmdProc header file
+* @date 1.August.2012
+*
+* Function prototypes
+*
+*/
#ifndef CMD_PROC_FREERTOS_TMS570_H_
#define CMD_PROC_FREERTOS_TMS570_H_
+/* Include files */
#include "string.h"
#include "cmd_proc.h"
#include "cmdio_tisci.h"
-/*
- * cmd_proc_freertos_tms570.h
- *
- * Created on: 1.8.2012
- * Author: Michal Horn
- *
- * Header file for cmdProc with FreeRTOS procedures included.
- */
+/** @file cmdio_tisci.h
+* @brief Texas Instrument SCI IO for cmdProc header file
+* @date 1.August.2012
+*
+* Definition of IO for TMS570LS3137ZWT
+*/
+
#ifndef CMDIO_BUFFER_H_
#define CMDIO_BUFFER_H_
-#define MAX_BUFFER_LEN 32
-#define errBUFFER_NOT_INITIALIZED -6
-
-#define BUF_TRANSFER_IN_PROGRESS 1
-
+/* Include files */
#include "cmd_proc.h"
#include "FreeRTOS.h"
#include "os_queue.h"
#include "os_task.h"
#include "sci.h"
+/** Maximal length of buffers */
+#define MAX_BUFFER_LEN 32
+/** Error code when accessing to not initialized buffer */
+#define errBUFFER_NOT_INITIALIZED -6
+/** Flag for transfer in progress */
+#define BUF_TRANSFER_IN_PROGRESS 1
+/** Struct to represent IO buffer for TI SCI */
typedef struct {
- xQueueHandle buf;
- xSemaphoreHandle mutex;
- uint8_t flags;
+ xQueueHandle buf; /**< Ring buffer (FreeRTOS queue) */
+ xSemaphoreHandle mutex; /**< Mutex to allow speaking only one device at time */
+ uint8_t flags; /**< Flags */
} tBuffer;
-/*
- * din.h
- *
- * Created on: 29.8.2012
- * Author: Michal Horn
- */
-
+/** @file din.h
+* @brief Din port header file
+* @date 29.August.2012
+*
+* Aliases, constants and function prototype relevant for DIN port
+*
+*/
#ifndef DIN_H_
#define DIN_H_
-
+/* Include files */
#include "gio.h"
+/** @brief Alias for getBit function */
#define DINGetBit( port, bit ) gioGetBit(port, bit)
+/** @brief Alias for setBit function */
#define DINSetBit( port, bit, value ) gioSetBit(port, bit, value)
+/** @brief Alias port address used by DIN port */
#define DIN_PORT gioPORTA
+/** @brief Constant for DIN bit index in DOUT register */
#define DIN8_BIT 0
+/** @brief Constant for DIN bit index in DOUT register */
#define DIN9_BIT 1
+/** @brief Constant for DIN bit index in DOUT register */
#define DIN10_BIT 2
+/** @brief Constant for DIN bit index in DOUT register */
#define DIN11_BIT 3
+/** @brief Constant for DIN bit index in DOUT register */
#define DIN12_BIT 4
+/** @brief Constant for DIN bit index in DOUT register */
#define DIN13_BIT 5
+/** @brief Constant for DIN bit index in DOUT register */
#define DIN14_BIT 6
+/** @brief Constant for DIN bit index in DOUT register */
#define DIN15_BIT 7
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define DIN8 DIN_PORT,DIN8_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define DIN9 DIN_PORT,DIN9_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define DIN10 DIN_PORT,DIN10_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define DIN11 DIN_PORT,DIN11_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define DIN12 DIN_PORT,DIN12_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define DIN13 DIN_PORT,DIN13_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define DIN14 DIN_PORT,DIN14_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define DIN15 DIN_PORT,DIN15_BIT
+/** @brief Set value to DIN port
+* @param[in] value to write to port
+* - 0bit - 7bit equals to DIN8 - DIN15 value
+* - 8bit - 31bit does not matter
+*
+* Set value of whole DIN port
+*/
void dinSetPort(uint32_t value);
+
+/** @brief Read value from DIN port DIN
+*
+* Reads a the current value from the DIN port
+* @return Value of port
+*/
uint32_t dinGetPort();
--- /dev/null
+/** @file hout.h
+* @brief HOUT port header file
+* @date 3.September.2012
+*
+* Aliases, constants and function prototype relevant for HOUT port
+*
+*/
+
+#ifndef HOUT_H_
+#define HOUT_H_
+/* Include files */
+#include "gio.h"
+#include "het.h"
+
+/** @brief Alias for getBit function */
+#define HOUTGetBit( port, bit ) gioGetBit(port, bit)
+/** @brief Alias for setBit function */
+#define HOUTSetBit( port, bit, value ) gioSetBit(port, bit, value)
+
+/** @brief Alias port address used by HOUT port */
+#define HOUT_PORT hetPORT1
+
+
+/** @brief Constant for HOUT bit index in DOUT register */
+#define HOUT6_DIAG_BIT PIN_HET_31
+/** @brief Constant for HOUT bit index in DOUT register */
+#define HOUT5_DIAG_BIT PIN_HET_27
+/** @brief Constant for HOUT bit index in DOUT register */
+#define HOUT6_IN_BIT PIN_HET_29
+/** @brief Constant for HOUT bit index in DOUT register */
+#define HOUT5_IN_BIT PIN_HET_25
+/** @brief Constant for HOUT bit index in DOUT register */
+#define HOUT4_DIAG_BIT PIN_HET_23
+/** @brief Constant for HOUT bit index in DOUT register */
+#define HOUT3_DIAG_BIT PIN_HET_21
+/** @brief Constant for HOUT bit index in DOUT register */
+#define HOUT4_IN_BIT PIN_HET_22
+/** @brief Constant for HOUT bit index in DOUT register */
+#define HOUT3_IN_BIT PIN_HET_20
+/** @brief Constant for HOUT bit index in DOUT register */
+#define HOUT2_DIAG_BIT PIN_HET_19
+/** @brief Constant for HOUT bit index in DOUT register */
+#define HOUT1_DIAG_BIT PIN_HET_17
+/** @brief Constant for HOUT bit index in DOUT register */
+#define HOUT2_IN_BIT PIN_HET_18
+/** @brief Constant for HOUT bit index in DOUT register */
+#define HOUT1_IN_BIT PIN_HET_16
+
+/** @brief Alias for pair PORT, BIT which defines pin for access */
+#define HOUT6_DIAG HOUT_PORT,HOUT6_DIAG_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
+#define HOUT5_DIAG HOUT_PORT,HOUT5_DIAG_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
+#define HOUT6_IN HOUT_PORT,HOUT6_IN_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
+#define HOUT5_IN HOUT_PORT,HOUT5_IN_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
+#define HOUT4_DIAG HOUT_PORT,HOUT4_DIAG_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
+#define HOUT3_DIAG HOUT_PORT,HOUT3_DIAG_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
+#define HOUT4_IN HOUT_PORT,HOUT4_IN_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
+#define HOUT3_IN HOUT_PORT,HOUT3_IN_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
+#define HOUT2_DIAG HOUT_PORT,HOUT2_DIAG_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
+#define HOUT1_DIAG HOUT_PORT,HOUT1_DIAG_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
+#define HOUT2_IN HOUT_PORT,HOUT2_IN_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
+#define HOUT1_IN HOUT_PORT,HOUT1_IN_BIT
+
+/** Set value to ports connected to HOUT
+* @param[in] value to write to port
+* - bit 0 - HOUT1_IN - defined as output port HETPORT1
+* - bit 1 - HOUT2_IN - defined as output port HETPORT1
+* - bit 2 - HOUT3_IN - defined as output port HETPORT1
+* - bit 3 - HOUT4_IN - defined as output port HETPORT1
+* - bit 4 - HOUT5_IN - defined as output port HETPORT1
+* - bit 5 - HOUT6_IN - defined as output port HETPORT1
+* - bit 6 - HOUT1_DIAG - defined as input port HETPORT1
+* - bit 7 - HOUT2_DIAG - defined as input port HETPORT1
+* - bit 8 - HOUT3_DIAG - defined as input port HETPORT1
+* - bit 9 - HOUT4_DIAG - defined as input port HETPORT1
+* - bit 10 - HOUT5_DIAG - defined as input port HETPORT1
+* - bit 11 - HOUT6_DIAG - defined as input port HETPORT1
+* Set value to HOUT port. Setting values to bits connected with ports defined as output makes no effect.
+*/
+void houtSetPort(uint32_t value);
+
+/** Get value from ports connected to HOUT
+* - bit 0 - HOUT1_IN - defined as output port HETPORT1
+* - bit 1 - HOUT2_IN - defined as output port HETPORT1
+* - bit 2 - HOUT3_IN - defined as output port HETPORT1
+* - bit 3 - HOUT4_IN - defined as output port HETPORT1
+* - bit 4 - HOUT5_IN - defined as output port HETPORT1
+* - bit 5 - HOUT6_IN - defined as output port HETPORT1
+* - bit 6 - HOUT1_DIAG - defined as input port HETPORT1
+* - bit 7 - HOUT2_DIAG - defined as input port HETPORT1
+* - bit 8 - HOUT3_DIAG - defined as input port HETPORT1
+* - bit 9 - HOUT4_DIAG - defined as input port HETPORT1
+* - bit 10 - HOUT5_DIAG - defined as input port HETPORT1
+* - bit 11 - HOUT6_DIAG - defined as input port HETPORT1
+* Get value from HOUT port. Getting values from ports defined as output returns values last asserted by Controller itself.
+* @return Value from HOUT GPIO port
+*/
+uint32_t houtGetPort();
+
+#endif /* HOUT_H_ */
-/*
- * mout.h
- *
- * Created on: 29.8.2012
- * Author: Michal Horn
- */
+/** @file mout.h
+* @brief MOUT port header file
+* @date 29.August.2012
+*
+* Aliases, constants and function prototype relevant for HOUT port
+*
+*/
#ifndef MOUT_H_
#define MOUT_H_
-
+/* Include files */
#include "gio.h"
#include "het.h"
#include "mibspi.h"
+/** @brief Alias for getBit function */
#define MOUTGetBit( port, bit ) gioGetBit(port, bit)
+/** @brief Alias for setBit function */
#define MOUTSetBit( port, bit, value ) gioSetBit(port, bit, value)
-
+/** @brief Alias port address used by MOUT port */
#define MOUT_PORT_GIO gioPORTB
+/** @brief Alias port address used by MOUT port */
#define MOUT_PORT_SPI mibspiPORT5
+/** @brief Alias port address used by MOUT port */
#define MOUT_PORT_HET hetPORT1
+/** @brief Constant for MOUT bit index in DOUT register */
#define MOUT6_EN_BIT 0
+/** @brief Constant for MOUT bit index in DOUT register */
#define MOUT5_EN_BIT 1
+/** @brief Constant for MOUT bit index in DOUT register */
#define MOUT6_IN_BIT 2
+/** @brief Constant for MOUT bit index in DOUT register */
#define MOUT5_IN_BIT 3
+/** @brief Constant for MOUT bit index in DOUT register */
#define MOUT4_EN_BIT 4
+/** @brief Constant for MOUT bit index in DOUT register */
#define MOUT3_EN_BIT 5
+/** @brief Constant for MOUT bit index in DOUT register */
#define MOUT4_IN_BIT 6
+/** @brief Constant for MOUT bit index in DOUT register */
#define MOUT3_IN_BIT 7
+/** @brief Constant for MOUT bit index in DOUT register */
#define MOUT2_EN_BIT PIN_SIMO_2
+/** @brief Constant for MOUT bit index in DOUT register */
#define MOUT1_EN_BIT PIN_SIMO_1
+/** @brief Constant for MOUT bit index in DOUT register */
#define MOUT2_IN_BIT PIN_HET_14
+/** @brief Constant for MOUT bit index in DOUT register */
#define MOUT1_IN_BIT PIN_HET_9
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define MOUT6_EN MOUT_PORT_GIO,MOUT6_EN_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define MOUT5_EN MOUT_PORT_GIO,MOUT5_EN_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define MOUT6_IN MOUT_PORT_GIO,MOUT6_IN_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define MOUT5_IN MOUT_PORT_GIO,MOUT5_IN_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define MOUT4_EN MOUT_PORT_GIO,MOUT4_EN_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define MOUT3_EN MOUT_PORT_GIO,MOUT3_EN_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define MOUT4_IN MOUT_PORT_GIO,MOUT4_IN_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define MOUT3_IN MOUT_PORT_GIO,MOUT3_IN_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define MOUT2_EN MOUT_PORT_DMM,MOUT2_EN_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define MOUT1_EN MOUT_PORT_DMM,MOUT1_EN_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define MOUT2_IN MOUT_PORT_HET,MOUT2_IN_BIT
+/** @brief Alias for pair PORT, BIT which defines pin for access */
#define MOUT1_IN MOUT_PORT_HET,MOUT1_IN_BIT
+/** Set value to ports connected to MOUT
+* @param[in] value to write to port
+* - bit 0 - MOUT1_IN - defined as output port HETPORT1
+* - bit 1 - MOUT2_IN - defined as output port HETPORT1
+* - bit 2 - MOUT3_IN - defined as output port GIOB
+* - bit 3 - MOUT4_IN - defined as output port GIOB
+* - bit 4 - MOUT5_IN - defined as output port GIOB
+* - bit 5 - MOUT6_IN - defined as output port GIOB
+* - bit 6 - MOUT1_EN - defined as input port SPIPORT
+* - bit 7 - MOUT2_EN - defined as input port SPIPORT
+* - bit 8 - MOUT3_EN - defined as input port GIOB
+* - bit 9 - MOUT4_EN - defined as input port GIOB
+* - bit 10 - MOUT5_EN - defined as input port GIOB
+* - bit 11 - MOUT6_EN - defined as input port GIOB
+* Set value to whole MOUT port. Setting values to bits connected with ports defined as output makes no effect.
+*/
void moutSetPort(uint32_t value);
+/** @brief Get value from ports connected to MOUT
+* - bit 0 - MOUT1_IN - defined as output port HETPORT1
+* - bit 1 - MOUT2_IN - defined as output port HETPORT1
+* - bit 2 - MOUT3_IN - defined as output port GIOB
+* - bit 3 - MOUT4_IN - defined as output port GIOB
+* - bit 4 - MOUT5_IN - defined as output port GIOB
+* - bit 5 - MOUT6_IN - defined as output port GIOB
+* - bit 6 - MOUT1_EN - defined as input port SPIPORT
+* - bit 7 - MOUT2_EN - defined as input port SPIPORT
+* - bit 8 - MOUT3_EN - defined as input port GIOB
+* - bit 9 - MOUT4_EN - defined as input port GIOB
+* - bit 10 - MOUT5_EN - defined as input port GIOB
+* - bit 11 - MOUT6_EN - defined as input port GIOB
+* Get value from whole MOUT port. Getting values from ports defined as output returns values last asserted by Controller itself.
+* @return Value of port
+*/
uint32_t moutGetPort();
-
#endif /* MOUT_H_ */
extern void adc1Group1Interrupt(void);\r
extern void can1HighLevelInterrupt(void);\r
extern void can2HighLevelInterrupt(void);\r
+extern void adc2Group1Interrupt(void);\r
extern void sciHighLevelInterrupt(void);\r
\r
\r
* - Enable/Disable continuous conversion\r
*/\r
adcREG1->GxMODECR[2U] = ADC_12_BIT\r
- | 0x00000000U\r
+ | 0x00000020U\r
| 0x00000000U\r
| 0x00000000U;\r
\r
adcREG1->PARCR = 0x00000005U;\r
\r
\r
+\r
+ /** @b Initialize @b ADC2: */\r
+\r
+ /** - Reset ADC module */\r
+ adcREG2->RSTCR = 1U;\r
+ adcREG2->RSTCR = 0U;\r
+ \r
+ /** - Enable 12-BIT ADC */\r
+ adcREG2->OPMODECR |= 0x80000000U;\r
+ \r
+ /** - Setup prescaler */\r
+ adcREG2->CLOCKCR = 7U;\r
+ \r
+ /** - Setup memory boundaries */\r
+ adcREG2->BNDCR =(8U << 16U)|(8U + 8U);\r
+ adcREG2->BNDEND = 2U;\r
+ \r
+ /** - Setup event group conversion mode\r
+ * - Setup data format\r
+ * - Enable/Disable channel id in conversion result\r
+ * - Enable/Disable continuous conversion\r
+ */\r
+ adcREG2->GxMODECR[0U] = ADC_12_BIT\r
+ | 0x00000000U\r
+ | 0x00000000U;\r
+\r
+ /** - Setup event group hardware trigger\r
+ * - Setup hardware trigger edge\r
+ * - Setup hardware trigger source\r
+ */\r
+ adcREG2->G0SRC = 0x00000000U\r
+ | ADC2_EVENT;\r
+\r
+ /** - Setup event group sample window */\r
+ adcREG2->G0SAMP = 0U;\r
+\r
+ /** - Setup event group sample discharge \r
+ * - Setup discharge prescaler\r
+ * - Enable/Disable discharge\r
+ */\r
+ adcREG2->G0SAMPDISEN = 0U << 8U\r
+ | 0x00000000U;\r
+\r
+ /** - Setup group 1 conversion mode\r
+ * - Setup data format\r
+ * - Enable/Disable channel id in conversion result\r
+ * - Enable/Disable continuous conversion\r
+ */\r
+ adcREG2->GxMODECR[1U] = ADC_12_BIT\r
+ | 0x00000020U\r
+ | 0x00000000U\r
+ | 0x00000000U;\r
+\r
+ /** - Setup group 1 hardware trigger\r
+ * - Setup hardware trigger edge\r
+ * - Setup hardware trigger source\r
+ */\r
+ adcREG2->G1SRC = 0x00000000U\r
+ | ADC2_EVENT;\r
+\r
+\r
+ /** - Setup group 1 sample window */\r
+ adcREG2->G1SAMP = 0U;\r
+\r
+ /** - Setup group 1 sample discharge \r
+ * - Setup discharge prescaler\r
+ * - Enable/Disable discharge\r
+ */\r
+ adcREG2->G1SAMPDISEN = 0U << 8U\r
+ | 0x00000000U;\r
+\r
+ /** - Setup group 2 conversion mode\r
+ * - Setup data format\r
+ * - Enable/Disable channel id in conversion result\r
+ * - Enable/Disable continuous conversion\r
+ */\r
+ adcREG2->GxMODECR[2U] = ADC_12_BIT\r
+ | 0x00000000U\r
+ | 0x00000000U\r
+ | 0x00000000U;\r
+\r
+ /** - Setup group 2 hardware trigger\r
+ * - Setup hardware trigger edge\r
+ * - Setup hardware trigger source\r
+ */\r
+ adcREG2->G2SRC = 0x00000000U\r
+ | ADC2_EVENT;\r
+\r
+ /** - Setup group 2 sample window */\r
+ adcREG2->G2SAMP = 0U;\r
+\r
+ /** - Setup group 2 sample discharge \r
+ * - Setup discharge prescaler\r
+ * - Enable/Disable discharge\r
+ */\r
+ adcREG2->G2SAMPDISEN = 0U << 8U\r
+ | 0x00000000U;\r
+\r
+ /** - Enable ADC module */\r
+ adcREG2->OPMODECR |= 0x80140001U;\r
+\r
+ /** - Wait for buffer inialisation complete */\r
+ while ((adcREG2->BUFINIT) != 0) { /* Wait */ } \r
+ \r
+ /** - Setup parity */\r
+ adcREG2->PARCR = 0x00000005U;\r
+\r
+ /** @note This function has to be called before the driver can be used.\n\r
+ * This function has to be executed in priviledged mode.\n\r
+ */\r
/* USER CODE BEGIN (4) */\r
/* USER CODE END */\r
}\r
0x00000000U ,\r
0x00000000U |\r
0x00000000U |\r
- 0x00000000U |\r
- 0x00000000U |\r
- 0x00000000U |\r
- 0x00000000U |\r
- 0x00000000U |\r
- 0x00000000U |\r
+ 0x00000004U |\r
+ 0x00000008U |\r
+ 0x00000010U |\r
+ 0x00000020U |\r
+ 0x00000040U |\r
+ 0x00000080U |\r
0x00000000U |\r
0x00000000U |\r
0x00000000U |\r
// Delete generated content after user code block!!!\r
adcNotification(adcREG1, adcGROUP1);\r
/* USER CODE END */\r
-\r
/* USER CODE BEGIN (50) */\r
/* USER CODE END */\r
}\r
void adc2Group1Interrupt(void)\r
{\r
/* USER CODE BEGIN (61) */\r
-/* USER CODE END */\r
- \r
- adcREG2->GxINTFLG[1U] = 9U;\r
-\r
+ // Delete generated content after user code block!!!\r
adcNotification(adcREG2, adcGROUP1);\r
-\r
+/* USER CODE END */\r
/* USER CODE BEGIN (62) */\r
/* USER CODE END */\r
}\r
-/*
- * cmd_proc_freertos_tms570.c
- *
- * Created on: 1.8.2012
- * Author: Michal Horn
- *
- * Implementation of main task for processing commands.
- *
- */
+/** @file cmd_proc_freertos_tms570.c
+* @brief Texas Instrument SCI FreeRTOS cmdProc implementation
+* @date 1.August.2012
+*
+* Implements main task of command processing.
+*
+*/
+
+/* Include files */
#include "cmd_proc_freertos_tms570.h"
+/** cmdProc task handler */
xTaskHandle processCmdHandler;
+/** string prompt */
uint8_t* prompt;
-extern cmd_des_t const *cmd_list_main[]; // Main list of commands
-extern cmd_io_t cmd_io_std_line; // IO stack
+/** Main list of commands */
+extern cmd_des_t const *cmd_list_main[];
+/** IO stack */
+extern cmd_io_t cmd_io_std_line;
void initCmdProc(unsigned portBASE_TYPE priority, uint8_t * introText, uint8_t * promptText) {
ed_line_buf_t ed_line_buf_in_std={
- 0,
+ FL_ELB_ECHO,
0,
sizeof(ed_line_in_std),
0,
-/*
- * cmdio_buffer.c
- *
- * Created on: 17.7.2012
- * Author: Michal Horn
- *
- * Definition of IO. This implementation uses queues as buffers, which are than used for input and output.
- *
- */
+/** @file cmdio_tisci.c
+* @brief Texas Instrument SCI IO for cmdProc
+* @date 17.July.2012
+*
+* Definition of IO. This implementation uses queues as buffers, which are than used for input and output.
+*
+*/
+/* Include files */
#include "cmdio_tisci.h"
+/** Buffer used for sending to sci */
tBuffer outBuffer;
+/** Buffer used for receiving from sci */
tBuffer inBuffer;
void initIoBuffer() {
continue;
}
if ((ret = xQueueSend(buffer->buf, (void*)string++, portMAX_DELAY) )!= pdPASS) {
- break; // Some critical error occured
+ break; // Some critical error occurred
}
}
xSemaphoreGive(buffer->mutex);
-/*
- * commands.c
- *
- * Created on: 31.7.2012
- * Author: Michal Horn
- *
- * Definition of commands for cmdProc library. Command are stored as lists.
- *
- */
-
+/** @file commands.c
+* @brief Command definitions file
+* @date 31.July.2012
+*
+* Command is defined by its function. The function and others parameters are stored as list element.
+* All commands represented as elements are stored in lists connected into one main list.
+*/
+
+/* Include files */
#include "cmd_proc.h"
#include "sys_common.h"
#include "cmdio_tisci.h"
#include "adc.h"
#include "din.h"
#include "mout.h"
+#include "hout.h"
+/** @brief Count of AD channels in ADC1
+*/
#define ADC1_CHANNEL_COUNT 12
+/** @brief Count of AD channels in HOUT port
+*/
+#define HOUT_IFBK_CHANNEL_COUNT 6
+
+/** @brief List in which commands are stored */
cmd_des_t const **cmd_list;
+/** @brief Semaphore blocking task when it waits for interrupt signaling message receive */
xSemaphoreHandle canMsgReceived;
+/** @brief Semaphore blocking task when it waits for interrupt signaling end of the conversion */
xSemaphoreHandle adcDataConverted;
-ADCData_t adc1Data;
+/** @brief Data structure containing converted data from ADC */
+ADCData_t adcData;
+/** @brief Set of port adresses for each din pin
+ *
+ * Defined in din.c */
extern gioPORT_t * dinPorts[8];
+/** @brief Set of port adresses for each mout pin
+ *
+ * Defined in mout.c */
extern gioPORT_t * moutPorts[12];
+/** @brief Set of port adresses for each hout pin
+ *
+ * Defined in hout.c */
+extern gioPORT_t * houtPorts[12];
+/** @brief Set of bit indexes for each din pin
+ *
+ * Each element stores index of a bit in register assigned to din pin.
+ * Defined in din.c */
extern uint8_t dinBits[8];
+/** @brief Set of bit indexes for each mout pin
+ *
+ * Each element stores index of a bit in register assigned to mout pin.
+ * Defined in din.c */
extern uint8_t moutBits[12];
+/** @brief Set of bit indexes for each hout pin
+ *
+ * Each element stores index of a bit in register assigned to hout pin.
+ * Defined in din.c */
+extern uint8_t houtBits[12];
/* ------------------------------
* User defined command functions
* ------------------------------
*/
+
+/** Reads values from MOUT_EN pins and prints them
+ * @param[in] cmd_io Pointer to IO stack
+ * @param[in] des Pointer to command descriptor
+ * @param[in] param Parameters of command
+ * @return 0 when OK or error code
+ */
int cmd_do_readMOUTValues(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[]) {
- print((uint8_t *)"\r\nValues from MOUT port:");
+ print((uint8_t *)"\r\nValues from MOUT_EN:");
uint32_t portVal = moutGetPort();
print((uint8_t *)"\r\npin\t|\tvalue");
uint8_t i;
- for (i = 6, portVal>>6; i < 12; i++, portVal>>1) {
+ for (i = 6, portVal = portVal>>6; i < 12; i++, portVal = portVal>>1) {
uint8_t bit = portVal&1;
char numBuf[2];
i2str(numBuf, i-5, 1, 10);
}
return 0;
}
+
+/** Reads values from DIN pins and prints them
+ * @param[in] cmd_io Pointer to IO stack
+ * @param[in] des Pointer to command descriptor
+ * @param[in] param Parameters of command
+ * @return 0 when OK or error code
+ */
int cmd_do_readDINValues(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[]) {
- print((uint8_t *)"\r\nValues from DIN port:");
+ print((uint8_t *)"\r\nValues from DIN:");
uint32_t portVal = dinGetPort();
print((uint8_t *)"\r\npin\t|\tvalue");
uint8_t i;
- for (i = 0; i < 8; i++,portVal>>1) {
+ for (i = 0; i < 8; i++,portVal = portVal>>1) {
uint8_t bit = portVal&1;
print((uint8_t *)"\r\n");
char numBuf[1];
return 0;
}
-int cmd_do_readADC1Values(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
-{
- char numBuf[4]; // Buffer used for i2str conversion
- uint32_t i; // Cycle control variable
-
- adcData_t adc_data_origin[ADC1_CHANNEL_COUNT];
- adc1Data.adc_data = adc_data_origin;
- adc1Data.ch_count = ADC1_CHANNEL_COUNT;
-
+/** Reads values from HOUT_DIAG pins and prints them
+ * @param[in] cmd_io Pointer to IO stack
+ * @param[in] des Pointer to command descriptor
+ * @param[in] param Parameters of command
+ * @return 0 when OK or error code
+ */
+int cmd_do_read_HOUT_DIAG_Values(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[]) {
+ print((uint8_t *)"\r\nValues from HOUT_DIAG:");
+ uint32_t portVal = houtGetPort();
+ print((uint8_t *)"\r\npin\t|\tvalue");
+ uint8_t i;
+ for (i = 0, portVal = portVal>>6; i < 6; i++,portVal = portVal>>1) {
+ uint8_t bit = portVal&1;
+ print((uint8_t *)"\r\n");
+ char numBuf[1];
+ i2str(numBuf, i+1, 1, 10);
+ print((uint8_t *)numBuf);
+ print((uint8_t *)"\t|\t");
+ if (bit) {
+ print((uint8_t *)"1");
+ }
+ else {
+ print((uint8_t *)"0");
+ }
+ }
+ return 0;
+}
+/** Reads values from ADC and stores them to ADCData structure defined as global.
+ * ADCData structure must be defined properly before this function is called.
+ * @param[in] adc Pointer to ADC base register
+ * @param[in] group ADC group selector
+ * @return 0 when OK or error code
+ */
+int readADC(adcBASE_t* adc, uint32_t group) {
+ if (adcData.adc_data == NULL) {
+ return 1;
+ }
adcDataConverted = xSemaphoreCreateCounting(1, 0);
- print((uint8_t *)"\r\nRead ADC1 values.");
- adcEnableNotification(adcREG1, adcGROUP1);
- adcCalibration(adcREG1);
- adcMidPointCalibration(adcREG1);
- print((uint8_t *)"\r\nNOTE: Calibration done.");
+ adcEnableNotification(adc, group);
+ adcCalibration(adc);
+ adcMidPointCalibration(adc);
- adcStartConversion(adcREG1, adcGROUP1);
+ adcStartConversion(adc, group);
xSemaphoreTake(adcDataConverted, portMAX_DELAY);
- if (adc1Data.flags & BAD_CHANNELS_COUNT) {
+ if (adcData.flags & BAD_CHANNELS_COUNT) {
print((uint8_t *)"\r\nERROR: Bad count of channels was read! Can not proceed.");
- adc1Data.flags &= ~BAD_CHANNELS_COUNT;
+ adcData.flags &= ~BAD_CHANNELS_COUNT;
+ adcDisableNotification(adc, group);
+ vSemaphoreDelete(canMsgReceived);
return 1;
}
- if (adc1Data.flags & MEM_OVERRUN) {
+ if (adcData.flags & MEM_OVERRUN) {
print((uint8_t *)"\r\nWARNING: ADC Memory overrun detected. Values can be imprecise.");
- adc1Data.flags &= ~MEM_OVERRUN;
+ adcData.flags &= ~MEM_OVERRUN;
}
+ adcDisableNotification(adc, group);
+ vSemaphoreDelete(canMsgReceived);
+ return 0;
+}
+
+/** Reads values from HOUT_IFBK pins (subset of ADC)
+ * @param[in] cmd_io Pointer to IO stack
+ * @param[in] des Pointer to command descriptor
+ * @param[in] param Parameters of command
+ * @return 0 when OK or error code
+ */
+int cmd_do_read_HOUT_IFBK_Values(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
+{
+ char numBuf[4]; // Buffer used for i2str conversion
+ uint32_t i; // Cycle control variable
+
+ // ADCData structure initialization
+ adcData_t adc_data_origin[HOUT_IFBK_CHANNEL_COUNT];
+ adcData.adc_data = adc_data_origin;
+ adcData.ch_count = HOUT_IFBK_CHANNEL_COUNT;
+
+ print((uint8_t *)"\r\nRead HOUT_IFBK values.");
+ if (readADC(adcREG2, adcGROUP1) == 1)
+ return 1;
+ /* conversion results */
+ for (i = 0; i < adcData.ch_count; i++) {
+ print((uint8_t *)"\r\nHOUT: ");
+ i2str(numBuf, adcData.adc_data[i].id-1, 1, 10);
+ print((uint8_t *)numBuf);
+ print((uint8_t *)"\tvalue: ");
+ i2str(numBuf, adcData.adc_data[i].value, 1, 10);
+ print((uint8_t *)numBuf);
+ print((uint8_t *)" 0x");
+ i2str(numBuf, adcData.adc_data[i].value, 1, 16);
+ print((uint8_t *)numBuf);
+ }
+ adcData.adc_data = NULL;
+ return 0;
+}
+
+/** Reads values from ADC1 pins
+ * @param[in] cmd_io Pointer to IO stack
+ * @param[in] des Pointer to command descriptor
+ * @param[in] param Parameters of command
+ * @return 0 when OK or error code
+ */
+int cmd_do_readADC1Values(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
+{
+ char numBuf[4]; // Buffer used for i2str conversion
+ uint32_t i; // Cycle control variable
+
+ /* ADCData structure initialization */
+ adcData_t adc_data_origin[ADC1_CHANNEL_COUNT];
+ adcData.adc_data = adc_data_origin;
+ adcData.ch_count = ADC1_CHANNEL_COUNT;
+
+ print((uint8_t *)"\r\nADC1 values:");
+ if (readADC(adcREG1, adcGROUP1) == 1)
+ return 1;
/* conversion results : */
- for (i = 0; i < adc1Data.ch_count; i++) {
+ for (i = 0; i < adcData.ch_count; i++) {
print((uint8_t *)"\r\nChannel: ");
- i2str(numBuf, adc1Data.adc_data[i].id, 1, 10);
+ i2str(numBuf, adcData.adc_data[i].id, 1, 10);
print((uint8_t *)numBuf);
print((uint8_t *)"\tvalue: ");
- i2str(numBuf, adc1Data.adc_data[i].value, 1, 10);
+ i2str(numBuf, adcData.adc_data[i].value, 1, 10);
print((uint8_t *)numBuf);
print((uint8_t *)" 0x");
- i2str(numBuf, adc1Data.adc_data[i].value, 1, 16);
+ i2str(numBuf, adcData.adc_data[i].value, 1, 16);
print((uint8_t *)numBuf);
}
-
- adcDisableNotification(adcREG1, adcGROUP1);
- vSemaphoreDelete(canMsgReceived);
- return 0;
+ adcData.adc_data = NULL;
+ return 0;
}
+/** Read values general command function. According the suffix switch to appropriate reading procedure.
+ * @param[in] cmd_io Pointer to IO stack
+ * @param[in] des Pointer to command descriptor
+ * @param[in] param Parameters of command
+ * @return 0 when OK or error code
+ */
int cmd_do_readValues(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[]) {
- uint32_t suffix = 100;
+ uint32_t suffix = 0;
int ret;
char* token = NULL;
if ((token = strtok(param[1], " ")) == NULL) {
- print((uint8_t *)"ERROR: No suffix! MOUT Expected.");
+ print((uint8_t *)"ERROR: No suffix!");
return 1;
}
suffix = 1;
else if (!strcmp(token, "DIN"))
suffix = 2;
- else if (!strcmp(token, "MOUT"))
+ else if (!strcmp(token, "MOUTE"))
suffix = 3;
+ else if (!strcmp(token, "HOUTD"))
+ suffix = 4;
+ else if (!strcmp(token, "HOUTF"))
+ suffix = 5;
else {
print((uint8_t *)"ERROR: Wrong suffix!");
return 1;
case 3:
ret = cmd_do_readMOUTValues(cmd_io, des, param);
break;
+ case 4:
+ ret = cmd_do_read_HOUT_DIAG_Values(cmd_io, des, param);
+ break;
+ case 5:
+ ret = cmd_do_read_HOUT_IFBK_Values(cmd_io, des, param);
+ break;
+ default:
+ ret = 1;
}
return ret;
}
+/** Set value general command function. According the suffix sets given bit to given value to appropriate port pin.
+ * @param[in] cmd_io Pointer to IO stack
+ * @param[in] des Pointer to command descriptor
+ * @param[in] param Parameters of command
+ * @return 0 when OK or error code
+ */
int cmd_do_setPin(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[]) {
void (*setBit)(gioPORT_t *, uint32_t, uint32_t) = NULL;
gioPORT_t * port = NULL;
uint32_t pin;
uint32_t bit;
uint32_t value;
- uint32_t postfix = 100;
+ uint32_t suffix = 0;
+
+ // Get suffix
if ((token = strtok(param[1], " ")) == NULL) {
- print((uint8_t *)"ERROR: No suffix! MOUT Expected.");
+ print((uint8_t *)"ERROR: No suffix!");
return 1;
}
-
- if (!strcmp(token, "MOUT"))
- postfix = 1;
+ if (!strcmp(token, "MOUTI"))
+ suffix = 1;
+ else if (!strcmp(token, "HOUTI")) {
+ suffix = 2;
+ }
else {
print((uint8_t *)"ERROR: Wrong suffix!");
return 1;
}
+ // Get index of the bit
if ((token = strtok(param[2], " ")) == NULL) {
print((uint8_t *)"ERROR: Parameter 1 expected.");
return 1;
print((uint8_t *)"ERROR: unsigned number expected as param 1!");
return 1;
}
+ // Get value
if ((token = strtok(NULL, " ")) == NULL) {
print((uint8_t *)"ERROR: Parameter 2 expected.");
return 1;
print((uint8_t *)"ERROR: More than 2 parameters detected!");
return 1;
}
- switch(postfix) {
- case 1 :
+
+ switch(suffix) {
+ case 1 : // MOUTI
setBit=&gioSetBit;
if (pin < 1 || pin > 6) {
print((uint8_t *)"ERROR: 1st parameter out of range <1;6>!");
port = moutPorts[pin-1];
bit = moutBits[pin-1];
break;
+ case 2 : // HOUTI
+ setBit=&gioSetBit;
+ if (pin < 1 || pin > 6) {
+ print((uint8_t *)"ERROR: 1st parameter out of range <1;6>!");
+ return 1;
+ }
+ if (value != 1 && value != 0) {
+ print((uint8_t *)"ERROR: 2nd parameter out of range <0;1>!");
+ return 1;
+ }
+ port = houtPorts[pin-1];
+ bit = houtBits[pin-1];
+ break;
}
setBit(port, bit, value);
print((uint8_t *)"Bit has been set.");
return 0;
}
+/** Get value general command function. According the suffix gets given bit of appropriate port pin.
+ * @param[in] cmd_io Pointer to IO stack
+ * @param[in] des Pointer to command descriptor
+ * @param[in] param Parameters of command
+ * @return 0 when OK or error code
+ */
+int cmd_do_getPin(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[]) {
+ char* token = NULL;
+ char numBuf[4];
+ uint32_t value;
+ uint32_t pin;
+ uint32_t suffix = 100;
+ // Get suffix
+ if ((token = strtok(param[1], " ")) == NULL) {
+ print((uint8_t *)"ERROR: No suffix!");
+ return 1;
+ }
+ if (!strcmp(token, "ADC1"))
+ suffix = 1;
+ else if (!strcmp(token, "DIN"))
+ suffix = 2;
+ else if (!strcmp(token, "MOUTE"))
+ suffix = 3;
+ else if (!strcmp(token, "HOUTD"))
+ suffix = 4;
+ else if (!strcmp(token, "HOUTF"))
+ suffix = 5;
+ else {
+ print((uint8_t *)"ERROR: Wrong suffix!");
+ return 1;
+ }
+ // Get pin
+ if ((token = strtok(param[2], " ")) == NULL) {
+ print((uint8_t *)"ERROR: Parameter 1 expected.");
+ return 1;
+ }
+ if (EOF == sscanf(token, "%d", &pin)){
+ print((uint8_t *)"ERROR: unsigned number expected as param 1!");
+ return 1;
+ }
+ if ((token = strtok(NULL, " ")) != NULL) {
+ print((uint8_t *)"ERROR: More than 1 parameters detected!");
+ return 1;
+ }
+
+ switch(suffix) {
+ case 1 : // ADC1
+ {
+ if (pin > 11) {
+ print((uint8_t *)"ERROR: 1st parameter out of range <0;11>!");
+ return 1;
+ }
+
+ adcData_t adc_data_origin[ADC1_CHANNEL_COUNT];
+ adcData.adc_data = adc_data_origin;
+ adcData.ch_count = ADC1_CHANNEL_COUNT;
+ if (readADC(adcREG1, adcGROUP1) == 1)
+ return 1;
+ value = adcData.adc_data[pin].value;
+ adcData.adc_data = NULL;
+ break;
+ }
+ case 2 : // DIN
+ pin -= 7;
+ if (pin < 1 || pin > 8) {
+ print((uint8_t *)"ERROR: 1st parameter out of range <8;15>!");
+ return 1;
+ }
+ value = gioGetBit(dinPorts[pin-1], dinBits[pin-1]);
+ break;
+ case 3 : // MOUTE
+ if (pin < 1 || pin > 6) {
+ print((uint8_t *)"ERROR: 1st parameter out of range <1;6>!");
+ return 1;
+ }
+ value = gioGetBit(moutPorts[pin-1], moutBits[pin-1]);
+ break;
+ case 4 : // HOUTD
+ if (pin < 1 || pin > 6) {
+ print((uint8_t *)"ERROR: 1st parameter out of range <1;6>!");
+ return 1;
+ }
+ value = gioGetBit(houtPorts[pin-1], houtBits[pin-1]);
+ break;
+ case 5 : // HOUTF
+ {
+ if (pin < 1 || pin > 6) {
+ print((uint8_t *)"ERROR: 1st parameter out of range <1;6>!");
+ return 1;
+ }
+ adcData_t adc_data_origin[HOUT_IFBK_CHANNEL_COUNT];
+ adcData.adc_data = adc_data_origin;
+ adcData.ch_count = HOUT_IFBK_CHANNEL_COUNT;
+ if (readADC(adcREG2, adcGROUP1) == 1)
+ return 1;
+ value = adcData.adc_data[pin].value;
+ adcData.adc_data = NULL;
+ break;
+ }
+ }
+ i2str(numBuf, value, 1, 10);
+ print((uint8_t *)numBuf);
+ return 0;
+}
+
+/** Runs test of ADC1. Test each channel if it is shorted to REFLO or REFHI
+ * @param[in] cmd_io Pointer to IO stack
+ * @param[in] des Pointer to command descriptor
+ * @param[in] param Parameters of command
+ * @return 0 when OK or error code
+ */
int cmd_do_testADC1Connection(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
{
uint32_t Vn[ADC1_CHANNEL_COUNT]; // Nominal value, converted from ADC
uint32_t i; // Cycle control variable
char numBuf[2]; // Buffer used for i2str conversion
+ // Initialize ADCData structure
adcData_t adc_data_origin[ADC1_CHANNEL_COUNT];
- adc1Data.adc_data = adc_data_origin;
- adc1Data.ch_count = ADC1_CHANNEL_COUNT;
+ adcData.adc_data = adc_data_origin;
+ adcData.ch_count = ADC1_CHANNEL_COUNT;
-
- adcDataConverted = xSemaphoreCreateCounting(1, 0);
print((uint8_t *)"\r\nTesting ADC1 connection.");
- adcEnableNotification(adcREG1, adcGROUP1);
- adcCalibration(adcREG1);
- adcMidPointCalibration(adcREG1);
- print((uint8_t *)"\r\nNOTE: Calibration done.");
- for (j = 0; j < 3; j++) {
+ // Read and store Nominal voltage, Lowest voltage Highest voltage in that order
+ for (j = 0; j < 3; j++) {
+ // Choose voltage
switch(j) {
case 0:
adcREG1->CALCR = 0;
Vptr = &Vu[0];
break;
}
-
- adcStartConversion(adcREG1,adcGROUP1);
- // Wait until conversion done
- xSemaphoreTake(adcDataConverted, portMAX_DELAY);
+ // Read
+ if (readADC(adcREG2, adcGROUP1) == 1)
+ return 1;
+ // Store
for (i = 0; i < ADC1_CHANNEL_COUNT; i++) {
- if (adc1Data.flags & BAD_CHANNELS_COUNT) {
- print((uint8_t *)"\r\nERROR: Bad count of channels was read! Can not proceed.");
- adc1Data.flags &= ~BAD_CHANNELS_COUNT;
- return 1;
- }
- if (adc1Data.flags & MEM_OVERRUN) {
- print((uint8_t *)"\r\nWARNING: ADC Memory overrun detected. Values can be imprecise.");
- adc1Data.flags &= ~MEM_OVERRUN;
- }
- Vptr[i] = adc1Data.adc_data[i].value;
+ Vptr[i] = adcData.adc_data[i].value;
}
}
print((uint8_t *)"\r\n|\tChannel\t|\tStatus");
for (i = 0; i < ADC1_CHANNEL_COUNT; i++) {
i2str(numBuf, i, 2, 10);
-
print((uint8_t *)"\r\n|\t");
print((uint8_t *)numBuf);
print((uint8_t *)"\t|\t");
+
if(Vu[i] <= Vd[i]) {
if (Vn[i] == 0) {
print((uint8_t *)"shorted with REFLO");
-
}
else {
print((uint8_t *)"shorted with REFHI");
-
}
}
else {
}
}
adcREG1->CALCR = 0;
-
- adcDisableNotification(adcREG1, adcGROUP1);
- vSemaphoreDelete(canMsgReceived);
+ adcData.adc_data = NULL;
return 0;
}
+/** Runs test of CAN internal loopback. Send message from CAN1 and receive it on CAN2.
+ * @param[in] cmd_io Pointer to IO stack
+ * @param[in] des Pointer to command descriptor
+ * @param[in] param Parameters of command
+ * @return 0 when OK or error code
+ */
int cmd_do_testcanloopback(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
{
+ canEnableErrorNotification(canREG1);
+ canEnableErrorNotification(canREG2);
canMsgReceived = xSemaphoreCreateCounting(1, 0);
print((uint8_t *)"\r\nTesting CAN loopback\r\n");
- print((uint8_t *)"Sending message...");
uint32_t cnt=0, error =0;
uint8_t tx_data[8] = {'T', 'E', 'S', 'T', ' ', 'C', 'A', 'N'};
uint8_t rx_data[8];
canTransmit(canREG1, canMESSAGE_BOX1, tx_data); /* transmitting 8 different chunks 1 by 1 */
-
xSemaphoreTake(canMsgReceived, portMAX_DELAY);
canGetData(canREG2, canMESSAGE_BOX1, rx_data); /* copy to RAM */
-
for(cnt=0;cnt<8;cnt++)
{
if(tx_data[cnt] != rx_data[cnt])
error++; /* data error */
}
}
- print((uint8_t *)"message received\r\nErrors: ");
- char errBuf[1];
- i2str(errBuf, error, 1, 10);
- print((uint8_t *)errBuf);
- print((uint8_t *)"\r\n");
+ if (error == 0) {
+ print((uint8_t *)"OK\r\n");
+ }
+ else {
+ print((uint8_t *)"FAILED, errors: ");
+ char errBuf[1];
+ i2str(errBuf, error, 1, 10);
+ print((uint8_t *)errBuf);
+ print((uint8_t *)"\r\n");
+ }
vSemaphoreDelete(canMsgReceived);
+ canDisableErrorNotification(canREG1);
+ canDisableErrorNotification(canREG2);
return 0;
}
-int cmd_do_testopchar(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
-{
- int opchar;
-
- opchar=cmd_opchar_check(cmd_io,des,param);
- if(opchar<0) return opchar;
- char str[] = {"\r\ncmd_do_testopchar called\r\nparam[0]="};
-
- print((uint8_t *)str);
- print((uint8_t *)param[0]);
- print((uint8_t *)"\r\nparam[1]=");
- print((uint8_t *)param[1]);
- print((uint8_t *)"\r\nparam[2]=");
- print((uint8_t *)param[2]);
- print((uint8_t *)"\r\nparam[3]=");
- print((uint8_t *)param[3]);
- print((uint8_t *)"\r\nopchar=");
- char opcharBuf[4];
- i2str(opcharBuf, opchar, 1, 10);
- print((uint8_t *)opcharBuf);
- print((uint8_t *)"\r\n");
- return 0;
-}
-
-int cmd_do_testparam(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
-{
-
- char str[] = {"cmd_do_testparam called\r\nparam[0]="};
-
- print((uint8_t *)str);
- print((uint8_t *)param[0]);
- print((uint8_t *)"\r\nparam[1]=");
- print((uint8_t *)param[1]);
- print((uint8_t *)"\r\nparam[2]=");
- print((uint8_t *)param[2]);
- print((uint8_t *)"\r\n");
-
- return 0;
-}
-
-int cmd_do_testerror(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
-{
- return -1234;
-}
-
-int cmd_do_test(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
+/** Runs test of HOUT. Test, weather HOUT is in fault state, which means that HOUT_DIAG is shorted to ground
+ * @param[in] cmd_io Pointer to IO stack
+ * @param[in] des Pointer to command descriptor
+ * @param[in] param Parameters of command
+ * @return 0 when OK or error code
+ */
+int cmd_do_testhoutfault(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
{
- char str[] = {"This is the simplest command\r\n"};
- print((uint8_t *)str);
-
- return 0;
+ print((uint8_t *)"Testing fault state of HOUT port:");
+ uint8_t i;
+ for (i = 0; i < 6; i++) {
+ HOUTSetBit(houtPorts[i], houtBits[i], 1);
+ vTaskDelay(100/portTICK_RATE_MS);
+ if (HOUTGetBit(houtPorts[i+6], houtBits[i+6]) == 1) {
+ print((uint8_t *)"\r\nOK");
+ }
+ else {
+ print((uint8_t *)"\r\nFAIL");
+ }
+ HOUTSetBit(houtPorts[i], houtBits[i], 0);
+ }
+ return 0;
}
-int cmd_do_testcmdio(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
+/** Runs test of MOUT. Test, weather MOUT is in fault state, which means that MOUT_EN is shorted to ground
+ * @param[in] cmd_io Pointer to IO stack
+ * @param[in] des Pointer to command descriptor
+ * @param[in] param Parameters of command
+ * @return 0 when OK or error code
+ */
+int cmd_do_testmoutfault(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
{
- cmd_io_puts(cmd_io, "The first line of text\r\n");
- cmd_io_puts(cmd_io, "The second line of text\r\n");
- char str[1000];
- int i;
- for (i = 0; i < 1000; i++) {
- str[i] = 'q';
- }
- str[999]='\0';
- print((uint8_t *)str);
- /* Only ED_LINE_CHARS character can be sent. */
- return 0;
+ print((uint8_t *)"Testing fault state of MOUT port:");
+ uint8_t i;
+ for (i = 0; i < 6; i++) {
+ MOUTSetBit(moutPorts[i], moutBits[i], 1);
+ vTaskDelay(100/portTICK_RATE_MS);
+ if (MOUTGetBit(moutPorts[i+6], moutBits[i+6]) == 1) {
+ print((uint8_t *)"\r\nOK");
+ }
+ else {
+ print((uint8_t *)"\r\nFAIL");
+ }
+ MOUTSetBit(moutPorts[i], moutBits[i], 0);
+ }
+ return 0;
}
-
/* ------------------------------
* User defined command variables
* ------------------------------
*/
-int val;
/* -------------------
* Command definitions
* -------------------
*/
+/** @brief command descriptor for get value of pin command */
+cmd_des_t const cmd_des_getPin={
+ 0, 0,
+ "GETPIN*","Get value of pin at port given as suffix\r\n\t"
+ "-suffix ADC1 pin<0;11> - read value from ADC1[pin]\r\n\t"
+ "-suffix DIN pin<8;15> - read values from DIN[pin]\r\n\t"
+ "-suffix HOUTD pin<1;6> - read values from HOUT_DIAG[pin]\r\n\t"
+ "-suffix HOUTF pin<1;6> - read values from HOUT_IFBK[pin]\r\n\t"
+ "-suffix MOUTE pin<1;6> - read values from MOUT_EN[pin]",
+ cmd_do_getPin, (void *)&cmd_list
+};
+/** @brief command descriptor for set value to pin command */
cmd_des_t const cmd_des_setPin={
0, 0,
- "SETBIT*","Sets given value to defined pin of port in suffix\r\n\t"
- "-suffix: MOUT pin<1;6> value <0;1> - MOUT<pin>_IN <- value",
+ "SETPIN*","Set value to pin at port given as suffix\r\n\t"
+ "-suffix: MOUTI pin<1;6> value <0;1> - MOUT[pin]_IN <- value\r\n\t"
+ "-suffix: HOUTI pin<1;6> value <0;1> - HOUT[pin]_IN <- value",
cmd_do_setPin, (void *)&cmd_list
};
-
+/** @brief command descriptor for read values from port command */
cmd_des_t const cmd_des_read={
0, 0,
- "READVAL*","Read values from channel\r\n\t"
- "-suffix ADC1 - read values from ADC1\r\n\t"
- "-suffix DIN - read values from DIN\r\n\t"
- "-suffix MOUT - read values from MOUT",
+ "READVAL*","Read values from port\r\n\t"
+ "-suffix ADC1 - read values from ADC1\r\n\t"
+ "-suffix DIN - read values from DIN\r\n\t"
+ "-suffix HOUTD - read values from HOUT_DIAG\r\n\t"
+ "-suffix HOUTF - read values from HOUT_IFBK\r\n\t"
+ "-suffix MOUTE - read values from MOUT_EN",
cmd_do_readValues, (void *)&cmd_list
};
-
+/** @brief command descriptor for test ADC connection command */
cmd_des_t const cmd_des_testadcconnetion={
0, 0,
"ADCCON","Test fitness of each ADC channel connection",
cmd_do_testADC1Connection, (void *)&cmd_list
};
+/** @brief command descriptor for test CAN internal loopback command */
cmd_des_t const cmd_des_testcanloopback={
0, 0,
- "CANLOOPBACK","sends message from CAN1 to CAN2 in message box 1",
+ "CANLOOPBACK","Test CAN internal loopback",
cmd_do_testcanloopback, (void *)&cmd_list
};
+/** @brief command descriptor for test mout fault state command */
+cmd_des_t const cmd_des_testmoutfail={
+ 0, 0,
+ "MOUTFAIL","Test if some MOUT port is in fault state",
+ cmd_do_testmoutfault, (void *)&cmd_list
+};
+/** @brief command descriptor for test hout fault state command */
+cmd_des_t const cmd_des_testhoutfail={
+ 0, 0,
+ "HOUTFAIL","Test if some HOUT port is in fault state",
+ cmd_do_testhoutfault, (void *)&cmd_list
+};
+/** @brief command descriptor for show help command */
cmd_des_t const cmd_des_help={
0, 0,
"HELP","prints help for commands\r\n",
cmd_do_help, (void *)&cmd_list
};
-cmd_des_t const cmd_des_val={
- 0, CDESM_OPCHR|CDESM_RW,
- "VAL","use ':' or '?' to store/read value of an integer variable",
- cmd_do_rw_int, (void *)&val};
-
-cmd_des_t const cmd_des_valro={
- 0, CDESM_OPCHR|CDESM_RD,
- "VALRO","read only access to an integer variable",
- cmd_do_rw_int, (void *)&val};
-
-cmd_des_t const cmd_des_valwo={
- 0, CDESM_OPCHR|CDESM_WR,
- "VALWO","write only access to an integer variable",
- cmd_do_rw_int, (void *)&val};
-
-cmd_des_t const cmd_des_opchar_test={
- 0, CDESM_OPCHR|CDESM_RW,
- "OPCHAR","opchar test (use ':' or '?' as suffix)",
- cmd_do_testopchar};
-
-cmd_des_t const cmd_des_testio={
- 0, 0,
- "TESTIO","test of cmd_io inside functions (universal way to print results)",
- cmd_do_testcmdio};
-
-cmd_des_t const cmd_des_error={
- 0, 0,
- "TESTERROR","should produce an error",
- cmd_do_testerror};
-
-cmd_des_t const cmd_des_param={
- 0, 0,
- "PARAM","test of parameters",
- cmd_do_testparam};
-
-cmd_des_t const cmd_des_opchar_testro={
- 0, CDESM_OPCHR|CDESM_RD,
- "OPCHARRO","opchar test (only '?' is allowed)",
- cmd_do_testopchar};
-
-cmd_des_t const cmd_des_test={
- 0, 0,
- "TEST","the simplest command",
- cmd_do_test};
-
-cmd_des_t const cmd_des_prefix={
- 0, 0,
- "PREFIX*","suffix of the command is supplied as a parametr",
- cmd_do_testparam};
-
-cmd_des_t const cmd_des_num={
- 0, 0,
- "NUM##","suffix of the command (two digits) is supplied as a parametr",
- cmd_do_testparam};
-
-cmd_des_t const cmd_des_char={
- 0, 0,
- "CHAR?","suffix of the command (one character) is supplied as a parametr",
- cmd_do_testparam};
-
-cmd_des_t const cmd_des_charmid={
- 0, 0,
- "CHAR?MID","middle character of the command is supplied as a parametr",
- cmd_do_testparam};
-
-cmd_des_t const cmd_des_hiddedn={
- 0, 0,
- "HIDDEN","should not be available",
- cmd_do_test};
-
/* ------------------------
* Command lists definitons
* ------------------------
*/
-cmd_des_t const *cmd_list_1[]={
- &cmd_des_val,
- &cmd_des_valro,
- &cmd_des_valwo,
- &cmd_des_opchar_test,
- &cmd_des_opchar_testro,
- NULL
- };
-
-cmd_des_t const *cmd_list_2[]={
- &cmd_des_test,
- &cmd_des_testio,
- &cmd_des_param,
- &cmd_des_prefix,
- &cmd_des_num,
- &cmd_des_char,
- &cmd_des_charmid,
- NULL
- };
-
+/** @brief Main list of commands */
cmd_des_t const *cmd_list_main[]={
&cmd_des_help,
- &cmd_des_error,
&cmd_des_testcanloopback,
&cmd_des_testadcconnetion,
+ &cmd_des_testmoutfail,
+ &cmd_des_testhoutfail,
&cmd_des_read,
&cmd_des_setPin,
- CMD_DES_INCLUDE_SUBLIST(cmd_list_1),
- CMD_DES_CONTINUE_AT(cmd_list_2),
- &cmd_des_hiddedn,
+ &cmd_des_getPin,
NULL
};
+/** @brief pointer to the main list */
cmd_des_t const **cmd_list = cmd_list_main;
-/*
- * din.c
- *
- * Created on: 29.8.2012
- * Author: michal
- */
+/** @file din.c
+* @brief Din port
+* @date 28.August.2012
+*
+* Set of din port adresses, din bit adresses, methods for getting and setting port values
+*
+*/
+
+/* Include files */
#include "din.h"
+/** Set of port adresses for each pin of DIN port */
gioPORT_t * dinPorts[8] = { DIN_PORT, DIN_PORT, DIN_PORT, DIN_PORT,
DIN_PORT, DIN_PORT, DIN_PORT, DIN_PORT
};
+/** Set of bit indexes for each pin of DIN port */
uint8_t dinBits[8] ={ DIN8_BIT, DIN9_BIT, DIN10_BIT, DIN11_BIT,
DIN12_BIT, DIN13_BIT, DIN14_BIT, DIN15_BIT
};
-
-/** @fn void dinSetPort(uint32_t value)
-* @brief Set value to port connected to DIN
-* @param[in] value to write to port
-* - 0bit - 7bit equals to DIN8 - DIN15 value
-* - 8bit - 31bit does not matter
-*
-* Set value of whole DIN port
-*/
void dinSetPort(uint32_t value) {
gioSetPort(DIN_PORT, value);
}
-
-/** @fn uint32_t dinGetPort()
-* @brief Read value from port connected to DIN
-*
-* Reads a the current value from the DIN port
-*/
uint32_t dinGetPort() {
return gioGetPort(DIN_PORT);
}
/** - Set HET pins direction */\r
hetREG1->DIR = 0x00000000U \r
| 0x00000000U \r
+ | 0x20000000U \r
| 0x00000000U \r
| 0x00000000U \r
| 0x00000000U \r
+ | 0x02000000U \r
| 0x00000000U \r
| 0x00000000U \r
+ | 0x00400000U \r
| 0x00000000U \r
+ | 0x00100000U \r
| 0x00000000U \r
+ | 0x00040000U \r
| 0x00000000U \r
- | 0x00000000U \r
- | 0x00000000U \r
- | 0x00000000U \r
- | 0x00000000U \r
- | 0x00000000U \r
- | 0x00000000U \r
+ | 0x00010000U \r
| 0x00000000U \r
| 0x00004000U \r
| 0x00000000U \r
--- /dev/null
+/** @file hout.c
+* @brief Hout port
+* @date 3.September.2012
+*
+* Set of hout port adresses, hout bit adresses, methods for getting and setting port values
+*
+*/
+
+/* Include files */
+#include "hout.h"
+
+/** Set of port adresses for each pin of HOUT port */
+gioPORT_t * houtPorts[12] = { HOUT_PORT, HOUT_PORT, HOUT_PORT,
+ HOUT_PORT, HOUT_PORT, HOUT_PORT,
+ HOUT_PORT, HOUT_PORT, HOUT_PORT,
+ HOUT_PORT, HOUT_PORT, HOUT_PORT
+};
+/** Set of bit indexes for each pin of HOUT port */
+uint8_t houtBits[12] ={ HOUT1_IN_BIT, HOUT2_IN_BIT, HOUT3_IN_BIT,
+ HOUT4_IN_BIT, HOUT5_IN_BIT, HOUT6_IN_BIT,
+ HOUT1_DIAG_BIT, HOUT2_DIAG_BIT, HOUT3_DIAG_BIT,
+ HOUT4_DIAG_BIT, HOUT5_DIAG_BIT, HOUT6_DIAG_BIT
+ };
+
+void houtSetPort(uint32_t value) {
+ uint8_t i;
+ for (i = 0; i < 12; i++) {
+ gioSetBit(houtPorts[i], houtBits[i], value&(1<<i));
+ }
+}
+uint32_t houtGetPort() {
+ uint8_t i;
+ uint32_t value = 0;
+ for (i = 0; i < 12; i++) {
+ value |= (gioGetBit(houtPorts[i], houtBits[i])<<i);
+ }
+ return value;
+}
-/*
- * mout.c
- *
- * Created on: 29.8.2012
- * Author: michal
- */
+/** @file mout.c
+* @brief Mout port
+* @date 29.August.2012
+*
+* Set of mout port adresses, mout bit adresses, methods for getting and setting port values
+*
+*/
+/* Include files */
#include "mout.h"
+/** Set of port adresses for each pin of MOUT port */
gioPORT_t * moutPorts[12] = { MOUT_PORT_HET, MOUT_PORT_HET, MOUT_PORT_GIO,
MOUT_PORT_GIO, MOUT_PORT_GIO, MOUT_PORT_GIO,
MOUT_PORT_SPI, MOUT_PORT_SPI, MOUT_PORT_GIO,
MOUT_PORT_GIO, MOUT_PORT_GIO, MOUT_PORT_GIO
};
+/** Set of bit indexes for each pin of MOUT port */
uint8_t moutBits[12] ={ MOUT1_IN_BIT, MOUT2_IN_BIT, MOUT3_IN_BIT,
MOUT4_IN_BIT, MOUT5_IN_BIT, MOUT6_IN_BIT,
MOUT1_EN_BIT, MOUT2_EN_BIT, MOUT3_EN_BIT,
MOUT4_EN_BIT, MOUT5_EN_BIT, MOUT6_EN_BIT
};
-/** @fn void moutSetPort(uint32_t value)
-* @brief Set value to ports connected to MOUT
-* @param[in] value to write to port
-* - bit 0 - MOUT1_IN - defined as output port HETPORT1
-* - bit 1 - MOUT2_IN - defined as output port HETPORT1
-* - bit 2 - MOUT3_IN - defined as output port GIOB
-* - bit 3 - MOUT4_IN - defined as output port GIOB
-* - bit 4 - MOUT5_IN - defined as output port GIOB
-* - bit 5 - MOUT6_IN - defined as output port GIOB
-* - bit 6 - MOUT1_EN - defined as input port SPIPORT
-* - bit 7 - MOUT2_EN - defined as input port SPIPORT
-* - bit 8 - MOUT3_EN - defined as input port GIOB
-* - bit 9 - MOUT4_EN - defined as input port GIOB
-* - bit 10 - MOUT5_EN - defined as input port GIOB
-* - bit 11 - MOUT6_EN - defined as input port GIOB
-* Set value to whole MOUT port. Setting values to bits connected with ports defined as output makes no effect.
-*/
void moutSetPort(uint32_t value) {
uint8_t i;
for (i = 0; i < 12; i++) {
}
}
-/** @fn void moutGetPort()
-* @brief Get value from ports connected to MOUT
-* - bit 0 - MOUT1_IN - defined as output port HETPORT1
-* - bit 1 - MOUT2_IN - defined as output port HETPORT1
-* - bit 2 - MOUT3_IN - defined as output port GIOB
-* - bit 3 - MOUT4_IN - defined as output port GIOB
-* - bit 4 - MOUT5_IN - defined as output port GIOB
-* - bit 5 - MOUT6_IN - defined as output port GIOB
-* - bit 6 - MOUT1_EN - defined as input port SPIPORT
-* - bit 7 - MOUT2_EN - defined as input port SPIPORT
-* - bit 8 - MOUT3_EN - defined as input port GIOB
-* - bit 9 - MOUT4_EN - defined as input port GIOB
-* - bit 10 - MOUT5_EN - defined as input port GIOB
-* - bit 11 - MOUT6_EN - defined as input port GIOB
-* Get value from whole MOUT port. Getting values from ports defined as output returns values last asserted by Controller itself.
-*/
+
uint32_t moutGetPort() {
uint8_t i;
uint32_t value = 0;
#include "os_semphr.h"\r
#include "os_task.h"\r
\r
-extern xQueueHandle inputCharacterQueue;\r
-extern uint8_t character;\r
+/** @brief Semaphore blocking task when it waits for interrupt signaling message receive\r
+ *\r
+ * Defined in commands.c */\r
extern xSemaphoreHandle canMsgReceived;\r
-\r
+/** @brief Semaphore blocking task when it waits for interrupt signaling end of the conversion\r
+ *\r
+ * Defined in commands.c */\r
extern xSemaphoreHandle adcDataConverted;\r
-extern ADCData_t adc1Data;\r
-\r
+/** @brief Data structure containing converted data from ADC\r
+ *\r
+ * Defined in commands.c */\r
+extern ADCData_t adcData;\r
/* USER CODE END */\r
\r
void esmGroup1Notification(uint32_t channel)\r
/* USER CODE END */\r
void adcNotification(adcBASE_t *adc, uint32_t group)\r
{\r
-\r
/* USER CODE BEGIN (11) */\r
- if (adc->GxINTFLG[group] & 8) { // Group has been read\r
+ // Group selected by group selector has been read\r
+ if (adc->GxINTFLG[group] & 8) {\r
uint32_t ch_count;\r
- ch_count = adcGetData(adc, group, &adc1Data.adc_data[0]);\r
- adc1Data.flags |= (ch_count == adc1Data.ch_count) ? 0 : BAD_CHANNELS_COUNT;\r
+ ch_count = adcGetData(adc, group, &adcData.adc_data[0]);\r
+ adcData.flags |= (ch_count == adcData.ch_count) ? 0 : BAD_CHANNELS_COUNT;\r
xSemaphoreGiveFromISR(adcDataConverted, NULL);\r
}\r
- if (adc->GxINTFLG[group] & 2) { // Memory overrun detected\r
- adc1Data.flags |= MEM_OVERRUN;\r
+ // Memory overrun detected - set flag\r
+ if (adc->GxINTFLG[group] & 2) {\r
+ adcData.flags |= MEM_OVERRUN;\r
adc->GxFIFORESETCR[1] = 1;\r
}\r
/* USER CODE END */\r
-\r
}\r
\r
/* USER CODE BEGIN (12) */\r
/* USER CODE END */\r
void canErrorNotification(canBASE_t *node, uint32_t notification)\r
{\r
-\r
/* USER CODE BEGIN (13) */\r
- if (notification != canERROR_OK) while(1) ;\r
+ if (notification != canERROR_OK) while(1) ; // Critical error during CAN transaction\r
/* USER CODE END */\r
\r
}\r
\r
void canMessageNotification(canBASE_t *node, uint32_t messageBox) \r
{\r
-\r
/* USER CODE BEGIN (15) */\r
if(node==canREG2)\r
{\r
}\r
\r
/* USER CODE END */\r
-\r
}\r
\r
/* USER CODE BEGIN (16) */\r
/* USER CODE BEGIN (29) */\r
if (sci == sciREG) {\r
if (flags & SCI_RX_INT) {\r
- sciReceive(sci, 1, NULL);\r
+ sciReceive(sci, 1, NULL); // Restart receiving\r
}\r
}\r
/* USER CODE END */\r
-\r
}\r
\r
/* USER CODE BEGIN (30) */\r
}\r
}\r
/* USER CODE END */\r
+\r
/* USER CODE BEGIN (17) */\r
/* USER CODE END */\r
}\r
break;\r
}\r
/* USER CODE END */\r
+\r
/* USER CODE BEGIN (27) */\r
/* USER CODE END */\r
}\r
sciInit();\r
canInit();\r
adcInit();\r
- canEnableErrorNotification(canREG1);\r
- canEnableErrorNotification(canREG2);\r
-\r
-\r
_enable_IRQ();\r
- initCmdProc(1, (uint8_t*)"\r\nType commands\r\n", (uint8_t *)"\r\n--> ");\r
\r
+ initCmdProc(1, (uint8_t*)"\r\nType commands\r\n", (uint8_t *)"\r\n--> ");\r
vTaskStartScheduler();\r
+\r
//We should never get here\r
while(1) ;\r
-\r
/* USER CODE END */\r
}\r
\r
&phantomInterrupt,\r
&phantomInterrupt,\r
&phantomInterrupt,\r
- &phantomInterrupt,\r
+ &adc2Group1Interrupt,\r
&phantomInterrupt,\r
&phantomInterrupt,\r
&phantomInterrupt,\r
| (0U << 16U)\r
| (0U << 17U)\r
| (0U << 18U)\r
- | (0U << 19U)\r
+ | (1U << 19U)\r
| (0U << 20U)\r
| (0U << 21U)\r
| (0U << 22U)\r