diff options
author | oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-03-24 11:27:49 +0000 |
---|---|---|
committer | oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2009-03-24 11:27:49 +0000 |
commit | f7f37ea289f837077fd41f549ec367e597d64251 (patch) | |
tree | 80d1d2914d54a1302f9e73c8166a0e90b1a52cf3 /src/target | |
parent | 9d3d3297aef0fcfb170e9b645d456e10e6097e5f (diff) | |
download | openocd+libswd-f7f37ea289f837077fd41f549ec367e597d64251.tar.gz openocd+libswd-f7f37ea289f837077fd41f549ec367e597d64251.tar.bz2 openocd+libswd-f7f37ea289f837077fd41f549ec367e597d64251.tar.xz openocd+libswd-f7f37ea289f837077fd41f549ec367e597d64251.zip |
Hiroshi Ito <ito@mlb.co.jp> Linux for arm has arm generic debug option which send debug messages via
DCC channel.
git-svn-id: svn://svn.berlios.de/openocd/trunk@1432 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/target')
-rw-r--r-- | src/target/target_request.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/target/target_request.c b/src/target/target_request.c index b266fea5..9c8551f5 100644 --- a/src/target/target_request.c +++ b/src/target/target_request.c @@ -39,6 +39,7 @@ #include <string.h> command_t *target_request_cmd = NULL; +static int charmsg_mode = 0; int target_asciimsg(target_t *target, u32 length) { @@ -119,7 +120,11 @@ int target_hexmsg(target_t *target, int size, u32 length) int target_request(target_t *target, u32 request) { target_req_cmd_t target_req_cmd = request & 0xff; - + + if ( charmsg_mode ) { + target_charmsg(target, target_req_cmd ); + return ERROR_OK; + } switch (target_req_cmd) { case TARGET_REQ_TRACEMSG: @@ -268,7 +273,7 @@ int handle_target_request_debugmsgs_command(struct command_context_s *cmd_ctx, c if (argc > 0) { - if (!strcmp(args[0], "enable")) + if (!strcmp(args[0], "enable") || !strcmp(args[0], "charmsg")) { /* don't register if this command context is already receiving */ if (!receiving) @@ -276,6 +281,7 @@ int handle_target_request_debugmsgs_command(struct command_context_s *cmd_ctx, c receiving = 1; add_debug_msg_receiver(cmd_ctx, target); } + charmsg_mode = !strcmp(args[0], "charmsg"); } else if (!strcmp(args[0], "disable")) { @@ -288,13 +294,12 @@ int handle_target_request_debugmsgs_command(struct command_context_s *cmd_ctx, c } else { - command_print(cmd_ctx, "usage: target_request debugmsgs ['enable'|'disable']"); + command_print(cmd_ctx, "usage: target_request debugmsgs ['enable'|'disable'|'charmsg']"); } } command_print(cmd_ctx, "receiving debug messages from current target %s", - (receiving) ? "enabled" : "disabled"); - + (receiving) ? (charmsg_mode?"charmsg":"enabled") : "disabled" ); return ERROR_OK; } |