This is an automated email from Gerrit.

Александр Осипенко ([email protected]) just uploaded a new patch set to Gerrit, 
which you can find at http://openocd.zylin.com/666

-- gerrit

commit f87158cceb6d0e18674b2c998405b18598557e8e
Author: Alexander Osipenko <[email protected]>
Date:   Thu May 24 16:04:34 2012 +0400

    J-Link Unsupported firmware version check
    
    OpenOCD does not work with the latest firmware versions
    of Segger J-Link.
    
    Latest working version: V4.42c
    Unsupported versions: 4.44 to 4.46f, 4.20 to 4.30
    
    Older versions of firmware can be found here:
      http://www.segger.com/j-link-older-versions.html
    
    The firmware versions does not correspond directly with
    "Software and documentation pack for Windows", it may be
    distinguished by the "compile" date in the information string.
    
    Print an warning message if unsupported firmware version detected.
    
    Change-Id: Id7d1f965b8ce2fdbcd0026a85ddd093e2fa48720
    Signed-off-by: Alexander Osipenko <[email protected]>

diff --git a/src/jtag/drivers/jlink.c b/src/jtag/drivers/jlink.c
index 35c1a5c..03fa46a 100644
--- a/src/jtag/drivers/jlink.c
+++ b/src/jtag/drivers/jlink.c
@@ -738,6 +738,26 @@ static int jlink_set_config(struct jlink_config *cfg)
        return ERROR_OK;
 }
 
+/* List of unsupported version string markers */
+static const char * const unsupported_versions[] = {
+"Mar 19 2012", /* V4.44 */
+"May  3 2012", /* V4.46 "J-Link ARM V8 compiled May  3 2012 18:36:22" */
+0 };
+
+static void jlink_check_supported(const char *str)
+{
+       const char **p = unsupported_versions;
+       while (*p) {
+               if (NULL != strstr(str, *p)) {
+                       LOG_WARNING(
+                       "Unsupported J-Link firmware version.\n"
+                       "       Please check 
http://www.segger.com/j-link-older-versions.html for updates");
+                       return;
+               }
+               p++;
+       }
+}
+
 static int jlink_get_version_info(void)
 {
        int result;
@@ -767,6 +787,7 @@ static int jlink_get_version_info(void)
 
        usb_in_buffer[result] = 0;
        LOG_INFO("%s", (char *)usb_in_buffer);
+       jlink_check_supported((char *)usb_in_buffer);
 
        /* query hardware capabilities */
        jlink_simple_command(EMU_CMD_GET_CAPS);

-- 

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to