This is an automated email from Gerrit.

Kamal Dasu ([email protected]) just uploaded a new patch set to Gerrit, 
which you can find at http://openocd.zylin.com/2129

-- gerrit

commit c37e4bb64e093cf013ca2abff5b72e6298001e9f
Author: Kamal Dasu <[email protected]>
Date:   Thu Feb 20 17:46:42 2014 -0500

    Openocd: svf: Add ability to ignore svf_check_tdo errors
    
    Added Openocd commandline argument to ignore_error when the
    read back TDO does not match to expected value specified with
    TDO after masking with what is specified in MASK. This allows
    to continue to play entire SVF file ignoring errors.
    Error logs clearly show the failure reason and prints
    read back TDO value.
    
    Change-Id: I324f476fc16a003b35e6f2c5b63976431f49d54a
    Signed-off-by: Kamal Dasu <[email protected]>

diff --git a/src/svf/svf.c b/src/svf/svf.c
index ac7c2c6..11e46ee 100644
--- a/src/svf/svf.c
+++ b/src/svf/svf.c
@@ -230,6 +230,7 @@ static uint8_t *svf_tdi_buffer, *svf_tdo_buffer, 
*svf_mask_buffer;
 static int svf_buffer_index, svf_buffer_size ;
 static int svf_quiet;
 static int svf_nil;
+static int svf_ignore_error;
 
 /* Targetting particular tap */
 static int svf_tap_is_specified;
@@ -373,6 +374,7 @@ COMMAND_HANDLER(handle_svf_command)
        /* parse command line */
        svf_quiet = 0;
        svf_nil = 0;
+       svf_ignore_error = 0;
        for (unsigned int i = 0; i < CMD_ARGC; i++) {
                if (strcmp(CMD_ARGV[i], "-tap") == 0) {
                        tap = jtag_tap_by_string(CMD_ARGV[i+1]);
@@ -389,6 +391,9 @@ COMMAND_HANDLER(handle_svf_command)
                else if ((strcmp(CMD_ARGV[i],
                                  "progress") == 0) || (strcmp(CMD_ARGV[i], 
"-progress") == 0))
                        svf_progress_enabled = 1;
+               else if ((strcmp(CMD_ARGV[i],
+                                 "ignore_error") == 0) || (strcmp(CMD_ARGV[i], 
"-ignore_error") == 0))
+                       svf_ignore_error = 1;
                else {
                        svf_fd = fopen(CMD_ARGV[i], "r");
                        if (svf_fd == NULL) {
@@ -572,11 +577,14 @@ free_all:
 
        if (ERROR_OK == ret)
                command_print(CMD_CTX,
-                       "svf file programmed successfully for %d commands",
-                       command_num);
+                             "svf file programmed %s for %d commands with %d 
errors",
+                             (svf_ignore_error > 1) ? "unsuccessfully" : 
"successfully",
+                             command_num,
+                             (svf_ignore_error > 1) ? (svf_ignore_error - 1) : 
0);
        else
                command_print(CMD_CTX, "svf file programmed failed");
 
+       svf_ignore_error = 0;
        return ret;
 }
 
@@ -860,7 +868,11 @@ static int svf_check_tdo(void)
                        SVF_BUF_LOG(ERROR, &svf_tdi_buffer[index_var], len, 
"READ");
                        SVF_BUF_LOG(ERROR, &svf_tdo_buffer[index_var], len, 
"WANT");
                        SVF_BUF_LOG(ERROR, &svf_mask_buffer[index_var], len, 
"MASK");
-                       return ERROR_FAIL;
+
+                       if (svf_ignore_error == 0)
+                               return ERROR_FAIL;
+                       else
+                               svf_ignore_error++;
                }
        }
        svf_check_tdo_para_index = 0;
@@ -1539,7 +1551,7 @@ static const struct command_registration 
svf_command_handlers[] = {
                .handler = handle_svf_command,
                .mode = COMMAND_EXEC,
                .help = "Runs a SVF file.",
-               .usage = "svf [-tap device.tap] <file> [quiet] [nil] 
[progress]",
+               .usage = "svf [-tap device.tap] <file> [quiet] [nil] [progress] 
[ignore_error]",
        },
        COMMAND_REGISTRATION_DONE
 };

-- 

------------------------------------------------------------------------------
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
&#149; 3 signs your SCM is hindering your productivity
&#149; Requirements for releasing software faster
&#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to