summaryrefslogtreecommitdiff
path: root/src/target/target.c
diff options
context:
space:
mode:
authordrath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2007-04-16 14:58:16 +0000
committerdrath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2007-04-16 14:58:16 +0000
commit04dc98916d9acb57e0f5595534151a24ba4dc684 (patch)
tree3b351f19237f6d15916e392f0304506b48e74b4c /src/target/target.c
parentc62e5b4c233d5ee0bc2066728a5b432f481ad7fe (diff)
downloadopenocd_libswd-04dc98916d9acb57e0f5595534151a24ba4dc684.tar.gz
openocd_libswd-04dc98916d9acb57e0f5595534151a24ba4dc684.tar.bz2
openocd_libswd-04dc98916d9acb57e0f5595534151a24ba4dc684.tar.xz
openocd_libswd-04dc98916d9acb57e0f5595534151a24ba4dc684.zip
- explicitly disable monitor mode on ARM7/9 targets
- added "prepare_reset_halt()" to target_type_t, which allows reset_halt to be prepared before a reset is asserted, possibly preventing communication with the target - arm7/9 devices now use a breakpoint at 0x0 or reset vector catching for debug out of reset git-svn-id: svn://svn.berlios.de/openocd/trunk@141 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/target/target.c')
-rw-r--r--src/target/target.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/target/target.c b/src/target/target.c
index 548ea0c3..050a523e 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -247,7 +247,23 @@ int target_process_reset(struct command_context_s *cmd_ctx)
{
int retval = ERROR_OK;
target_t *target;
-
+
+ /* prepare reset_halt where necessary */
+ target = targets;
+ while (target)
+ {
+ switch (target->reset_mode)
+ {
+ case RESET_HALT:
+ case RESET_INIT:
+ target->type->prepare_reset_halt(target);
+ break;
+ default:
+ break;
+ }
+ target = target->next;
+ }
+
target = targets;
while (target)
{