+/*
+ * Copyright (c) 2013 Qualcomm Atheros, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted (subject to the limitations in the
+ * disclaimer below) provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * Neither the name of Qualcomm Atheros nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+ * GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+ * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
#include "sys_cfg.h"
#include "athos_api.h"
}
}
- if(strlen(cmd_buffer[cmd_buf_loc]) != 0)
+ if (A_STRLEN(cmd_buffer[cmd_buf_loc]) != 0)
{
- strcpy(cmd_line, cmd_buffer[cmd_buf_loc]);
- *i = strlen(cmd_buffer[cmd_buf_loc]);
+ A_STRCPY(cmd_line, cmd_buffer[cmd_buf_loc]);
+ *i = A_STRLEN(cmd_buffer[cmd_buf_loc]);
zm_uart_send("\r>", 2);
zm_uart_send(cmd_line, *i);
}
//Filter duplicated string in command history
if (strcmp(cmd_buffer[(cmd_buf_ptr==0)?(COMMAND_BUFFER_SIZE-1):(cmd_buf_ptr-1)], cmd_line) != 0)
{
- strcpy(cmd_buffer[cmd_buf_ptr++], cmd_line);
+ A_STRCPY(cmd_buffer[cmd_buf_ptr++], cmd_line);
}
}
if (cmd_buf_ptr >= COMMAND_BUFFER_SIZE)
}
cmd_str[k*DB_MAX_COMMAND_LENGTH + j] = 0;
}
- return (int)strlen(cmd_str);
+ return (int)A_STRLEN(cmd_str);
}
int db_ascii_to_hex(char* num_str, unsigned long* hex_num)
i = 0;
- zm_uart_send(ATH_DEBUGGER_VERSION_STR, strlen(ATH_DEBUGGER_VERSION_STR));
- zm_uart_send(ATH_COMMAND_LIST_STR, strlen(ATH_COMMAND_LIST_STR));
+ zm_uart_send(ATH_DEBUGGER_VERSION_STR,
+ A_STRLEN(ATH_DEBUGGER_VERSION_STR));
+ zm_uart_send(ATH_COMMAND_LIST_STR,
+ A_STRLEN(ATH_COMMAND_LIST_STR));
while (command_table[i].cmd_func)
{
- zm_uart_send(command_table[i].cmd_str, strlen(command_table[i].cmd_str));
+ zm_uart_send(command_table[i].cmd_str,
+ A_STRLEN(command_table[i].cmd_str));
zm_uart_send("\t", 1);
- zm_uart_send(command_table[i].help_str, strlen(command_table[i].help_str));
+ zm_uart_send(command_table[i].help_str,
+ A_STRLEN(command_table[i].help_str));
zm_uart_send("\n\r", 2);
i++;
}
db_hex_to_ascii(val, val_str);
db_hex_to_ascii(addr, addr_str);
- zm_uart_send(addr_str, strlen(addr_str));
+ zm_uart_send(addr_str, A_STRLEN(addr_str));
zm_uart_send(" : ", 3);
- zm_uart_send(val_str, strlen(val_str));
+ zm_uart_send(val_str, A_STRLEN(val_str));
zm_uart_send("\n\r", 2);
return 0;
char val_str[20];
char addr_str[20];
- if ((strlen(param2) > 0) &&
+ if ((A_STRLEN(param2) > 0) &&
(db_ascii_to_hex(param1, &addr) != -1) &&
(db_ascii_to_hex(param2, &val) != -1))
{
db_hex_to_ascii(val, val_str);
db_hex_to_ascii(addr, addr_str);
- zm_uart_send(addr_str, strlen(addr_str));
+ zm_uart_send(addr_str, A_STRLEN(addr_str));
zm_uart_send(" : ", 3);
- zm_uart_send(val_str, strlen(val_str));
+ zm_uart_send(val_str, A_STRLEN(val_str));
zm_uart_send("\n\r", 2);
return 0;
uint32_t delay = 0;
-LOCAL void cb_tick()
-{
- ;
-}
-
-
int db_intr_cmd(char* cmd, char* param1, char* param2, char* param3)
{
#if SYSTEM_MODULE_INTR
if (strcmp(param2, "on") == 0 )
{
- A_ATTACH_ISR(A_INUM_XTTIMER, cb_tick, NULL);
-
+ /* TODO: this part is probably dead. */
pending_intrs = A_INTR_GET_INTRENABLE()|CMNOS_IMASK_XTTIMER;
A_INTR_SET_INTRENABLE(pending_intrs);
A_PRINTF("- intr [0x%08x]\n\r", pending_intrs);
{
A_ALLOCRAM_DEBUG();
}
-#if SYSTEM_MODULE_SYS_MONITOR
+#if 0 /* TODO: SYSTEM_MODULE_SYS_MONITOR depends on _ROM_ or _RAM_ which
+ * is dead too */
else if(strcmp(param1, "cpu") == 0)
zfPrintCpuUtilization();
#endif