.cfg files are now executed as Jim Tcl. Commands that terminate script w/error message.
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Fri, 11 Jul 2008 09:06:36 +0000 (09:06 +0000)
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Fri, 11 Jul 2008 09:06:36 +0000 (09:06 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@790 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/helper/command.c
src/helper/command.h
src/helper/interpreter.c
src/helper/options.c
src/target/target/at91eb40a.cfg

index 79d64ba7d6472f5743e91d17a063c79b43437253..6acd53c1e650c014026dfc85c5ed21c1d68ed218 100644 (file)
@@ -474,59 +474,6 @@ int command_run_line(command_context_t *context, char *line)
        return jim_command(context, line);
 }
 
-int command_run_file(command_context_t *context, FILE *file, enum command_mode mode)
-{
-       int retval = ERROR_OK;
-       int old_command_mode;
-       char *buffer=malloc(4096);
-       if (buffer==NULL)
-       {
-               return ERROR_INVALID_ARGUMENTS;
-       }
-       
-       old_command_mode = context->mode;
-       context->mode = mode;
-       
-       while (fgets(buffer, 4096, file))
-       {
-               char *p;
-               char *cmd, *end;
-               
-               /* stop processing line after a comment (#, !) or a LF, CR were encountered */
-               if ((p = strpbrk(buffer, "#!\r\n")))
-                       *p = 0;
-
-               /* skip over leading whitespace */
-               cmd = buffer;
-               while (isspace(*cmd))
-                       cmd++;
-
-               /* empty (all whitespace) line? */
-               if (!*cmd)
-                       continue;
-               
-               /* search the end of the current line, ignore trailing whitespace */
-               for (p = end = cmd; *p; p++)
-                       if (!isspace(*p))
-                               end = p;
-               
-               /* terminate end */
-               *++end = 0;
-               if (strcasecmp(cmd, "quit") == 0)
-                       break;
-
-               /* run line */
-               if ((retval = command_run_line(context, cmd)) == ERROR_COMMAND_CLOSE_CONNECTION)
-                       break;
-       }
-       
-       context->mode = old_command_mode;
-
-       
-       free(buffer);
-       
-       return retval;
-}
 
 int command_run_linef(command_context_t *context, char *format, ...)
 {
index ea3383e38802bcb78c4dcb861d18ded29a02c302..6a1da02410fa36ec6bb21418110af4cb8914d3e4 100644 (file)
@@ -76,7 +76,6 @@ extern void command_print_sameline(command_context_t *context, char *format, ...
 extern int command_run_line(command_context_t *context, char *line);
 extern int command_run_linef(command_context_t *context, char *format, ...);
 extern int command_run_line_internal(command_context_t *context, char *line);
-extern int command_run_file(command_context_t *context, FILE *file, enum command_mode mode);
 extern void command_output_text(command_context_t *context, const char *data);
 
 #define                ERROR_COMMAND_CLOSE_CONNECTION          (-600)
index 186d992e3cb48f1d38d46e9da3d4a40b00aac5be..8dbb790922c2ab5c6086b910803ece20cc47b890 100644 (file)
@@ -221,17 +221,7 @@ int handle_script_command(struct command_context_s *cmd_ctx, char *cmd, char **a
        if (argc != 1)
                return ERROR_COMMAND_SYNTAX_ERROR;
 
-       script_file = open_file_from_path (args[0], "r");
-
-       if (!script_file)
-       {
-               command_print(cmd_ctx, "couldn't open script file %s", args[0]);
-               return ERROR_OK;
-       }
        
-       command_run_file(cmd_ctx, script_file, cmd_ctx->mode);
-       
-       fclose(script_file);
-
-       return ERROR_OK;
+       /* Run a tcl script file */
+       return command_run_linef(cmd_ctx, "source [find {%s}]", args[0]);
 }
index f62ab16b2b6f9922538048b6d90876515ab8fbfb..5ec558cfe01c7c6d8713be5692f2bcf0a7568070 100644 (file)
@@ -110,15 +110,7 @@ int parse_cmdline_args(struct command_context_s *cmd_ctx, int argc, char *argv[]
                                break;
                        case 'f':       /* --file | -f */
                        {
-                               char *t=strrchr(optarg, '.');
-                               if (strcmp(t, ".tcl")==0)
-                               {
-                                       /* Files ending in .tcl are executed as Tcl files */
-                                       snprintf(command_buffer, 128, "source [find {%s}]", optarg);
-                               } else
-                               {
-                                       snprintf(command_buffer, 128, "script %s", optarg);
-                               }
+                               snprintf(command_buffer, 128, "script %s", optarg);
                                add_config_command(command_buffer);
                                break;
                        }
index 4fee88d8f1e764d23b7d3acce7d785134ddb2048..2ca15d9115fe38805350b5ffc24a5cf0b85838e8 100644 (file)
@@ -20,9 +20,6 @@ target arm7tdmi little 0 arm7tdmi-s_r4
 arm7 fast_memory_access enable
 arm7_9 dcc_downloads enable
 
-# OpenOCD does not have a flash driver for for AT91FR40162S 
-target_script 0 reset event/at91eb40a_reset.script
-
 #flash driver
 flash bank ecosflash 0x01000000 0x200000 2 2 0 ecos/at91eb40a.elf
 
@@ -34,3 +31,25 @@ working_area 0 0x00000000 0x20000 nobackup
 #often than not. The user can disable this in his
 #subsequent config script.
 arm7_9 force_hw_bkpts enable
+
+set reset_count 0
+
+proc target_reset_0 {} {
+       global reset_count
+       # Reset script for AT91EB40a
+       reg cpsr 0x000000D3
+       mww 0xFFE00020 0x1
+       mww 0xFFE00024 0x00000000  
+       mww 0xFFE00000 0x01002539 
+       mww 0xFFFFF124 0xFFFFFFFF  
+       mww 0xffff0010 0x100
+       mww 0xffff0034 0x100
+       set reset_count [expr $reset_count+1]
+       echo "Testing reset $reset_count !"
+}
+
+proc target_pre_reset_0 {} {
+       global reset_count
+       set reset_count [expr $reset_count+1]
+       echo "Testing pre_reset $reset_count !"
+}

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)