dbg_api.c: use new io funcs
[open-ath9k-htc-firmware.git] / target_firmware / magpie_fw_dev / target / cmnos / dbg_api.c
index 3ae3ddb4ed0834f0e658da1c0f6b97a61556e97c..451059bd0e19592679757a242e76d49dc1758396 100755 (executable)
@@ -35,6 +35,8 @@
 #include "sys_cfg.h"
 #include "athos_api.h"
 
+#include "adf_os_io.h"
+
 #if defined(PROJECT_K2)
 #if SYSTEM_MODULE_SFLASH
 #include "sflash_api.h"
 #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_usb_cmd(char*, char*, char*, char*);
-int db_intr_cmd(char*, char*, char*, char*);
+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 *);
 
-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);
 
-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 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);
-
-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_cmd_memcmp(char *cmd, char *param1, char *param2, char *param3);
+static int db_cmd_memdump(char *cmd, char *param1, char *param2, char *param3);
 
-int db_info_intr(char* cmd, char* param1, char* param2, char* param3);
+static int db_clock_cmd(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[] =
@@ -122,20 +120,48 @@ int cmd_not_found;
 uint16_t gvLen;
 int pressed_time;
 
-//////////////////////////////////////////////////
-#define MAX_REG_NUM 16
+static void db_incorect_format(void)
+{
+       A_PRINTF("Error! Incorrect format.\n\r");
+}
+
+static void db_unknown_command(void)
+{
+       A_PRINTF("Error! Unknown command.\n\r");
+}
+
+static void db_print_dump(const char *mem1, const char *mem2)
+{
+       unsigned int i = 0;
+       const char *tmp;
+
+       do {
+               if (i == 0) {
+                       A_PRINTF("\n\r%06x: ", mem1);
+                       tmp = mem1;
+               }
 
-typedef struct reg_elem {
-       unsigned char valid;
-       unsigned char mode;     // byte, half-word word
-       unsigned long reg_addr;
-} t_reg_elem;
+               A_PRINTF("%04x ", *(uint16_t *)mem1);
 
-t_reg_elem reg_buffer[MAX_REG_NUM];
+               mem1 += 2;
+               i++;
 
-//////////////////////////////////////////////////
+               if (i == 8) {
+                       A_PRINTF(" ");
+                       do {
+                               if (*tmp > 0x20 && *tmp < 0x7e)
+                                       A_PRINTF("%c", *tmp);
+                               else
+                                       A_PRINTF(".");
+                               tmp++;
+                       } while (tmp < mem1);
+                       i = 0;
+               }
+       } while (mem1 < mem2);
+       A_PRINTF("\n\r");
+}
 
-void zfDebugInit(void)
+static void zf_debug_init(void)
 {
        uint8_t ch;
 
@@ -150,7 +176,7 @@ void zfDebugInit(void)
        pressed_time = 0;
 }
 
-void zfDebugTask(void)
+static void zf_debug_task(void)
 {
        int i;
        uint8_t ch;
@@ -195,7 +221,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;
 
@@ -286,7 +312,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;
@@ -321,7 +347,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;
 
@@ -352,7 +378,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;
 
@@ -373,7 +399,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;
@@ -394,7 +420,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;
 
@@ -411,7 +437,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;
@@ -431,12 +457,12 @@ int db_ldr_cmd(char* cmd, char* param1, char* param2, char* param3)
                        addr &= 0xfffffffc;
                        //val = *(unsigned long *)addr;
 
-                       val = HAL_WORD_REG_READ(addr);
+                       val = ioread32(addr);
                }
                else if (strcmp(cmd, "LDRH") == 0)
                {
                        addr &= 0xfffffffe;
-                       val = HAL_HALF_WORD_REG_READ(addr);
+                       val = ioread16(addr);
                }
                else if (strcmp(cmd, "LDRB") == 0)
                {
@@ -448,15 +474,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;
@@ -470,23 +493,21 @@ int db_str_cmd(char* cmd, char* param1, char* param2, char* param3)
                if (strcmp(cmd, "STR") == 0)
                {
                        addr &= 0xfffffffc;
-                       //HAL_WORD_REG_WRITE(addr, val);
-                       HAL_WORD_REG_WRITE(addr, val);
-                       //*(volatile unsigned long *)(addr & 0xfffffffc) = (unsigned long)val;
+                       iowrite32(addr, val);
                }
 
                else if (strcmp(cmd, "STRH") == 0)
                {
                        addr &= 0xfffffffe;
                        //*(volatile unsigned short *)(addr & 0xfffffffe) = (unsigned short)val;
-                       HAL_HALF_WORD_REG_WRITE(addr, val);
+                       iowrite16(addr, val);
                }
                else if (strcmp(cmd, "STRB") == 0)
                {
                        if( addr & 0x00f00000 )
-                               HAL_BYTE_REG_WRITE(addr, val);
+                               iowrite8(addr, val);
                        else
-                               HAL_BYTE_REG_WRITE(addr^3, val);
+                               iowrite8(addr^3, val);
                        //*(volatile unsigned char *)addr = (unsigned char)val;
                }
 
@@ -496,12 +517,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)
@@ -511,7 +529,7 @@ LOCAL void dbg_timer_func(A_HANDLE alarm, void *data)
 
 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;
@@ -567,9 +585,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");
 
@@ -611,12 +627,12 @@ static void clk_change(uint32_t clk, uint32_t ratio, uint32_t baud)
                break;
        }
 
