On Sun, 1 Mar 2009, Øyvind Harboe wrote:
> Please verify that all patches were committed correctly.
Yes, thanks.
Now I have another problem with the current code when it comes to reset
and halt. There used to be a time when the halt command didn't imply
wait_halt. now wait_halt is unconditional and this prevents me from
reliably halt the system from the very start. On Feroceon' things go
like:
- assert nSRST
- set DBGRQ (no change on DBGACK expected)
- release nSRST
- only now DBGACK gets set
So for the "reset init" or "reset halt" commands, I'd need something
like:
jtag_reset 0 1
halt -1
jtag_reset 0 0
wait_halt
See patch below. Any suggestion as to how this should properly be
supported?
diff --git a/src/target/board/sheevaplug.cfg b/src/target/board/sheevaplug.cfg
index e9c6832..4782e29 100644
--- a/src/target/board/sheevaplug.cfg
+++ b/src/target/board/sheevaplug.cfg
@@ -17,6 +17,11 @@ nand device orion 0 0xd8000000
proc sheevaplug_init { } {
+ jtag_reset 0 1
+ halt -1
+ jtag_reset 0 0
+ wait_halt
+
arm926ejs cp15 0 0 1 0 0x00052078
mww 0xD0001400 0x43000C30 # DDR SDRAM Configuration Register
diff --git a/src/target/target.c b/src/target/target.c
index 70660e3..5ab6196 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -1757,6 +1757,9 @@ int handle_halt_command(struct command_context_s
*cmd_ctx, char *cmd, char **arg
return retval;
}
+ if (argc == 1 && strcmp(args[0], "-1") == 0)
+ return ERROR_OK;
+
return handle_wait_halt_command(cmd_ctx, cmd, args, argc);
}
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development