1
0
mirror of git://projects.qi-hardware.com/xburst-tools.git synced 2024-11-22 18:12:27 +02:00

increate cmd buf size, some code style cleanup

This commit is contained in:
Xiangfu Liu 2011-03-02 10:07:47 +08:00
parent 702b54aa47
commit f685003456
2 changed files with 32 additions and 32 deletions

View File

@ -37,13 +37,13 @@ static int handle_help(void)
{ {
printf( printf(
" boot boot device and make it in stage2\n" " boot boot device and make it in stage2\n"
" nprog program NAND flash\n"
" nquery query NAND flash info\n" " nquery query NAND flash info\n"
" nerase erase NAND flash\n" " nerase erase NAND flash\n"
" nmark mark a bad block in NAND flash\n" " nmark mark a bad block in NAND flash\n"
" nread read NAND flash data with checking bad block and ECC\n" " nread read NAND flash data with checking bad block and ECC\n"
" nreadraw read NAND flash data without checking bad block and ECC\n" " nreadraw read NAND flash data without checking bad block and ECC\n"
" nreadoob read NAND flash oob\n" " nreadoob read NAND flash oob\n"
" nprog program NAND flash\n"
" gpios set one GPIO to high level\n" " gpios set one GPIO to high level\n"
" gpioc set one GPIO to low level\n" " gpioc set one GPIO to low level\n"
" load load file data to SDRAM\n" " load load file data to SDRAM\n"
@ -81,7 +81,7 @@ int handle_nerase(void)
if (nand_erase(&nand_in) < 1) if (nand_erase(&nand_in) < 1)
return -1; return -1;
return 1; return 0;
} }
int handle_nmark(void) int handle_nmark(void)
@ -93,6 +93,7 @@ int handle_nmark(void)
" 3:flash chip index number\n"); " 3:flash chip index number\n");
return -1; return -1;
} }
init_nand_in(); init_nand_in();
nand_in.start = atoi(com_argv[1]); nand_in.start = atoi(com_argv[1]);
@ -105,14 +106,13 @@ int handle_nmark(void)
(nand_in.cs_map)[atoi(com_argv[3])] = 1; (nand_in.cs_map)[atoi(com_argv[3])] = 1;
nand_markbad(&nand_in); nand_markbad(&nand_in);
return 1; return 0;
} }
int handle_memtest(void) int handle_memtest(void)
{ {
unsigned int start, size; unsigned int start, size;
if (com_argc != 2 && com_argc != 4) if (com_argc != 2 && com_argc != 4) {
{
printf(" Usage: memtest (1) [2] [3]\n" printf(" Usage: memtest (1) [2] [3]\n"
" 1:device index number\n" " 1:device index number\n"
" 2:SDRAM start address\n" " 2:SDRAM start address\n"
@ -127,8 +127,9 @@ int handle_memtest(void)
start = 0; start = 0;
size = 0; size = 0;
} }
debug_memory(atoi(com_argv[1]), start, size); debug_memory(atoi(com_argv[1]), start, size);
return 1; return 0;
} }
int handle_gpio(int mode) int handle_gpio(int mode)
@ -142,12 +143,12 @@ int handle_gpio(int mode)
} }
debug_gpio(atoi(com_argv[2]), mode, atoi(com_argv[1])); debug_gpio(atoi(com_argv[2]), mode, atoi(com_argv[1]));
return 1; return 0;
} }
int handle_load(void) int handle_load(void)
{ {
if (com_argc<4) { if (com_argc < 4) {
printf(" Usage:" printf(" Usage:"
" load (1) (2) (3) \n" " load (1) (2) (3) \n"
" 1:SDRAM start address\n" " 1:SDRAM start address\n"
@ -158,21 +159,20 @@ int handle_load(void)
} }
sdram_in.start=strtoul(com_argv[1], NULL, 0); sdram_in.start=strtoul(com_argv[1], NULL, 0);
printf(" start:::::: 0x%x\n", sdram_in.start);
sdram_in.dev = atoi(com_argv[3]); sdram_in.dev = atoi(com_argv[3]);
sdram_in.buf = code_buf; sdram_in.buf = code_buf;
sdram_load_file(&sdram_in, com_argv[2]); sdram_load_file(&sdram_in, com_argv[2]);
return 1; return 0;
} }
int command_handle(char *buf) int command_handle(char *buf)
{ {
if(buf[0] == '\n') char *p = strtok(buf, "\n ");
if(p == NULL)
return 0; return 0;
com_argc = 0; com_argc = 0;
char *p = strtok(buf, "\n ");
strcpy(com_argv[com_argc++], p); strcpy(com_argv[com_argc++], p);
while (p = strtok(NULL, "\n ")) while (p = strtok(NULL, "\n "))
@ -180,6 +180,8 @@ int command_handle(char *buf)
if (!strcmp("boot", com_argv[0])) if (!strcmp("boot", com_argv[0]))
boot(stage1, stage2); boot(stage1, stage2);
else if (!strcmp("nprog", com_argv[0]))
nand_prog();
else if (!strcmp("nquery", com_argv[0])) else if (!strcmp("nquery", com_argv[0]))
nand_query(); nand_query();
else if (!strcmp("nerase", com_argv[0])) else if (!strcmp("nerase", com_argv[0]))
@ -192,8 +194,6 @@ int command_handle(char *buf)
nand_read(NAND_READ_RAW); nand_read(NAND_READ_RAW);
else if (!strcmp("nreadoob", com_argv[0])) else if (!strcmp("nreadoob", com_argv[0]))
nand_read(NAND_READ_OOB); nand_read(NAND_READ_OOB);
else if (!strcmp("nprog", com_argv[0]))
nand_prog();
else if (!strcmp("gpios", com_argv[0])) else if (!strcmp("gpios", com_argv[0]))
handle_gpio(2); handle_gpio(2);
else if (!strcmp("gpioc", com_argv[0])) else if (!strcmp("gpioc", com_argv[0]))
@ -209,7 +209,7 @@ int command_handle(char *buf)
else if (!strcmp("exit", com_argv[0])) else if (!strcmp("exit", com_argv[0]))
return -1; return -1;
else else
printf(" [%s] Not Support!", com_argv[0]); printf(" type `help` show all commands\n", com_argv[0]);
return 0; return 0;
} }

View File

@ -67,11 +67,12 @@ static struct option opts[] = {
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
int command = 0;
char *cptr; char *cptr;
char com_buf[256] = {0};
char *cmdpt; char *cmdpt;
int command = 0;
char cmd_buf[512] = {0};
char *cfgpath = CONFIG_FILE_PATH; char *cfgpath = CONFIG_FILE_PATH;
stage1 = STAGE1_FILE_PATH; stage1 = STAGE1_FILE_PATH;
stage2 = STAGE2_FILE_PATH; stage2 = STAGE2_FILE_PATH;
@ -79,7 +80,6 @@ int main(int argc, char **argv)
"(c) 2009 Ingenic Semiconductor Inc., Qi Hardware Inc., Xiangfu Liu, Marek Lindner\n" "(c) 2009 Ingenic Semiconductor Inc., Qi Hardware Inc., Xiangfu Liu, Marek Lindner\n"
"This program is Free Software and comes with ABSOLUTELY NO WARRANTY.\n\n"); "This program is Free Software and comes with ABSOLUTELY NO WARRANTY.\n\n");
while(1) { while(1) {
int c, option_index = 0; int c, option_index = 0;
c = getopt_long(argc, argv, "hvc:f:1:2:", opts, c = getopt_long(argc, argv, "hvc:f:1:2:", opts,
@ -119,14 +119,16 @@ int main(int argc, char **argv)
if (parse_configure(&hand, cfgpath) < 1) if (parse_configure(&hand, cfgpath) < 1)
return EXIT_FAILURE; return EXIT_FAILURE;
#define MAX_COMMANDS 10
if (command) { /* direct run command */ if (command) { /* direct run command */
char *sub_cmd[10]; char *sub_cmd[MAX_COMMANDS];
int i, loop = 0; int i, loop = 0;
sub_cmd[loop] = strtok(cmdpt, ";"); sub_cmd[loop++] = strtok(cmdpt, ";");
while (sub_cmd[loop] && loop < 10) { while (sub_cmd[loop++] = strtok(NULL, ";"))
loop++; if (loop >= MAX_COMMANDS) {
sub_cmd[loop] = strtok(NULL, ";"); printf(" -c only support 10 commands\n");
break;
} }
for (i = 0; i < loop - 1; i++) { for (i = 0; i < loop - 1; i++) {
@ -137,12 +139,10 @@ int main(int argc, char **argv)
} }
while (1) { while (1) {
printf("usbboot :> "); printf("usbboot# ");
cptr = fgets(com_buf, 256, stdin); cptr = fgets(cmd_buf, sizeof(cmd_buf), stdin);
if (cptr == NULL) if (cptr != NULL)
continue; if (command_handle(cmd_buf))
if (command_handle(com_buf))
break; break;
} }