-       HAL_WORD_REG_WRITE(0x50040, (0x300|clk_sel|(ratio>>1)<<12));
+       iowrite32(0x50040, (0x300|clk_sel|(ratio>>1)<<12));
        A_UART_HWINIT((clk*1000*1000)/ratio, 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;
@@ -629,7 +645,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
 
@@ -709,52 +725,17 @@ int db_info_cmd(char* cmd, char* param1, char* param2, char* param3)
        return 1;
 }
 
-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);
 }
 
-#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_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 )
@@ -767,23 +748,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;
 
@@ -794,14 +776,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;
@@ -811,33 +793,28 @@ int db_wdt_cmd(char* cmd, char* param1, char* param2, char* param3)
         else if( strcmp(param1, "event") == 0 )
         {
                uint32_t event= 0x00123400;
-#define USB_BYTE_REG_WRITE(addr, val)          HAL_BYTE_REG_WRITE(USB_CTRL_BASE_ADDRESS|(uint8_t)(addr^3), (val))
-#define USB_BYTE_REG_READ(addr)                HAL_BYTE_REG_READ(USB_CTRL_BASE_ADDRESS|(uint8_t)(addr^3))
-
-#define USB_WORD_REG_WRITE(addr, val)          HAL_WORD_REG_WRITE(USB_CTRL_BASE_ADDRESS|(uint32_t)(addr), (val))
-#define USB_WORD_REG_READ(addr)                HAL_WORD_REG_READ(USB_CTRL_BASE_ADDRESS|(uint32_t)(addr))
 
-               // disable ep3 intr
-               USB_BYTE_REG_WRITE(0x17, USB_BYTE_REG_READ(0x17)|0xc0);
+               /* disable ep3 intr */
+               iowrite8_usb(0x17, ioread8_usb(0x17)|0xc0);
 
-               //ZM_CBUS_FIFO_SIZE_REG = 0xf;
-               USB_WORD_REG_WRITE(0x100, 0x0f);
+               /* ZM_CBUS_FIFO_SIZE_REG = 0xf */
+               iowrite32_usb(0x100, 0x0f);
 
-               //ZM_EP3_DATA_REG = event;
-               USB_WORD_REG_WRITE(0xF8, event);
+               /* ZM_EP3_DATA_REG = event; */
+               iowrite32_usb(0xF8, event);
 
-               // tx done
-               USB_BYTE_REG_WRITE(0xAE, USB_BYTE_REG_READ(0xAE)|0x08);
+               /* tx done */
+               iowrite8_usb(0xAE, ioread8_usb(0xAE) | 0x08);
 
-               // enable ep3 intr
-               USB_BYTE_REG_WRITE(0x17, USB_BYTE_REG_READ(0x17)&0xbf);
+               /* enable ep3 intr */
+               iowrite8_usb(0x17, ioread8_usb(0x17) & 0xbf);
         }
 }
 
 #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;
 
@@ -851,11 +828,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)
        {
@@ -867,11 +842,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)
        {
@@ -880,15 +854,13 @@ int db_cmd_sferase(char* cmd, char* param1, char* param2, char* param3)
                A_PRINTF("\n\r");
                return 0;
        }
-       else
-       {
-               A_PRINTF("Error! Unknown command.\n\r");
-               return -1;
-       }
+
+       db_unknown_command();
+       return -1;
 }
 
 /* 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;
 
@@ -904,15 +876,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;
@@ -924,7 +894,7 @@ int db_cmd_sfru(char* cmd, char* param1, char* param2, char* param3)
                fast = 1;
        else
        {
-               A_PRINTF("Error! Unknown command.\n\r");
+               db_unknown_command();
                return -1;
        }
 
@@ -948,15 +918,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;
@@ -969,7 +937,7 @@ int db_cmd_sfrm(char* cmd, char* param1, char* param2, char* param3)
                fast = 1;
        else
        {
-               A_PRINTF("Error! Unknown command.\n\r");
+               db_unknown_command();
                return -1;
        }
 
@@ -986,15 +954,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;
@@ -1003,7 +969,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;
@@ -1019,47 +985,29 @@ 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;
-       A_UINT32            *val;
+       unsigned long       addr1, addr2;
 
        if (db_ascii_to_hex(param1, &addr1) != -1 && db_ascii_to_hex(param2, &addr2) != -1 && addr1 < addr2 && addr1%4 == 0)
        {
-               A_PRINTF("addr    data     data     data     data     data     data     data     data\n\r");
-               A_PRINTF("======  ======== ======== ======== ======== ======== ======== ======== ========");
-
-               for (i = 0, t_addr = addr1; t_addr < addr2; i++, t_addr += 4)
-               {
-                       if ((i%8) == 0)
-                               A_PRINTF("\n\r%06X  ", t_addr);
-
-                       val = (A_UINT32 *)t_addr;
-                       A_PRINTF("%08X ", *val);
-               }
-
-               A_PRINTF("\n\r");
+               db_print_dump((const char *)addr1, (const char *)addr2);
                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 */