summaryrefslogtreecommitdiff
path: root/src/target/target.c
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-07-18 14:43:29 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-07-18 14:43:29 +0000
commit35e84a2a254b20b6a67b716fe967d9227fc80858 (patch)
tree19b00e2ea3978c611f57639c168066e4b545119f /src/target/target.c
parent2c3f0ebae9499a70314ba4520099d0006eb8e7fe (diff)
downloadopenocd+libswd-35e84a2a254b20b6a67b716fe967d9227fc80858.tar.gz
openocd+libswd-35e84a2a254b20b6a67b716fe967d9227fc80858.tar.bz2
openocd+libswd-35e84a2a254b20b6a67b716fe967d9227fc80858.tar.xz
openocd+libswd-35e84a2a254b20b6a67b716fe967d9227fc80858.zip
"reset" without arguments now execute a "reset run".
the reset mode argument to the target command is deprecated(ignored w/error message). git-svn-id: svn://svn.berlios.de/openocd/trunk@832 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/target/target.c')
-rw-r--r--src/target/target.c35
1 files changed, 22 insertions, 13 deletions
diff --git a/src/target/target.c b/src/target/target.c
index 1c3e0ad2..0a528057 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -302,6 +302,8 @@ int target_process_reset(struct command_context_s *cmd_ctx)
if ((retval = jtag_init_reset(cmd_ctx)) != ERROR_OK)
return retval;
+ keep_alive(); /* we might be running on a very slow JTAG clk */
+
/* First time this is executed after launching OpenOCD, it will read out
* the type of CPU, etc. and init Embedded ICE registers in host
* memory.
@@ -315,6 +317,8 @@ int target_process_reset(struct command_context_s *cmd_ctx)
if ((retval = target_examine(cmd_ctx)) != ERROR_OK)
return retval;
+ keep_alive(); /* we might be running on a very slow JTAG clk */
+
/* prepare reset_halt where necessary */
target = targets;
while (target)
@@ -949,6 +953,7 @@ int target_register_commands(struct command_context_s *cmd_ctx)
register_command(cmd_ctx, NULL, "virt2phys", handle_virt2phys_command, COMMAND_ANY, "virt2phys <virtual address>");
register_command(cmd_ctx, NULL, "profile", handle_profile_command, COMMAND_EXEC, "PRELIMINARY! - profile <seconds> <gmon.out>");
+
/* script procedures */
register_jim(cmd_ctx, "openocd_mem2array", jim_mem2array, "read memory and return as a TCL array for script processing");
register_jim(cmd_ctx, "openocd_array2mem", jim_array2mem, "convert a TCL array to memory locations and write the values");
@@ -1413,18 +1418,26 @@ int handle_target_command(struct command_context_s *cmd_ctx, char *cmd, char **a
return ERROR_COMMAND_SYNTAX_ERROR;
}
- /* what to do on a target reset */
- (*last_target_p)->reset_mode = RESET_INIT; /* default */
if (strcmp(args[2], "reset_halt") == 0)
- (*last_target_p)->reset_mode = RESET_HALT;
+ {
+ LOG_WARNING("reset_mode argument is deprecated. reset_mode = reset_run");
+ }
else if (strcmp(args[2], "reset_run") == 0)
- (*last_target_p)->reset_mode = RESET_RUN;
+ {
+ LOG_WARNING("reset_mode argument is deprecated. reset_mode = reset_run");
+ }
else if (strcmp(args[2], "reset_init") == 0)
- (*last_target_p)->reset_mode = RESET_INIT;
+ {
+ LOG_WARNING("reset_mode argument is deprecated. reset_mode = reset_run");
+ }
else if (strcmp(args[2], "run_and_halt") == 0)
- (*last_target_p)->reset_mode = RESET_RUN_AND_HALT;
+ {
+ LOG_WARNING("reset_mode argument is deprecated. reset_mode = reset_run");
+ }
else if (strcmp(args[2], "run_and_init") == 0)
- (*last_target_p)->reset_mode = RESET_RUN_AND_INIT;
+ {
+ LOG_WARNING("reset_mode argument is deprecated. reset_mode = reset_run");
+ }
else
{
/* Kludge! we want to make this reset arg optional while remaining compatible! */
@@ -1800,8 +1813,7 @@ int handle_soft_reset_halt_command(struct command_context_s *cmd_ctx, char *cmd,
int handle_reset_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
target_t *target = get_current_target(cmd_ctx);
- enum target_reset_mode reset_mode = target->reset_mode;
- enum target_reset_mode save = target->reset_mode;
+ enum target_reset_mode reset_mode = RESET_RUN;
LOG_DEBUG("-");
@@ -1842,9 +1854,6 @@ int handle_reset_command(struct command_context_s *cmd_ctx, char *cmd, char **ar
/* reset *all* targets */
target_process_reset(cmd_ctx);
- /* Restore default reset mode for this target */
- target->reset_mode = save;
-
return ERROR_OK;
}
@@ -2862,7 +2871,7 @@ static int jim_array2mem(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
u32 v;
const char *varname;
u8 buffer[4096];
- int i, n, e, retval;
+ int i, n, e, retval;
/* argv[1] = name of array to get the data
* argv[2] = desired width