X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=target_firmware%2Fmagpie_fw_dev%2Ftarget%2Fcmnos%2Fdbg_api.c;h=66b25a514c57299d9d92607824a536997e69dcf5;hb=b364a56272c65e80bab969aacd942e181265ab3a;hp=65c30d31a658a918d4a6aac78251ffe0abd1e6c3;hpb=6198fc2abd1f134c45d029c417c487d7b9833710;p=open-ath9k-htc-firmware.git diff --git a/target_firmware/magpie_fw_dev/target/cmnos/dbg_api.c b/target_firmware/magpie_fw_dev/target/cmnos/dbg_api.c index 65c30d3..66b25a5 100755 --- a/target_firmware/magpie_fw_dev/target/cmnos/dbg_api.c +++ b/target_firmware/magpie_fw_dev/target/cmnos/dbg_api.c @@ -44,45 +44,36 @@ #if defined(SYSTEM_MODULE_DBG) /* Function prototypes */ -int db_help_cmd(char *, char*, char*, char*); -int db_ldr_cmd(char*, char*, char*, char*); -int db_str_cmd(char*, char*, char*, char*); -int db_info_cmd(char*, char*, char*, char*); -int db_cmd_dbg(char*, char*, char*, char*); -int db_usb_cmd(char*, char*, char*, char*); -int db_intr_cmd(char*, char*, char*, char*); -int db_patch_cmd(char*, char*, char*, char*); - -int db_cmd_memtest(char* cmd, char* param1, char* param2, char* param3); -int db_cmd_dmips(char* cmd, char* param1, char* param2, char* param3); -int db_cmd_starthtc(char* cmd, char* param1, char* param2, char* param3); - -int db_eeprom_cmd(char* cmd, char* param1, char* param2, char* param3); -int db_wdt_cmd(char* cmd, char* param1, char* param2, char* param3); +static int db_help_cmd(char *, char *, char *, char *); +static int db_ldr_cmd(char *, char *, char *, char *); +static int db_str_cmd(char *, char *, char *, char *); +static int db_info_cmd(char *, char *, char *, char *); +static int db_usb_cmd(char *, char *, char *, char *); +static int db_intr_cmd(char *, char *, char *, char *); + +static int db_cmd_starthtc(char *cmd, char *param1, char *param2, char *param3); + +static int db_wdt_cmd(char *cmd, char *param1, char *param2, char *param3); #if defined(PROJECT_K2) #if SYSTEM_MODULE_SFLASH -int db_cmd_sferase(char* cmd, char* param1, char* param2, char* param3); -int db_cmd_sfpg(char* cmd, char* param1, char* param2, char* param3); -int db_cmd_sfru(char* cmd, char* param1, char* param2, char* param3); -int db_cmd_sfrm(char* cmd, char* param1, char* param2, char* param3); -int db_cmd_sfrdsr(char* cmd, char* param1, char* param2, char* param3); +static int db_cmd_sferase(char *cmd, char *param1, char *param2, char *param3); +static int db_cmd_sfpg(char *cmd, char *param1, char *param2, char *param3); +static int db_cmd_sfru(char *cmd, char *param1, char *param2, char *param3); +static int db_cmd_sfrm(char *cmd, char *param1, char *param2, char *param3); +static int db_cmd_sfrdsr(char *cmd, char *param1, char *param2, char *param3); #endif #endif /* #if defined(PROJECT_K2) */ -int db_cmd_memcmp(char* cmd, char* param1, char* param2, char* param3); -int db_cmd_memdump(char* cmd, char* param1, char* param2, char* param3); - -int db_clock_cmd(char* cmd, char* param1, char* param2, char* param3); +static int db_cmd_memcmp(char *cmd, char *param1, char *param2, char *param3); +static int db_cmd_memdump(char *cmd, char *param1, char *param2, char *param3); -uint16_t db_get_cmd_line(uint8_t ch, char *cmd_line, uint16_t* i); -int db_formalize_command(char*, char*); -int db_ascii_to_hex(char*, unsigned long*); -int db_hex_to_ascii(unsigned long, char*); -void zfDebugTask(void); +static int db_clock_cmd(char *cmd, char *param1, char *param2, char *param3); -int db_info_intr(char* cmd, char* param1, char* param2, char* param3); - -extern u32_t this_is_global_variables; +static uint16_t db_get_cmd_line(uint8_t ch, char *cmd_line, uint16_t *i); +static int db_formalize_command(char *, char *); +static int db_ascii_to_hex(char *, unsigned long *); +static int db_hex_to_ascii(unsigned long, char *); +static void zf_debug_task(void); /* Console debug command table */ const struct DB_COMMAND_STRUCT command_table[] = @@ -100,12 +91,8 @@ const struct DB_COMMAND_STRUCT command_table[] = {"INFO", ", Print debug information", db_info_cmd}, {"USB", ", usb releated command", db_usb_cmd}, {"INTR", ", intr releated command", db_intr_cmd}, - {"PATCH", ", patch function releated command", db_patch_cmd}, - {"DBG", ", mute all print msg", db_cmd_dbg}, {"CLOCK", ", change the clock...", db_clock_cmd}, - {"MEMTEST", " test memory", db_cmd_memtest}, {"HTCR", "Issue HTC ready to host", db_cmd_starthtc}, - {"EEP", ", eeprom r/w debug command", db_eeprom_cmd}, {"WDT", ", wdt debug command", db_wdt_cmd}, #if defined(PROJECT_K2) #if SYSTEM_MODULE_SFLASH @@ -131,20 +118,12 @@ int cmd_not_found; uint16_t gvLen; int pressed_time; -////////////////////////////////////////////////// -#define MAX_REG_NUM 16 - -typedef struct reg_elem { - unsigned char valid; - unsigned char mode; // byte, half-word word - unsigned long reg_addr; -} t_reg_elem; - -t_reg_elem reg_buffer[MAX_REG_NUM]; - -////////////////////////////////////////////////// +static void db_incorect_format(void) +{ + A_PRINTF("Error! Incorrect format.\n\r"); +} -void zfDebugInit(void) +static void zf_debug_init(void) { uint8_t ch; @@ -159,7 +138,7 @@ void zfDebugInit(void) pressed_time = 0; } -void zfDebugTask(void) +static void zf_debug_task(void) { int i; uint8_t ch; @@ -204,7 +183,7 @@ void zfDebugTask(void) return; } -uint16_t db_get_cmd_line(uint8_t ch, char *cmd_line, uint16_t* i) +static uint16_t db_get_cmd_line(uint8_t ch, char *cmd_line, uint16_t *i) { int cmd_buf_loc; @@ -295,7 +274,7 @@ uint16_t db_get_cmd_line(uint8_t ch, char *cmd_line, uint16_t* i) } -int db_formalize_command(char* raw_str, char* cmd_str) +static int db_formalize_command(char *raw_str, char *cmd_str) { int i = 0; int j; @@ -330,7 +309,7 @@ int db_formalize_command(char* raw_str, char* cmd_str) return (int)A_STRLEN(cmd_str); } -int db_ascii_to_hex(char* num_str, unsigned long* hex_num) +static int db_ascii_to_hex(char *num_str, unsigned long *hex_num) { int i = 0; @@ -361,7 +340,7 @@ int db_ascii_to_hex(char* num_str, unsigned long* hex_num) return 0; } -int db_ascii_to_int(char* num_str, unsigned long* int_num) +int db_ascii_to_int(char *num_str, unsigned long *int_num) { int i = 0; @@ -382,7 +361,7 @@ int db_ascii_to_int(char* num_str, unsigned long* int_num) return 0; } -int db_hex_to_ascii(unsigned long hex_num, char* num_str) +static int db_hex_to_ascii(unsigned long hex_num, char *num_str) { int i; unsigned long four_bits; @@ -403,7 +382,7 @@ int db_hex_to_ascii(unsigned long hex_num, char* num_str) return 0; } -int db_help_cmd(char* cmd, char* param1, char* param2, char* param3) +int db_help_cmd(char *cmd, char *param1, char *param2, char *param3) { int i; @@ -420,7 +399,7 @@ int db_help_cmd(char* cmd, char* param1, char* param2, char* param3) return i; } -int db_ldr_cmd(char* cmd, char* param1, char* param2, char* param3) +static int db_ldr_cmd(char *cmd, char *param1, char *param2, char *param3) { unsigned long val; unsigned long addr; @@ -457,15 +436,12 @@ int db_ldr_cmd(char* cmd, char* param1, char* param2, char* param3) A_PRINTF("%s : %s\n\r", addr_str, val_str); return 0; } - else - { - A_PRINTF("Error! Incorrect format.\n\r"); - return -1; - } + db_incorect_format(); + return -1; } -int db_str_cmd(char* cmd, char* param1, char* param2, char* param3) +static int db_str_cmd(char *cmd, char *param1, char *param2, char *param3) { unsigned long val; unsigned long addr; @@ -505,12 +481,9 @@ int db_str_cmd(char* cmd, char* param1, char* param2, char* param3) A_PRINTF("%s : %s\n\r", addr_str, val_str); return 0; } - else - { - A_PRINTF("Error! Incorrect format.\n\r"); - return -1; - } + db_incorect_format(); + return -1; } LOCAL void dbg_timer_func(A_HANDLE alarm, void *data) @@ -518,15 +491,9 @@ LOCAL void dbg_timer_func(A_HANDLE alarm, void *data) A_PRINTF("this is a timer alarm function 0x%08x\n\r", xthal_get_ccount()); } -int db_patch_cmd(char* cmd, char* param1, char* param2, char* param3) -{ - - return 0; -} - uint32_t delay = 0; -int db_intr_cmd(char* cmd, char* param1, char* param2, char* param3) +static int db_intr_cmd(char *cmd, char *param1, char *param2, char *param3) { #if SYSTEM_MODULE_INTR uint32_t pending_intrs; @@ -582,9 +549,7 @@ int db_intr_cmd(char* cmd, char* param1, char* param2, char* param3) return 0; } -uint32_t usb_swap_flag = 0; //default -uint32_t usb_swap_flag_changed = 0; -int db_usb_cmd(char* cmd, char* param1, char* param2, char* param3) +static int db_usb_cmd(char *cmd, char *param1, char *param2, char *param3) { A_PRINTF("THIS IS USB COMMAND\n\r"); @@ -631,7 +596,7 @@ static void clk_change(uint32_t clk, uint32_t ratio, uint32_t baud) } -int db_clock_cmd(char* cmd, char* param1, char* param2, char* param3) +static int db_clock_cmd(char *cmd, char *param1, char *param2, char *param3) { uint32_t ratio = 1; uint32_t baud = 19200; @@ -644,7 +609,7 @@ int db_clock_cmd(char* cmd, char* param1, char* param2, char* param3) } } -int db_info_cmd(char* cmd, char* param1, char* param2, char* param3) +static int db_info_cmd(char *cmd, char *param1, char *param2, char *param3) { #if 1 @@ -724,75 +689,17 @@ int db_info_cmd(char* cmd, char* param1, char* param2, char* param3) return 1; } -int db_cmd_dbg(char* cmd, char* param1, char* param2, char* param3) -{ -} - -int db_cmd_dmips(char* cmd, char* param1, char* param2, char* param3) -{ - -} - -int db_cmd_starthtc(char* cmd, char* param1, char* param2, char* param3) +static int db_cmd_starthtc(char *cmd, char *param1, char *param2, char *param3) { extern htc_handle_t htc_handle; HTC_Ready(htc_handle); } -int db_cmd_memtest(char* cmd, char* param1, char* param2, char* param3) -{ -} - - -void eep_test() -{ -} - -#define WRITE_USB_DESC(pDesc, Offset) \ - { \ - uint16_t *pSrc = 0; \ - uint16_t mSize = 0; \ - pSrc = (uint16_t *)(pDesc); \ - mSize = (*pSrc&0xff)/2; \ - A_PRINTF("0x%04x, 0x%04x, 0x%08x\n", Offset, mSize, pSrc); \ - A_EEP_WRITE(Offset, mSize, pSrc); \ - A_DELAY_USECS(500); \ - } - -#define READ_USB_DESC(pDesc, Offset, Size) \ - { \ - uint16_t *pDst; \ - uint16_t mSize; \ - pDst = (uint16_t *)pDesc; \ - A_EEP_READ(Offset, 1, &mSize); \ - mSize = mSize &0xff; \ - mSize = mSize/2; \ - if( mSize > Size) \ - mSize = Size; \ - A_PRINTF("0x%04x, 0x%04x, 0x%08x\n", Offset, mSize, pDst); \ - A_EEP_READ(Offset, mSize, pDst); \ - A_DELAY_USECS(500); \ - } - - -//////////////////////////////////////////////////////////////////////////////////////////////// - -extern uint16_t UsbDeviceDescriptor[]; -extern uint16_t String00Descriptor[]; -extern uint16_t String10Descriptor[]; -extern uint16_t String20Descriptor[]; -extern uint16_t String30Descriptor[]; - -int db_eeprom_cmd(char* cmd, char* param1, char* param2, char* param3) -{ - -} - -int db_wdt_cmd(char* cmd, char* param1, char* param2, char* param3) +static int db_wdt_cmd(char *cmd, char *param1, char *param2, char *param3) { if ( strcmp(param1, "rst") == 0 ) { - A_PRINTF(" reseting.....................\n\n\r"); + A_PRINTF(" reseting...\n\n\r"); A_WDT_RESET(); } else if( strcmp(param1, "on") == 0 ) @@ -805,23 +712,24 @@ int db_wdt_cmd(char* cmd, char* param1, char* param2, char* param3) } else if ( strcmp(param1, "boot") == 0 ) { + A_PRINTF("Last BOOT is "); if (ENUM_WDT_BOOT == A_WDT_LASTBOOT() ) - A_PRINTF("LAST BOOT IS %s", "wdt"); + A_PRINTF("wdt"); else - A_PRINTF("LAST BOOT IS %s", "normal boot"); + A_PRINTF("normal boot"); } else if (strcmp(param1, "loop") == 0 ) { T_WDT_CMD wdt_cmd; uint32_t time_offset; - A_PRINTF(" doing the wdt reseting................\n\n\r"); + A_PRINTF(" doing the wdt reseting..."); if( db_ascii_to_hex(param2, &time_offset)!=0 ) { if( time_offset < 0 || time_offset >0xffffffff ) time_offset = 0xffffff; } - A_PRINTF(" doing the wdt reseting (wdt tick: 0x%08x................\n\n\r", time_offset); + A_PRINTF(" (wdt tick: 0x%08x...\n\n\r", time_offset); wdt_cmd.cmd = WDT_TIMEOUT; wdt_cmd.timeout = time_offset; @@ -832,14 +740,14 @@ int db_wdt_cmd(char* cmd, char* param1, char* param2, char* param3) { T_WDT_CMD wdt_cmd; uint32_t time_offset; - A_PRINTF(" doing the wdt reseting................\n\n\r"); + A_PRINTF(" doing the wdt reseting..."); if( db_ascii_to_hex(param3, &time_offset)!=0 ) { if( time_offset < 0 || time_offset >0xffffffff ) time_offset = 0xffffff; } - A_PRINTF(" doing the wdt reseting (wdt tick: 0x%08x................\n\n\r", time_offset); + A_PRINTF(" (wdt tick: 0x%08x...\n\n\r", time_offset); wdt_cmd.cmd = WDT_TIMEOUT; wdt_cmd.timeout = time_offset; @@ -875,7 +783,7 @@ int db_wdt_cmd(char* cmd, char* param1, char* param2, char* param3) #if defined(PROJECT_K2) #if SYSTEM_MODULE_SFLASH /* Serial Flash -> Chip Erase, Sector Erase, Block Erase */ -int db_cmd_sferase(char* cmd, char* param1, char* param2, char* param3) +static int db_cmd_sferase(char *cmd, char *param1, char *param2, char *param3) { unsigned long addr; @@ -889,11 +797,9 @@ int db_cmd_sferase(char* cmd, char* param1, char* param2, char* param3) return 0; } - else - { - A_PRINTF("Error! Incorrect format.\n\r"); - return -1; - } + + db_incorect_format(); + return -1; } else if (strcmp(param2, "b") == 0) { @@ -905,11 +811,10 @@ int db_cmd_sferase(char* cmd, char* param1, char* param2, char* param3) return 0; } - else - { - A_PRINTF("Error! Incorrect format.\n\r"); - return -1; - } + + db_incorect_format(); + return -1; + } else if (strcmp(param1, "c") == 0) { @@ -926,7 +831,7 @@ int db_cmd_sferase(char* cmd, char* param1, char* param2, char* param3) } /* Serial Flash -> Program */ -int db_cmd_sfpg(char* cmd, char* param1, char* param2, char* param3) +static int db_cmd_sfpg(char *cmd, char *param1, char *param2, char *param3) { unsigned long addr, len, buf; @@ -942,15 +847,13 @@ int db_cmd_sfpg(char* cmd, char* param1, char* param2, char* param3) A_PRINTF("\n\r"); return 0; } - else - { - A_PRINTF("Error! Incorrect format.\n\r"); - return -1; - } + + db_incorect_format(); + return -1; } /* Serial Flash -> Read, Fast Read to UART */ -int db_cmd_sfru(char* cmd, char* param1, char* param2, char* param3) +static int db_cmd_sfru(char *cmd, char *param1, char *param2, char *param3) { A_UINT32 i; unsigned long addr1, addr2, t_addr; @@ -986,15 +889,13 @@ int db_cmd_sfru(char* cmd, char* param1, char* param2, char* param3) A_PRINTF("\n\r"); return 0; } - else - { - A_PRINTF("Error! Incorrect format.\n\r"); - return -1; - } + + db_incorect_format(); + return -1; } /* Serial Flash -> Read, Fast Read to Memory */ -int db_cmd_sfrm(char* cmd, char* param1, char* param2, char* param3) +static int db_cmd_sfrm(char *cmd, char *param1, char *param2, char *param3) { A_UINT32 i; unsigned long addr1, addr2, t_addr; @@ -1024,15 +925,13 @@ int db_cmd_sfrm(char* cmd, char* param1, char* param2, char* param3) A_PRINTF("\n\r"); return 0; } - else - { - A_PRINTF("Error! Incorrect format.\n\r"); - return -1; - } + + db_incorect_format(); + return -1; } /* Serial Flash -> Read Status Register */ -int db_cmd_sfrdsr(char* cmd, char* param1, char* param2, char* param3) +static int db_cmd_sfrdsr(char *cmd, char *param1, char *param2, char *param3) { A_PRINTF("0x%02X\n\r", A_SFLASH_RDSR()); return 0; @@ -1041,7 +940,7 @@ int db_cmd_sfrdsr(char* cmd, char* param1, char* param2, char* param3) #endif /* #if defined(PROJECT_K2) */ /* Memory Comparison */ -int db_cmd_memcmp(char* cmd, char* param1, char* param2, char* param3) +static int db_cmd_memcmp(char *cmd, char *param1, char *param2, char *param3) { unsigned long addr1, addr2, len; A_UINT8 *buf1, *buf2; @@ -1057,15 +956,13 @@ int db_cmd_memcmp(char* cmd, char* param1, char* param2, char* param3) A_PRINTF("memcmp(buf1, buf2, len) = %d\n\r", A_MEMCMP(buf1, buf2, len)); return 0; } - else - { - A_PRINTF("Error! Incorrect format.\n\r"); - return -1; - } + + db_incorect_format(); + return -1; } /* Memory Dump */ -int db_cmd_memdump(char* cmd, char* param1, char* param2, char* param3) +static int db_cmd_memdump(char *cmd, char *param1, char *param2, char *param3) { A_UINT32 i; unsigned long addr1, addr2, t_addr; @@ -1088,16 +985,14 @@ int db_cmd_memdump(char* cmd, char* param1, char* param2, char* param3) A_PRINTF("\n\r"); return 0; } - else - { - A_PRINTF("Error! Incorrect format.\n\r"); - return -1; - } + + db_incorect_format(); + return -1; } void cmnos_dbg_module_install(struct dbg_api *apis) { - apis->_dbg_init = zfDebugInit; - apis->_dbg_task = zfDebugTask; + apis->_dbg_init = zf_debug_init; + apis->_dbg_task = zf_debug_task; } #endif /* SYSTEM_MODULE_DBG */