Marking local functions: Marking externally visible functions: cmd_main execute_cmd cmd_help cmd_show cmd_clear cmd_reset cmd_save cmd_debug cmd_md cmd_mm cmd_pwm cmd_adc Marking externally visible variables: mmi_cmd Reclaiming functions: Reclaiming variables: Clearing address taken flags: Symbol table: strtok/52 (strtok) @087f2a80 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: cmd_main/41 cmd_main/41 Calls: get_line/51 (get_line) @087f29a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: cmd_main/41 Calls: strcmp/50 (strcmp) @087f27e0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: execute_cmd/40 Calls: strlen/49 (strlen) @087f2620 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: cmd_help/39 Calls: system_reset/48 (system_reset) @087f22a0 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: cmd_reset/36 Calls: strncasecmp/47 (strncasecmp) @087f2000 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: cmd_debug/34 cmd_debug/34 Calls: gb/46 (gb) @087dac18 Type: variable Body removed by symtab_remove_unreachable_nodes Visibility: external public References: Referring: cmd_debug/34 (read)cmd_debug/34 (write)cmd_debug/34 (write)cmd_show/38 (read)cmd_show/38 (read)cmd_main/41 (read)cmd_main/41 (addr) Availability: not_available Varpool flags: set_pwm/45 (set_pwm) @087d4e00 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: cmd_pwm/31 Calls: Adc_Sar_Ip_StartConversion/44 (Adc_Sar_Ip_StartConversion) @087d4c40 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: cmd_adc/30 Calls: debug_printf/43 (debug_printf) @087d4b60 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: cmd_main/41 cmd_main/41 cmd_main/41 cmd_help/39 cmd_help/39 cmd_help/39 cmd_help/39 cmd_help/39 cmd_help/39 cmd_show/38 cmd_show/38 cmd_show/38 cmd_show/38 cmd_show/38 cmd_show/38 cmd_clear/37 cmd_reset/36 cmd_debug/34 cmd_debug/34 cmd_debug/34 cmd_md/33 cmd_md/33 cmd_md/33 cmd_md/33 cmd_md/33 cmd_md/33 cmd_mm/32 cmd_mm/32 cmd_mm/32 cmd_pwm/31 cmd_pwm/31 cmd_pwm/31 cmd_adc/30 cmd_adc/30 cmd_adc/30 Calls: strtoul/42 (strtoul) @087d4a80 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: optimize_size Called by: cmd_md/33 cmd_md/33 cmd_mm/32 cmd_mm/32 cmd_pwm/31 cmd_pwm/31 cmd_adc/30 Calls: cmd_main/41 (cmd_main) @087d4540 Type: function definition analyzed Visibility: externally_visible public References: gb/46 (read)gb/46 (addr) Referring: Availability: available Function flags: body optimize_size Called by: Calls: debug_printf/43 debug_printf/43 execute_cmd/40 strtok/52 strtok/52 debug_printf/43 get_line/51 execute_cmd/40 (execute_cmd) @087d42a0 Type: function definition analyzed Visibility: externally_visible public References: mmi_cmd/29 (read)mmi_cmd/29 (read)mmi_cmd/29 (read) Referring: Availability: available Function flags: body optimize_size Called by: cmd_main/41 Calls: strcmp/50 Indirect call cmd_help/39 (cmd_help) @087d4000 Type: function definition analyzed Visibility: externally_visible public Address is taken. References: mmi_cmd/29 (read)mmi_cmd/29 (read)mmi_cmd/29 (read)mmi_cmd/29 (read) Referring: mmi_cmd/29 (addr) Availability: available Function flags: body optimize_size Called by: Calls: debug_printf/43 debug_printf/43 debug_printf/43 strlen/49 debug_printf/43 debug_printf/43 debug_printf/43 cmd_show/38 (cmd_show) @08855b60 Type: function definition analyzed Visibility: externally_visible public Address is taken. References: gb/46 (read)gb/46 (read) Referring: mmi_cmd/29 (addr) Availability: available Function flags: body optimize_size Called by: Calls: debug_printf/43 debug_printf/43 debug_printf/43 debug_printf/43 debug_printf/43 debug_printf/43 cmd_clear/37 (cmd_clear) @08855620 Type: function definition analyzed Visibility: externally_visible public Address is taken. References: Referring: mmi_cmd/29 (addr) Availability: available Function flags: body optimize_size Called by: Calls: debug_printf/43 cmd_reset/36 (cmd_reset) @088550e0 Type: function definition analyzed Visibility: externally_visible public Address is taken. References: Referring: mmi_cmd/29 (addr) Availability: available Function flags: body optimize_size Called by: Calls: system_reset/48 debug_printf/43 cmd_save/35 (cmd_save) @08855d20 Type: function definition analyzed Visibility: externally_visible public Address is taken. References: Referring: mmi_cmd/29 (addr) Availability: available Function flags: body optimize_size Called by: Calls: cmd_debug/34 (cmd_debug) @08855a80 Type: function definition analyzed Visibility: externally_visible public Address is taken. References: gb/46 (read)gb/46 (write)gb/46 (write) Referring: mmi_cmd/29 (addr) Availability: available Function flags: body optimize_size Called by: Calls: debug_printf/43 strncasecmp/47 debug_printf/43 strncasecmp/47 debug_printf/43 cmd_md/33 (cmd_md) @088557e0 Type: function definition analyzed Visibility: externally_visible public Address is taken. References: Referring: mmi_cmd/29 (addr) Availability: available Function flags: body optimize_size Called by: Calls: debug_printf/43 debug_printf/43 debug_printf/43 strtoul/42 strtoul/42 debug_printf/43 debug_printf/43 debug_printf/43 cmd_mm/32 (cmd_mm) @08855540 Type: function definition analyzed Visibility: externally_visible public Address is taken. References: Referring: mmi_cmd/29 (addr) Availability: available Function flags: body optimize_size Called by: Calls: debug_printf/43 strtoul/42 strtoul/42 debug_printf/43 debug_printf/43 cmd_pwm/31 (cmd_pwm) @088552a0 Type: function definition analyzed Visibility: externally_visible public Address is taken. References: Referring: mmi_cmd/29 (addr) Availability: available Function flags: body optimize_size Called by: Calls: debug_printf/43 debug_printf/43 set_pwm/45 debug_printf/43 strtoul/42 strtoul/42 cmd_adc/30 (cmd_adc) @08855000 Type: function definition analyzed Visibility: externally_visible public Address is taken. References: Referring: mmi_cmd/29 (addr) Availability: available Function flags: body optimize_size Called by: Calls: debug_printf/43 debug_printf/43 Adc_Sar_Ip_StartConversion/44 debug_printf/43 strtoul/42 mmi_cmd/29 (mmi_cmd) @06a6f288 Type: variable definition analyzed Visibility: externally_visible public References: cmd_reset/36 (addr)cmd_clear/37 (addr)cmd_show/38 (addr)cmd_save/35 (addr)cmd_md/33 (addr)cmd_adc/30 (addr)cmd_mm/32 (addr)cmd_pwm/31 (addr)cmd_debug/34 (addr)cmd_help/39 (addr) Referring: cmd_help/39 (read)cmd_help/39 (read)cmd_help/39 (read)cmd_help/39 (read)execute_cmd/40 (read)execute_cmd/40 (read)execute_cmd/40 (read) Availability: available Varpool flags: initialized cmd_main () { int argc; int ret; char * argv[8]; char * tmp; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT ret = get_line (128); # DEBUG BEGIN_STMT if (ret == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _1 = gb.cmd_buf[0]; if (_1 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT debug_printf ("%s", "MR $ "); # DEBUG BEGIN_STMT // predicted unlikely by early return (on trees) predictor. goto ; [INV] : # DEBUG BEGIN_STMT tmp = strtok (&gb.cmd_buf, " \r\n\t"); # DEBUG BEGIN_STMT argc = 0; goto ; [INV] : # DEBUG BEGIN_STMT if (tmp != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT argv[argc] = tmp; # DEBUG BEGIN_STMT tmp = strtok (0B, " \r\n\t"); # DEBUG BEGIN_STMT argc = argc + 1; : # DEBUG BEGIN_STMT if (argc <= 7) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT ret = execute_cmd (argc, &argv); # DEBUG BEGIN_STMT if (ret == 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT debug_printf ("Command not found\r\n"); : # DEBUG BEGIN_STMT debug_printf ("%s", "MR $ "); # DEBUG BEGIN_STMT // predicted unlikely by early return (on trees) predictor. goto ; [INV] : argv = {CLOBBER}; goto ; [INV] : argv = {CLOBBER}; : return; } execute_cmd (int argc, char * * argv) { int i; int D.10820; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _1 = *argv; _2 = mmi_cmd[i].name; _3 = strcmp (_1, _2); if (_3 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _4 = mmi_cmd[i].func; _4 (argc, argv); # DEBUG BEGIN_STMT D.10820 = 0; // predicted unlikely by early return (on trees) predictor. goto ; [INV] : # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT _5 = mmi_cmd[i].name; if (_5 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT D.10820 = 1; : return D.10820; } cmd_help (int argc, char * * argv) { int len; int j; int i; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT debug_printf ("\r\nShow using command\r\n"); # DEBUG BEGIN_STMT debug_printf ("---------------------------------------------------------\r\n"); # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _1 = mmi_cmd[i].name; debug_printf (" %s", _1); # DEBUG BEGIN_STMT _2 = mmi_cmd[i].name; _3 = strlen (_2); len = (int) _3; # DEBUG BEGIN_STMT len = 20 - len; # DEBUG BEGIN_STMT j = 0; goto ; [INV] : # DEBUG BEGIN_STMT debug_printf (" "); # DEBUG BEGIN_STMT j = j + 1; : # DEBUG BEGIN_STMT if (j < len) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _4 = mmi_cmd[i].usage; debug_printf ("%s\r\n", _4); # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT _5 = mmi_cmd[i].name; if (_5 != 0B) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT debug_printf ("---------------------------------------------------------\r\n"); # DEBUG BEGIN_STMT return; } cmd_show (int argc, char * * argv) { u32 i; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT debug_printf ("\r\nShow Information\r\n"); # DEBUG BEGIN_STMT debug_printf ("---------------------------------------------------------\r\n"); # DEBUG BEGIN_STMT _1 = gb.tmr_cnt; debug_printf (" TMR COUNTER : %d\n", _1); # DEBUG BEGIN_STMT debug_printf ("---------------------------------------------------------\r\n"); # DEBUG BEGIN_STMT i = 0; goto ; [INV] : # DEBUG BEGIN_STMT _2 = gb.adc[i].avr; _3 = (int) _2; debug_printf (" ADC [%d] : %d\n", i, _3); # DEBUG BEGIN_STMT i = i + 1; : # DEBUG BEGIN_STMT if (i <= 3) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT debug_printf ("---------------------------------------------------------\r\n"); # DEBUG BEGIN_STMT return; } cmd_clear (int argc, char * * argv) { : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT debug_printf ("%c[2J%c[H", 27, 27); # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return; } cmd_reset (int argc, char * * argv) { : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT debug_printf ("SYSTEM RESET\n"); # DEBUG BEGIN_STMT system_reset (); return; } cmd_save (int argc, char * * argv) { : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT return; } cmd_debug (int argc, char * * argv) { char * iftmp.1; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (argc != 2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _1 = gb.debug; if (_1 == 0) goto ; [INV] else goto ; [INV] : iftmp.1 = "ON"; goto ; [INV] : iftmp.1 = "OFF"; : debug_printf ("DEBUG FLAG %s\n", iftmp.1); # DEBUG BEGIN_STMT // predicted unlikely by early return (on trees) predictor. goto ; [INV] : # DEBUG BEGIN_STMT _2 = argv + 4; _3 = *_2; _4 = strncasecmp (_3, "ON", 2); if (_4 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT debug_printf ("DEBUG FLAG ON\n"); # DEBUG BEGIN_STMT gb.debug = 0; goto ; [INV] : # DEBUG BEGIN_STMT _5 = argv + 4; _6 = *_5; _7 = strncasecmp (_6, "OFF", 3); if (_7 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT debug_printf ("DEBUG FLAG OFF\n"); # DEBUG BEGIN_STMT gb.debug = 1; : return; } cmd_md (int argc, char * * argv) { u32 * addr; u32 i; u32 len; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT argc.0_1 = (unsigned int) argc; _2 = argc.0_1 + 4294967294; if (_2 > 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT // predicted unlikely by goto predictor. # DEBUG usage => NULL # DEBUG BEGIN_STMT debug_printf ("\nUsage:\n"); # DEBUG BEGIN_STMT debug_printf ("\tmd [addr]\n"); # DEBUG BEGIN_STMT debug_printf ("\tmd [addr] [length]\n"); # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT if (argc == 2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT len = 1; goto ; [INV] : # DEBUG BEGIN_STMT _3 = argv + 8; _4 = *_3; len = strtoul (_4, 0B, 16); : # DEBUG BEGIN_STMT _5 = argv + 4; _6 = *_5; _7 = strtoul (_6, 0B, 16); addr = (u32 *) _7; # DEBUG BEGIN_STMT i = 0; # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT _8 = i & 7; if (_8 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT debug_printf ("\n0x%08X : ", addr); : # DEBUG BEGIN_STMT _9 = *addr; debug_printf ("0x%08X ", _9); # DEBUG BEGIN_STMT addr = addr + 4; # DEBUG BEGIN_STMT i = i + 1; # DEBUG BEGIN_STMT len = len + 4294967295; : # DEBUG BEGIN_STMT if (len != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT debug_printf ("\n"); # DEBUG BEGIN_STMT : return; } cmd_mm (int argc, char * * argv) { u32 val; u32 * addr; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (argc != 3) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT // predicted unlikely by goto predictor. # DEBUG usage => NULL # DEBUG BEGIN_STMT debug_printf ("\r\nUsage:\r\n"); # DEBUG BEGIN_STMT debug_printf ("\tmm [addr] [value]\n"); # DEBUG BEGIN_STMT goto ; [INV] : # DEBUG BEGIN_STMT _1 = argv + 4; _2 = *_1; _3 = strtoul (_2, 0B, 16); addr = (u32 *) _3; # DEBUG BEGIN_STMT _4 = argv + 8; _5 = *_4; val = strtoul (_5, 0B, 16); # DEBUG BEGIN_STMT *addr = val; # DEBUG BEGIN_STMT debug_printf ("Memory value changed\n"); # DEBUG BEGIN_STMT : return; } cmd_pwm (int argc, char * * argv) { u32 ratio; u32 ch; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (argc != 3) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT // predicted unlikely by goto predictor. goto ; [INV] : # DEBUG BEGIN_STMT _1 = argv + 4; _2 = *_1; ch = strtoul (_2, 0B, 10); # DEBUG BEGIN_STMT _3 = argv + 8; _4 = *_3; ratio = strtoul (_4, 0B, 10); # DEBUG BEGIN_STMT if (ch > 7) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT // predicted unlikely by goto predictor. goto ; [INV] : # DEBUG BEGIN_STMT if (ratio > 100) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT // predicted unlikely by goto predictor. goto ; [INV] : # DEBUG BEGIN_STMT debug_printf ("PWM SET[%d], %d[%%]\n", ch, ratio); # DEBUG BEGIN_STMT set_pwm (ch, ratio); # DEBUG BEGIN_STMT goto ; [INV] : usage: # DEBUG BEGIN_STMT debug_printf ("\r\nUsage:\r\n"); # DEBUG BEGIN_STMT debug_printf ("\tpwm [channel] [ratio]\n"); # DEBUG BEGIN_STMT : return; } cmd_adc (int argc, char * * argv) { u32 ch; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (argc != 2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT // predicted unlikely by goto predictor. goto ; [INV] : # DEBUG BEGIN_STMT _1 = argv + 4; _2 = *_1; ch = strtoul (_2, 0B, 10); # DEBUG BEGIN_STMT if (ch > 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT // predicted unlikely by goto predictor. goto ; [INV] : # DEBUG BEGIN_STMT debug_printf ("START ADC CH[%d]\n", ch); # DEBUG BEGIN_STMT Adc_Sar_Ip_StartConversion (ch, 0); # DEBUG BEGIN_STMT goto ; [INV] : usage: # DEBUG BEGIN_STMT debug_printf ("\r\nUsage:\r\n"); # DEBUG BEGIN_STMT debug_printf ("\tadc [channel]\n"); # DEBUG BEGIN_STMT : return; }